openmc.deplete.IndependentOperator¶
- class openmc.deplete.IndependentOperator(materials, fluxes, micros, chain_file=None, keff=None, normalization_mode='fission-q', fission_q=None, 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
.Note that passing an empty
MicroXS
instance to themicro_xs
argument allows a decay-only calculation to be run.New in version 0.13.1.
Changed in version 0.14.0: Arguments updated to include list of fluxes and microscopic cross sections.
- Parameters
materials (openmc.Materials) – Materials to deplete.
fluxes (list of numpy.ndarray) – Flux in each group in [n-cm/src] for each domain
micros (list of MicroXS) – Cross sections in [b] for each domain. If the
MicroXS
object is empty, a decay-only calculation will be run.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"
.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].
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, flux, micro_xs, chain_file=None, nuc_units='atom/b-cm', keff=None, normalization_mode='fission-q', fission_q=None, 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.
- fluxnumpy.ndarray
Flux in each group in [n-cm/src]
- micro_xsMicroXS
Cross sections in [b]. If the
MicroXS
object is empty, a decay-only calculation will be run.- chain_filestr, optional
Path to the depletion chain XML file. Defaults to
openmc.config['chain_file']
.- nuc_units{‘atom/cm3’, ‘atom/b-cm’}, optional
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"
.- 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.