armi.physics.fuelCycle.utils module

Geometric agnostic routines that are useful for fuel cycle analysis on pin-type reactors.

armi.physics.fuelCycle.utils.assemblyHasFuelPinPowers(a: Iterable[Block]) bool[source]

Determine if an assembly has pin powers.

These are necessary for determining rotation and may or may not be present on all assemblies.

Parameters:

a (Assembly) – Assembly in question

Returns:

If at least one fuel block in the assembly has pin powers.

Return type:

bool

armi.physics.fuelCycle.utils.assemblyHasFuelPinBurnup(a: Iterable[Block]) bool[source]

Determine if an assembly has pin burnups.

These are necessary for determining rotation and may or may not be present on all assemblies.

Parameters:

a (Assembly) – Assembly in question

Returns:

If a block with pin burnup was found.

Return type:

bool

Notes

Checks if any Component.p.pinPercentBu` is set and contains non-zero data on a fuel component in the block.

armi.physics.fuelCycle.utils.maxBurnupLocator(children: Iterable[Component]) IndexLocation[source]

Find the location of the pin with highest burnup by looking at components.

Parameters:

children (iterable[Component]) – Iterator over children with a spatial locator and pinPercentBu parameter

Returns:

Location of the pin with the highest burnup.

Return type:

IndexLocation

Raises:

ValueError – If no children have burnup, or the burnup and locators differ.

armi.physics.fuelCycle.utils.maxBurnupBlock(a: Iterable[Block]) Block[source]

Find the block that contains the pin with the highest burnup.