armi.reactor.blueprints.assemblyBlueprint module
This module defines the blueprints input object for assemblies.
In addition to defining the input format, the AssemblyBlueprint
class is responsible for
constructing Assembly
objects. An attempt has been made to decouple Assembly
construction
from the rest of ARMI as much as possible. For example, an assembly does not require a reactor to be
constructed, or a geometry file (but uses contained Block geometry type as a surrogate).
- class armi.reactor.blueprints.assemblyBlueprint.Modifications(*args, **kwargs)[source]
Bases:
Map
The names of material modifications and lists of the modification values for each block in the assembly.
Initialize a Map.
- Parameters:
*args – sequence of key/value pairs.
**kwargs – kwargs for input to OrderedDict.
- key_type
alias of
Yamlizablestr
- value_type
alias of
Sequence
- attributes = <yamlize.attribute_collection.MapAttributeCollection object>
- class armi.reactor.blueprints.assemblyBlueprint.ByComponentModifications(*args, **kwargs)[source]
Bases:
Map
The name of a component within the block and an associated Modifications object.
Initialize a Map.
- Parameters:
*args – sequence of key/value pairs.
**kwargs – kwargs for input to OrderedDict.
- key_type
alias of
Yamlizablestr
- value_type
alias of
Modifications
- attributes = <yamlize.attribute_collection.MapAttributeCollection object>
- class armi.reactor.blueprints.assemblyBlueprint.MaterialModifications(*args, **kwargs)[source]
Bases:
Map
A yamlize map for reading and holding material modifications.
A user may specify material modifications directly as keys/values on this class, in which case these material modifications will be blanket applied to the entire block.
If the user wishes to specify material modifications specific to a component within the block, they should use the by component attribute, specifying the keys/values underneath the name of a specific component in the block.
Defines a yaml map attribute for the assembly portion of the blueprints (see
AssemblyBlueprint
) that allows users to specify material attributes as lists corresponding to each axial block in the assembly. Two types of specifications can be made:1. Key-value pairs can be specified directly, where the key is the name of the modification and the value is the list of block values.
2. The “by component” attribute can be used, in which case the user can specify material attributes that are specific to individual components in each block. This is enabled through the
ByComponentModifications
class, which basically just allows for one additional layer of attributes corresponding to the component names.These material attributes can be used during the resolution of material classes during core instantiation (see
construct()
andconstruct()
).Initialize a Map.
- Parameters:
*args – sequence of key/value pairs.
**kwargs – kwargs for input to OrderedDict.
- key_type
alias of
Yamlizablestr
- value_type
alias of
Sequence
- attributes = <yamlize.attribute_collection.MapAttributeCollection object>
- class armi.reactor.blueprints.assemblyBlueprint.AssemblyBlueprint(*args, **kwargs)[source]
Bases:
Object
A data container for holding information needed to construct an ARMI assembly.
This class utilizes
yamlize
to enable serialization to and from the blueprints YAML file.Defines a yaml construct that allows the user to specify attributes of an assembly from within their blueprints file, including a name, flags, specifier for use in defining a core map, a list of blocks, a list of block heights, a list of axial mesh points in each block, a list of cross section identifiers for each block, and material options (see I_ARMI_MAT_USER_INPUT0).
Relies on the underlying infrastructure from the
yamlize
package for reading from text files, serialization, and internal storage of the data.Is implemented as part of a blueprints file by being imported and used as an attribute within the larger
Blueprints
class.Includes a
construct
method, which instantiates an instance ofAssembly
with the characteristics as specified in the blueprints.- classmethod getAssemClass(blocks)[source]
Get the ARMI
Assembly
class for the specified blocks.- Parameters:
blocks (list of Blocks) – Blocks for which to determine appropriate containing Assembly type
- construct(cs, blueprint)[source]
Construct an instance of this specific assembly blueprint.
- Parameters:
cs (Settings) – Settings object which containing relevant modeling options.
blueprint (Blueprint) – Root blueprint object containing relevant modeling options.
- attributes = <yamlize.attribute_collection.AttributeCollection object>
- class armi.reactor.blueprints.assemblyBlueprint.AssemblyKeyedList(*args, **kwargs)[source]
Bases:
KeyedList
Effectively and OrderedDict of assembly items, keyed on the assembly name.
This uses yamlize KeyedList for YAML serialization.
Initialize a Map.
- Parameters:
*args – sequence of key/value pairs.
**kwargs – kwargs for input to OrderedDict.
- item_type
alias of
AssemblyBlueprint
- property bySpecifier
Used by the reactor to
_loadComposites
later, specifiers are two character strings.
- attributes = <yamlize.attribute_collection.KeyedListAttributeCollection object>