mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-24 03:55:38 -04:00
The si_celi depletion function has been removed. The
SI-CELI method can be implemented with
>>> from openmc.deplete import SI_CELI_Integrator
>>> SI_CELI_Integrator(op, dt, power, stages).integrate()
The stages parameter is optional, and defaults to 10 to
be consistent with the previous default for si_celi.
The SI_CELI_Integrator inherits from the new abstract base class
SI_Integrator. There are a few differences in how the SI-based
methods perform the integration.
- The initial, t=0.0, i=0, no restart transport solution is scaled
by the number of stages.
- The SI methods also do not perform a new transport solution at
each successive iteration [t>0, i>0]. Instead, the reaction
rates are pulled from the last stage of the previous step.
- There is no final transport solution once all the depletion
steps have been taken. The final reaction rates are saved as
those from the last stage of the last depletion step.
The si_celi function has been removed from documentation and testing,
and replaced with the SI_CELI_Integrator.
99 lines
2.6 KiB
ReStructuredText
99 lines
2.6 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: myfunction.rst
|
|
|
|
integrator.si_leqi
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myclassinherit.rst
|
|
|
|
integrator.PredictorIntegrator
|
|
integrator.CF4Integrator
|
|
integrator.CECMIntegrator
|
|
integrator.CELIIntegrator
|
|
integrator.EPC_RK4_Integrator
|
|
integrator.LEQIIntegrator
|
|
integrator.SI_CELI_Integrator
|
|
|
|
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
|
|
OperatorResult
|
|
ReactionRates
|
|
Results
|
|
ResultsList
|
|
TransportOperator
|
|
|
|
Each of the integrator functions also relies on a number of "helper" functions
|
|
as follows:
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: myfunction.rst
|
|
|
|
integrator.CRAM16
|
|
integrator.CRAM48
|