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]

Function for defining additional parameters.

Returns

Keys should be subclasses of ArmiObject, values being a ParameterDefinitionCollection should be added to the key’s perameter definitions.

Return type

dict

Example

>>> pluginBlockParams = parameters.ParameterDefinitionCollection()
>>> with pluginBlockParams.createBuilder() as pb:
...     pb.defParam("plugBlkP1", ...)
...     # ...
...
>>> pluginAssemParams = parameters.ParameterDefinitionCollection()
>>> with pluginAssemParams.createBuilder() as pb:
...     pb.defParam("plugAsmP1", ...)
...     # ...
...
>>> return {
...     blocks.Block: pluginBlockParams,
...     assemblies.Assembly: pluginAssemParams
... }
static defineEntryPoints()[source]

Return new entry points for the ARMI CLI

This hook allows plugins to provide their own ARMI entry points, which each serve as a command in the command-line interface.

Returns

class objects which derive from the base EntryPoint class.

Return type

list

static defineSettings()[source]

Define configuration settings for this plugin.

This hook allows plugins to provide their own configuration settings, which can participate in the armi.settings.caseSettings.CaseSettings. Plugins may provide entirely new settings to what are already provided by ARMI, as well as new options or default values for existing settings. For instance, the framework provides a neutronicsKernel setting for selecting which global physics solver to use. Since we wish to enforce that the user specify a valid kernel, the settings validator will check to make sure that the user’s requested kernel is among the available options. If a plugin were to provide a new neutronics kernel (let’s say MCNP), it should also define a new option to tell the settings system that "MCNP" is a valid option.

Returns

A list of Settings, Options, or Defaults to be registered.

Return type

list

static defineSettingsValidators(inspector)[source]

Check neutronics settings.

static onProcessCoreLoading(core, cs)[source]

Function to call whenever a Core object is newly built.

This is usually used to set initial parameter values from inputs, either after constructing a Core from Blueprints, or after loading it from a database.

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 neutronicsType setting.

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

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

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

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