openmc.deplete.IndependentOperator¶
- class openmc.deplete.IndependentOperator(materials, micro_xs, chain_file=None, keff=None, normalization_mode='fission-q', fission_q=None, dilute_initial=1000.0, prev_results=None, reduce_chain=False, reduce_chain_level=None, fission_yield_opts=None)[source]¶
Transport-independent transport operator that uses one-group cross sections to calculate reaction rates.
Instances of this class can be used to perform depletion using one-group cross sections and constant flux or constant power. Normally, a user needn’t call methods of this class directly. Instead, an instance of this class is passed to an integrator class, such as
openmc.deplete.CECMIntegrator
.New in version 0.13.1.
- Parameters
materials (openmc.Materials) – Materials to deplete.
micro_xs (MicroXS) – One-group microscopic cross sections in [b] .
chain_file (str) – Path to the depletion chain XML file. Defaults to
openmc.config['chain_file']
.keff (2-tuple of float, optional) – keff eigenvalue and uncertainty from transport calculation. Default is None.
prev_results (Results, optional) – Results from a previous depletion calculation.
normalization_mode ({"fission-q", "source-rate"}) – Indicate how reaction rates should be calculated.
"fission-q"
uses the fission Q values from the depletion chain to compute the flux based on the power."source-rate"
uses a the source rate (assumed to be neutron flux) to calculate the reaction rates.fission_q (dict, optional) – Dictionary of nuclides and their fission Q values [eV]. If not given, values will be pulled from the
chain_file
. Only applicable if"normalization_mode" == "fission-q"
.dilute_initial (float, optional) – Initial atom density [atoms/cm^3] to add for nuclides that are zero in initial condition to ensure they exist in the decay chain. Only done for nuclides with reaction rates.
reduce_chain (bool, optional) – If True, use
openmc.deplete.Chain.reduce()
to reduce the depletion chain up toreduce_chain_level
.reduce_chain_level (int, optional) – Depth of the search when reducing the depletion chain. Only used if
reduce_chain
evaluates to true. The default value ofNone
implies no limit on the depth.fission_yield_opts (dict of str to option, optional) – Optional arguments to pass to the
openmc.deplete.helpers.FissionYieldHelper
object. Will be passed directly on to the helper. Passing a value of None will use the defaults for the associated helper.
- Variables
materials (openmc.Materials) – All materials present in the model
cross_sections (MicroXS) – Object containing one-group cross-sections in [cm^2].
dilute_initial (float) – Initial atom density [atoms/cm^3] to add for nuclides that are zero in initial condition to ensure they exist in the decay chain. Only done for nuclides with reaction rates.
output_dir (pathlib.Path) – Path to output directory to save results.
round_number (bool) – Whether or not to round output to OpenMC to 8 digits. Useful in testing, as OpenMC is incredibly sensitive to exact values.
number (openmc.deplete.AtomNumber) – Total number of atoms in simulation.
nuclides_with_data (set of str) – A set listing all unique nuclides available from cross_sections.xml.
chain (openmc.deplete.Chain) – The depletion chain information necessary to form matrices and tallies.
reaction_rates (openmc.deplete.ReactionRates) – Reaction rates from the last operator step.
burnable_mats (list of str) – All burnable material IDs
heavy_metal (float) – Initial heavy metal inventory [g]
local_mats (list of str) – All burnable material IDs being managed by a single process
prev_res (Results or None) – Results from a previous depletion calculation.
None
if no results are to be used.
- __call__(vec, source_rate)[source]¶
Obtain the reaction rates
- Parameters
vec (list of numpy.ndarray) – Total atoms to be used in function.
source_rate (float) – Power in [W] or flux in [neutron/cm^2-s]
- Returns
Eigenvalue and reaction rates resulting from transport operator
- Return type
- classmethod from_nuclides(volume, nuclides, micro_xs, chain_file, nuc_units='atom/b-cm', keff=None, normalization_mode='fission-q', fission_q=None, dilute_initial=1000.0, prev_results=None, reduce_chain=False, reduce_chain_level=None, fission_yield_opts=None)[source]¶
Alternate constructor from a dictionary of nuclide concentrations
- volumefloat
Volume of the material being depleted in [cm^3]
- nuclidesdict of str to float
Dictionary with nuclide names as keys and nuclide concentrations as values.
- micro_xsMicroXS
One-group microscopic cross sections.
- chain_filestr
Path to the depletion chain XML file.
- nuc_units{‘atom/cm3’, ‘atom/b-cm’}
Units for nuclide concentration.
- keff2-tuple of float, optional
keff eigenvalue and uncertainty from transport calculation. Default is None.
- normalization_mode{“fission-q”, “source-rate”}
Indicate how reaction rates should be calculated.
"fission-q"
uses the fission Q values from the depletion chain to compute the flux based on the power."source-rate"
uses the source rate (assumed to be neutron flux) to calculate the reaction rates.- fission_qdict, optional
Dictionary of nuclides and their fission Q values [eV]. If not given, values will be pulled from the
chain_file
. Only applicable if"normalization_mode" == "fission-q"
.- dilute_initialfloat
Initial atom density [atoms/cm^3] to add for nuclides that are zero in initial condition to ensure they exist in the decay chain. Only done for nuclides with reaction rates.
- prev_resultsResults, optional
Results from a previous depletion calculation.
- reduce_chainbool, optional
If True, use
openmc.deplete.Chain.reduce()
to reduce the depletion chain up toreduce_chain_level
. Default is False.- reduce_chain_levelint, optional
Depth of the search when reducing the depletion chain. Only used if
reduce_chain
evaluates to true. The default value ofNone
implies no limit on the depth.- fission_yield_optsdict of str to option, optional
Optional arguments to pass to the
openmc.deplete.helpers.FissionYieldHelper
class. Will be passed directly on to the helper. Passing a value of None will use the defaults for the associated helper.