mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-22 06:55:35 -04:00
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
118 lines
2.9 KiB
ReStructuredText
118 lines
2.9 KiB
ReStructuredText
.. _pythonapi_deplete:
|
|
|
|
----------------------------------
|
|
:mod:`openmc.deplete` -- Depletion
|
|
----------------------------------
|
|
|
|
.. module:: openmc.deplete
|
|
|
|
Several functions 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 functions 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
|
|
|
|
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
|
|
DirectReactionRateHelper
|
|
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
|
|
|
|
ReactionRateHelper
|
|
EnergyHelper
|
|
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
|