- update references in docstrings and docpages
- minor adjustments to related docs in deplete module files
- retain backwards compatiblity by exporint Operator alias
- Syntax improvements and fixes
- removed `flux` parameter from Integrator
- Moved generate_1g_cross_sections to a top level function in
flux_operator.py
- changed normalization modes: constant-flux -> source-rate;
constant-power -> fission-q
- fixed regression tests (fission-q reference solution was bad before,
but is now much more reasonable and comparable to the source-rate
reference solution)
- added `nuc_units` parameter to the `from_nuclides` method.
- docstring fixes
- RST doc fixes
- spelling fixes
FluxDepletionOperator
We move FluxTimesXSHelper to be an inner class of FluxDepletionOperator
so we can avoid needing to copy the number and cross_sections
attributes.
- various syntax adjustments and cleanups
- remove unneeded import statements
- add more information to new section in user's guide
- typo fixes
- remove dilute_initial
- move _validate_micro_xs_inputs back into the class as a static method
- update tests to reflect changes
Tallies created by internal depletion helpers are marked
as internal using the openmc.lib.Tally.writeable property.
This is done to resolve issue #1327 where statepoint files could
grow to be quite large after tallying reaction rates across many
burnable materials for all nuclides of interest.
A check is added in the depletion regression test to ensure that
no additional tallies are loaded to the StatePoint.
Depending on settings.photon_transport, obtain the total
system energy from the 301 [heating] or 901 [heating-local]
scores. The former is used in coupled neutron-photon transport,
as this does not include any energy from neutrons or
photons, assuming these particles deposit their energy along
their life. MT901 is used for neutron transport and is the default,
e.g. if scores is None. This score includes energy from
prompt and delayed photons taken from MT458 data.
Related PR: #1344 - Ability to generate KERMAs assuming local
photon energy deposition
Introduce a new subclass of EnergyHelper, EnergyScoreHelper,
that computes the system energy using the energy-deposition score.
This energy is fed back to the Operator to normalize reaction rates.
The energy from the tally is only stored on the helper on the
MPI process 0 as to avoid scaling the system energy by the number
of processes. During the Operator unpacking, the energy reported
by each process is reduced, as the previous implementations took
fission reaction rates from the "local materials", e.g. the
materials each process is responsible for depleting.
The tally results are shared across all processes and only
contains a single quantity, the tallied energy deposition across
all materials.
This mode is controlled by passing the "energy_mode" argument passed
to the Operator. The two options are "fission-q" [default and previous
behavior] and "energy-deposition" [new features]. If energy_mode indicates using
the energy deposition score, the user-supplied fission-q dictionary is not used.
(cherry picked from commit d566f3080f)