armi.reactor package

The reactor package houses the data model used in ARMI to represent the reactor during its simulation. It contains definitions of the reactor, assemblies, blocks, components, etc.

The key classes of the reactor package are shown below:

Reactor class diagram

Class inheritance diagram for armi.reactor.

See Developer Docs.

class armi.reactor.ReactorPlugin[source]

Bases: armi.plugins.ArmiPlugin

Plugin exposing built-in reactor components, blocks, assemblies, etc.

static defineBlockTypes()[source]

Function for providing novel Block types from a plugin.

This should return a list of tuples containing (compType, blockType), where blockType is a new Block subclass to register, and compType is the corresponding Component type that should activate it. For instance a HexBlock would be created when the largest component is a Hexagon:

return [(Hexagon, HexBlock)]
static defineAssemblyTypes()[source]

Function for providing novel Assembly types from a plugin.

This should return a list of tuples containing (blockType, assemType), where assemType is a new Assembly subclass to register, and blockType is the corresponding Block subclass that, if present in the assembly, should trigger it to be of the corresponding assemType.

Warning

The utility of subclassing Assembly is suspect, and may soon cease to be supported. In practice, Assembly subclasses provide very little functionality beyond that on the base class, and even that functionality can probably be better suited elsewhere. Moving this code around would let us eliminate the specialized Assembly subclasses altogether. In such a case, this API will be removed from the framework.