mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-24 20:15:26 -04:00
This helper performs the following tasks to weight fission yields: 1) Determine a set of "fast" and "thermal" yields based on a user specified cutoff energy, 2) Tally fission rates above and below the cutoff, and 3) Compute the effective yield by weighting the fast and thermal yields by the fraction of fast and thermal fissions for all nuclides in all burnable materials. The user is allowed to specify the cutoff energy and energies preferred for the fast and thermal yields. By default, the cutoff is 112 eV, chosen as it is the logarithmic mean of 0.0253 eV and 500 keV. These two values are the default energies for thermal and fast yields. Tests are added to check for failure in constructing this helper (thermal energy > cutoff, non-real values passed, etc.), selection of yields given a range of user data, and a proxy class that emulates a variety of thermal and fast splits to check the eventual computed yield libraries.
124 lines
3 KiB
ReStructuredText
124 lines
3 KiB
ReStructuredText
.. _pythonapi_deplete:
|
|
|
|
----------------------------------
|
|
:mod:`openmc.deplete` -- Depletion
|
|
----------------------------------
|
|
|
|
.. module:: openmc.deplete
|
|
|
|
Several classes are provided that implement different time-integration
|
|
algorithms for depletion calculations, which are described in detail in Colin
|
|
Josey's thesis, `Development and analysis of high order neutron
|
|
transport-depletion coupling algorithms <http://hdl.handle.net/1721.1/113721>`_.
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myintegrator.rst
|
|
|
|
PredictorIntegrator
|
|
CECMIntegrator
|
|
CELIIntegrator
|
|
CF4Integrator
|
|
EPCRK4Integrator
|
|
LEQIIntegrator
|
|
SICELIIntegrator
|
|
SILEQIIntegrator
|
|
|
|
Each of these classes expects a "transport operator" to be passed. An operator
|
|
specific to OpenMC is available using the following class:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myclass.rst
|
|
|
|
Operator
|
|
|
|
When running in parallel using `mpi4py <http://mpi4py.scipy.org>`_, the MPI
|
|
intercommunicator used can be changed by modifying the following module
|
|
variable. If it is not explicitly modified, it defaults to
|
|
``mpi4py.MPI.COMM_WORLD``.
|
|
|
|
.. data:: comm
|
|
|
|
MPI intercommunicator used to call OpenMC library
|
|
|
|
:type: mpi4py.MPI.Comm
|
|
|
|
Internal Classes and Functions
|
|
------------------------------
|
|
|
|
During a depletion calculation, the depletion chain, reaction rates, and number
|
|
densities are managed through a series of internal classes that are not normally
|
|
visible to a user. However, should you find yourself wondering about these
|
|
classes (e.g., if you want to know what decay modes or reactions are present in
|
|
a depletion chain), they are documented here. The following classes store data
|
|
for a depletion chain:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myclass.rst
|
|
|
|
Chain
|
|
DecayTuple
|
|
Nuclide
|
|
ReactionTuple
|
|
FissionYieldDistribution
|
|
FissionYield
|
|
|
|
The following classes are used during a depletion simulation and store auxiliary
|
|
data, such as number densities and reaction rates for each material.
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myclass.rst
|
|
|
|
AtomNumber
|
|
ChainFissionHelper
|
|
ConstantFissionYieldHelper
|
|
DirectReactionRateHelper
|
|
FissionYieldCutoffHelper
|
|
OperatorResult
|
|
ReactionRates
|
|
Results
|
|
ResultsList
|
|
|
|
|
|
The following classes are abstract classes that can be used to extend the
|
|
:mod:`openmc.deplete` capabilities:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myclass.rst
|
|
|
|
EnergyHelper
|
|
FissionYieldHelper
|
|
ReactionRateHelper
|
|
TalliedFissionYieldHelper
|
|
TransportOperator
|
|
|
|
Custom integrators can be developed by subclassing from the following abstract
|
|
base classes:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myintegrator.rst
|
|
|
|
Integrator
|
|
SIIntegrator
|
|
|
|
Each of the integrator classes also relies on a number of "helper" functions
|
|
as follows:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myfunction.rst
|
|
|
|
cram.CRAM16
|
|
cram.CRAM48
|