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
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 ofAssemblyList
should not have to manage.- getNextLocation(a) LocationBase [source]
Return the next automatic location.
- class armi.reactor.assemblyLists.RowMajorAutoFiller(aList, nMajor)[source]
Bases:
AutoFiller
AutoFiller
implementation for filling a “rectangular” grid of Assemblies.This fills the
armi.reactor.grids.Grid
of the associatedAssemblyList
by filling subsequent rows withnMajor
assemblies before moving to the next row.
- class armi.reactor.assemblyLists.AssemblyList(name, parent=None)[source]
Bases:
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. 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. With a locator, the associatedAutoFiller
will be used.
- paramCollectionType
alias of
ArmiObjectParameterCollection
- class armi.reactor.assemblyLists.SpentFuelPool(name, parent=None)[source]
Bases:
AssemblyList
A place to put assemblies when they’ve been discharged. Can tell you inventory stats, etc.
- 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. 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. With a locator, the associatedAutoFiller
will be used.
- paramCollectionType
alias of
ArmiObjectParameterCollection