armi.reactor.blueprints.reactorBlueprint module
Definitions of top-level reactor arrangements like the Core (default), SFP, etc.
See documentation of blueprints in The Blueprints Input File for more context. See example in
armi.reactor.blueprints.tests.test_reactorBlueprints
.
This was built to replace the old system that loaded the core geometry from the cs['geometry']
setting. Until the geom file-based input is completely removed, this system will attempt to migrate
the core layout from geom files. When geom files are used, explicitly specifying a core
system
will result in an error.
System Blueprints are a big step in the right direction to generalize user input, but was still mostly adapted from the old Core layout input. As such, they still only really support Core-like systems. Future work should generalize the concept of “system” to more varied scenarios.
See also
armi.reactor.blueprints.gridBlueprints
Method for storing system assembly layouts.
armi.reactor.systemLayoutInput.SystemLayoutInput
Deprecated method for reading the individual
face-map
- class armi.reactor.blueprints.reactorBlueprint.SystemBlueprint(*args, **kwargs)[source]
Bases:
Object
The reactor-level structure input blueprint.
This class creates a yaml interface for the user to define systems with grids, such as cores or spent fuel pools, each having their own name, type, grid, and position in space. It is incorporated into the “systems” section of a blueprints file by being included as key-value pairs within the
Systems
class, which is in turn included into the overall blueprints withinBlueprints
.This class includes a
construct()
method, which is typically called from withinfactory()
during the initialization of the reactor object to instantiate the core and/or spent fuel pool objects. During that process, a spatial grid is constructed based on the grid blueprints specified in the “grids” section of the blueprints (see I_ARMI_BP_GRID) and the assemblies needed to fill the lattice are built from blueprints usingconstructAssem()
.Notes
We use string keys to link grids to objects that use them. This differs from how blocks/ assembies are specified, which use YAML anchors. YAML anchors have proven to be problematic and difficult to work with.
A Reactor-level structure like a core, or ex-core like SFP.
Notes
yamlize does not call an __init__ method, instead it uses __new__ and setattr this is only needed for when you want to make this object from a non-YAML source.
- construct(cs, bp, reactor, geom=None, loadComps=True)[source]
Build a core or ex-core grid and fill it with children.
- Parameters:
cs (
Settings
) – armi settings to applybp (
Reactor
) – armi blueprints to applyreactor (
Reactor
) – reactor to fillgeom (optional)
loadComps (bool, optional) – whether to fill reactor with assemblies, as defined in blueprints, or not. Is False in
UniformMeshGeometryConverter
within the initNewReactor() method.
- Returns:
A Composite object with a grid, like a Spent Fuel Pool or other ex-core structure.
- Return type:
Composite
- Raises:
ValueError – input error, no grid design provided
ValueError – objects were added to non-existant grid locations
- attributes = <yamlize.attribute_collection.AttributeCollection object>
- class armi.reactor.blueprints.reactorBlueprint.Systems(*args, **kwargs)[source]
Bases:
KeyedList
Initialize a Map.
- Parameters:
*args – sequence of key/value pairs.
**kwargs – kwargs for input to OrderedDict.
- attributes = <yamlize.attribute_collection.KeyedListAttributeCollection object>
- item_type
alias of
SystemBlueprint