Feature: Pass fission source between depletion steps
When running successive transport simulations for depletion, OpenMC currently starts each new solution with a "fresh" fission source, either uniformly distributed or defined by the user. It could be advantageous to use the fission source from the previous transport solution as the initial guess. If the depletion step is small enough, the source might not change dramatically between steps and thus you could reduce the number of inactive cycles at later points. This was inspired by a similar Serpent setting that allows just this behavior.
With respect to the implementation, we already modify the particles setting when using the SIE integrator
https://github.com/openmc-dev/openmc/blob/10402760fe3f4906d081ae8bb6d6653163a045bc/openmc/deplete/abc.py#L982-L986
so I feel pretty confident we could do the same with settings.inactive
I'm not sure where the best place to put the fission source passing though. One place to look would be during Operator.__call__, where we prep OpenMC for a new simulation
https://github.com/openmc-dev/openmc/blob/ac8dd925d4da711c6611601da45a1f78af1db996/openmc/deplete/operator.py#L292-L295
The sticky point is how simply provide this feature without having the user turn it on both for the Operator and the Integrator. If we define the setting on the Operator, we can pass an argument to openmc.lib.reset indicating the fission source should not be wiped. Then the Integrator can look at the settings and determine, for later steps, how to adjust the inactive cycles. If at all.
We can also have openmc dump the source to a file, and then read that back in for the later steps. Probably not super ideal, but a quick first pass.
Just wanted to add that this general feature (ability to use source from previous simulation for another one) would be advantageous for multiphysics coupling as well.