New abstract class openmc.deplete.integrate.Integrator
and concrete CECMIntegrator for performing depletion
analysis. Concrete classes only have to implement the
__call__ method responsible for performing the time
integration across a time interval. The abstract base class
is responsible for iterating through all time steps, collecting
and writing results to file, and executing intermediate transport
solutions.
Remove one validation check, that the passed item is a
dict of strings. The check is covered when every key is
inspected to ensure all parents exist in the chain
Work with the test chain with isotopes A, B, C to make
minor modifications to a depletion chain.
Work with the "reference chain" at tests/chain_simple.xml to
check inference of ground state, non-construction of
reactions that dont' exist.
Before modifying the existing Chain, ensure that all desired
products exist. Otherwise, the Chain will be unable to build
a depletion matrix in Chain.form_matrix
Added an optional argument, strict, that controls the error/print
control. If strict, then an KeyError will be raised at the first
parent or product that does not exist in the chain. Otherwise,
messages will be printed at the end.
Related to #1237.
openmc.deplete.Chain.set_capture_branches takes in
a dictionary of parent nuclide names to {daughter: ratio}, e.g.
{"Am241": {"Am242": 0.9, "Am242_m1": 0.1}}
that will be used to overwrite existing capture
reactions with new branching ratios.
openmc.deplete.Chain.get_capture_branches returns a
similar dictionary of capture reactions with multiple targets
and their branching ratios.
Function openmc.model.funcs.pin has replaced the class-based
openmc.model.pin.Pin
Subdivision functionality is maintained by passing a dictionary
of integer ring indexes -> number of divisions to the function
Tests have been updated accordingly and are parametrized
against surface type: X, Y, and Z cylinders
Closes#1280 by reading the temperature from an xml
subelement as it is written, not an attribute.
Added loading of temperature and volume material attributes
from xml in unit test
rate_helper responsible for passing reaction rates
onto the operator, while energy_helper is responsible
for computing the actual fission energy produced in each
material
The TallyHelperBase class has been split into two
abstract classes: ReactionRateHelper and FissionEnergyHelper.
The former is responsible for creating reaction rates
for all materials, given nuclides with non-zero densities from
the Operator.
The latter is responsible for producing recoverable fission
energy for each nuclide in each material tracked.
Two concrete classes are included to make the Operator functional.
These can be imported from openmc/deplete/helpers.py.
First, the DirectRxnRateHelper preserves the old mode for
directly tallying one-group reaction rates using the OpenMC C API.
The second, ChainFissHelper, generates the fission energy
vector from the chain data from before.
Update results list unit test to ensure that the
correct uncertainties are pulled from the depletion_results file
Update basic integrator unit test to test writing and retrieving
eigenvalues and associated uncertainties