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.

Implementation: User-impact on material definitions. I_ARMI_MAT_USER_INPUT0
signature: MaterialModifications
requirements: R_ARMI_MAT_USER_INPUT

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() and construct()).

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.

Implementation: Create assembly from blueprint file. I_ARMI_BP_ASSEM
signature: AssemblyBlueprint
requirements: R_ARMI_BP_ASSEM

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 of Assembly 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>