- Syntax improvements and fixes
- removed `flux` parameter from Integrator
- Moved generate_1g_cross_sections to a top level function in
flux_operator.py
- changed normalization modes: constant-flux -> source-rate;
constant-power -> fission-q
- fixed regression tests (fission-q reference solution was bad before,
but is now much more reasonable and comparable to the source-rate
reference solution)
- added `nuc_units` parameter to the `from_nuclides` method.
- docstring fixes
- RST doc fixes
- spelling fixes
Users can pass a string or callable function to the Integrator
construction to configure the depletion solver, defaulting to
CRAM48. Supported strings are "cram16" and "cram48". Callables are
passed to the new solver attribute, and must accept three input
arguments for A, n0, and dt. Functions are expected to return
an array of compositions for this material.
Imports of CRAM48 and CRAM16 are delayed until inside the class
since the cram module imports from abc and can lead to a circular
import.
The LEQI-type integrators are the only ones that need the current
depletion index. All other integrators now display the same
_i=None for this index in the call signature, and denote the
variable as optional and unused in the docstring
Much of the previous API is intact, with the major change
being CRAM functions are imported from openmc.deplete.cram
in the test_deplete_cram.
The integrator abstract classes are placed in
openmc/deplete/abc.py with all concrete classes going in to
openmc/deplete/integrators.py
Documentation updated accordingly