armi.physics.neutronics package

The neutronics physics package in the ARMI framework.

Neutronics encompasses the modeling of nuclear chain reactions and their associated transmutation and decay.

The ARMI Framework comes with a neutronics plugin that introduces two independent interfaces:

fissionProductModel

Handles fission product modeling

crossSectionGroupManager

Handles the management of different cross section “groups”

Warning

There is also some legacy and question-raising code in this module that is here temporarily while we finish untangling some of the neutronics plugins outside of ARMI.

class armi.physics.neutronics.NeutronicsPlugin[source]

Bases: armi.plugins.ArmiPlugin

The built-in neutronics plugin with a few capabilities and a lot of state parameter definitions.

static exposeInterfaces(cs)[source]

Collect and expose all of the interfaces that live under the built-in neutronics package

static defineParameters()[source]
static defineEntryPoints()[source]
static defineSettings()[source]
static defineSettingsValidators(inspector)[source]

Implementation of settings inspections for neutronics settings.

static onProcessCoreLoading(core, cs, dbLoad)[source]
static getReportContents(r, cs, report, stage, blueprint)[source]

Generates the Report Content for the Neutronics Report

armi.physics.neutronics.gammaTransportIsRequested(cs)[source]

Check if gamma transport was requested by the user.

Parameters

cs (ARMI settings object) – Object containing the default and user-specified ARMI settings controlling the simulation

Returns

flag – Returns true if gamma transport is requested.

Return type

bool

armi.physics.neutronics.gammaXsAreRequested(cs)[source]

Check if gamma cross-sections generation was requested by the user.

Parameters

cs (ARMI settings object) – Object containing the default and user-specified ARMI settings controlling the simulation.

Returns

flag – Returns true if gamma cross section generation is requested.

Return type

bool

armi.physics.neutronics.adjointCalculationRequested(cs)[source]

Return true if an adjoint calculation is requested based on the CONF_NEUTRONICS_TYPE setting.

armi.physics.neutronics.realCalculationRequested(cs)[source]

Return true if a real calculation is requested based on the CONF_NEUTRONICS_TYPE type setting.

armi.physics.neutronics.applyEffectiveDelayedNeutronFractionToCore(core, cs)[source]

Process the settings for the delayed neutron fraction and precursor decay constants.

class armi.physics.neutronics.LatticePhysicsFrequency(value)[source]

Bases: enum.IntEnum

Enumeration for lattice physics update frequency options.

NEVER = never automatically trigger lattice physics (a custom script could still trigger it) BOL = Beginning-of-life (c0n0) BOC = Beginning-of-cycle (c*n0) everyNode = Every interaction node (c*n*) firstCoupledIteration = every node + the first coupled iteration at each node all = every node + every coupled iteration

Notes

firstCoupledIteration only updates the cross sections during the first coupled iteration, but not on any subsequent iterations. This may be an appropriate approximation in some cases to save compute time, but each individual user should give careful consideration to whether this is the behavior they want for a particular application. The main purpose of this setting is to capture a large change in temperature distribution when running a snapshot at a different power/flow condition than the original state being loaded from the database.

never = 0
BOL = 1
BOC = 2
everyNode = 3
firstCoupledIteration = 4
all = 5