armi.reactor.assemblyLists module

Module containing AssemblyList and related classes.

Assembly Lists are core-like objects that store collections of Assemblies. They were originally developed to serve as things like spent-fuel pools and the like, where spatial location of Assemblies need not be quite as precise.

Presently, the armi.reactor.reactors.Core constructs a spent fuel pool self.sfp. We are in the process of removing these as instance attributes of the Core, and moving them into sibling systems on the root armi.reactor.reactors.Reactor object.

class armi.reactor.assemblyLists.AutoFiller[source]

Bases: abc.ABC

Class for governing automatic insertion of Assemblies when a specific Composite location isn’t requested.

This is kept separate from the AssemblyList class itself to promote composition over inheritance; reasonable implementations of auto-fill strategies will have their own state, which subclasses of AssemblyList should not have to manage.

getNextLocation(a) → armi.reactor.grids.LocationBase[source]

Return the next automatic location.

assemblyAdded(a)[source]

Register that an assembly has been added.

This allows an AutoFiller to be notified that an assembly has been added manually.

_abc_impl = <_abc_data object>
class armi.reactor.assemblyLists.RowMajorAutoFiller(aList, nMajor)[source]

Bases: armi.reactor.assemblyLists.AutoFiller

AutoFiller implementation for filling a “rectangular” grid of Assemblies.

This fills the armi.reactor.grids.Grid of the associated AssemblyList by filling subsequent rows with nMajor assemblies before moving to the next row.

getNextLocation(_a)[source]

Return the next automatic location.

assemblyAdded(a)[source]

Do nothing.

A more optimal implementation would cache things that would be affected by this.

_abc_impl = <_abc_data object>
class armi.reactor.assemblyLists.AssemblyList(name, parent=None)[source]

Bases: armi.reactor.composites.Composite

A quasi-arbitrary collection of Assemblies.

The AssemblyList is similar to a Core, in that it is designed to store Assembly objects. Unlike the Core, they have far fewer convenience functions, and permit looser control over where assemblies actually live.

property r
add(assem, loc=None)[source]

Add an Assembly to the list.

Parameters
  • assem (Assembly) – The Assembly to add to the list

  • loc (LocationBase, optional) – If provided, the assembly is inserted at that location, similarly to how a Core would function. If it is not provided, the locator on the Assembly object will be used. If the Assembly’s locator belongs to self.spatialGrid, the Assembly’s existing locator will not be used. This is unlike the Core, which would try to use the same indices, but move the locator to the Core’s grid. If no locator is passed, or if the Assembly’s locator is not in the AssemblyList’s grid, then the Assembly will be automatically located in the grid using the associated AutoFiller object.

getAssembly(name)[source]

Get a specific Assembly by name.

count()[source]
paramCollectionType

alias of armi.reactor.parameters.parameterCollections.ArmiObjectParameterCollection

class armi.reactor.assemblyLists.SpentFuelPool(name, parent=None)[source]

Bases: armi.reactor.assemblyLists.AssemblyList

A place to put assemblies when they’ve been discharged. Can tell you inventory stats, etc.

report()[source]
paramCollectionType

alias of armi.reactor.parameters.parameterCollections.ArmiObjectParameterCollection