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:
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 defineSettingsValidators(inspector)[source]
Implementation of settings inspections for neutronics settings.
- 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:
- 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:
- 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:
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
Subpackages
- armi.physics.neutronics.fissionProductModel package
- armi.physics.neutronics.globalFlux package
- armi.physics.neutronics.latticePhysics package
- armi.physics.neutronics.tests package
- Submodules
- armi.physics.neutronics.tests.test_crossSectionManager module
- armi.physics.neutronics.tests.test_crossSectionSettings module
- armi.physics.neutronics.tests.test_crossSectionTable module
- armi.physics.neutronics.tests.test_energyGroups module
- armi.physics.neutronics.tests.test_macroXSGenerationInterface module
- armi.physics.neutronics.tests.test_neutronicsPlugin module
- Submodules
Submodules
- armi.physics.neutronics.const module
- armi.physics.neutronics.crossSectionGroupManager module
describeInterfaces()
getXSTypeNumberFromLabel()
getXSTypeLabelFromNumber()
BlockCollection
MedianBlockCollection
AverageBlockCollection
getBlockNuclideTemperatureAvgTerms()
CylindricalComponentsAverageBlockCollection
SlabComponentsAverageBlockCollection
FluxWeightedAverageBlockCollection
CrossSectionGroupManager
CrossSectionGroupManager.name
CrossSectionGroupManager.interactBOL()
CrossSectionGroupManager.interactBOC()
CrossSectionGroupManager.interactEOC()
CrossSectionGroupManager.interactEveryNode()
CrossSectionGroupManager.interactCoupled()
CrossSectionGroupManager.clearRepresentativeBlocks()
CrossSectionGroupManager.xsTypeIsPregenerated()
CrossSectionGroupManager.fluxSolutionIsPregenerated()
CrossSectionGroupManager.createRepresentativeBlocks()
CrossSectionGroupManager.createRepresentativeBlocksUsingExistingBlocks()
CrossSectionGroupManager.getNextAvailableXsTypes()
CrossSectionGroupManager.makeCrossSectionGroups()
CrossSectionGroupManager.disableBuGroupUpdates()
CrossSectionGroupManager.enableBuGroupUpdates()
CrossSectionGroupManager.getNucTemperature()
CrossSectionGroupManager.updateNuclideTemperatures()
blockCollectionFactory()
- armi.physics.neutronics.crossSectionSettings module
- armi.physics.neutronics.diffIsotxs module
- armi.physics.neutronics.energyGroups module
- armi.physics.neutronics.macroXSGenerationInterface module
- armi.physics.neutronics.parameters module
- armi.physics.neutronics.reports module
- armi.physics.neutronics.settings module