armi.reactor.blueprints package¶
Blueprints describe the geometric and composition details of the objects in the reactor (e.g. fuel assemblies, control rods, etc.).
Inputs captured within this blueprints module pertain to major design criteria like custom material properties or basic structures like the assemblies in use.
This is essentially a wrapper for a yaml loader. The given yaml file is expected to rigidly adhere to given key:value pairings.
See the blueprints documentation for more details.
The file structure is expectation is:
- nuclide flags:
AM241: {burn: true, xs: true} …
custom isotopics: {} # optional
- blocks:
- name:
- component name:
component dimensions
…
- assemblies:
- name:
specifier: ABC blocks: […] height: […] axial mesh points: […] xs types: […]
# optional myMaterialModification1: […] myMaterialModification2: […]
# optionally extra settings (note this is probably going to be a removed feature) # hotChannelFactors: TWRPclad
Notes
The blueprints system was built to enable round trip translations between text representations of input and objects in the code.
-
armi.reactor.blueprints.loadFromCs(cs)[source]¶ Function to load Blueprints based on supplied
CaseSettings.
-
class
armi.reactor.blueprints.Blueprints[source]¶ Bases:
yamlize.objects.ObjectBase Blueprintsobject representing all the subsections in the input file.
-
nuclideFlags¶ Represents an attribute of a Python class, and a key/value pair in YAML.
-
name¶ name of the attribute within the Python class
- Type
str
-
key¶ name of the attribute within the YAML representation
- Type
str
-
type¶ type of the attribute within the Python class. When
ANY, the type is a pass-through and whatever YAML determines it should be will be applied.- Type
type or ANY
-
default¶ default value if not supplied in YAML. If
default=NODEFAULT, then the attribute must be supplied.- Type
value or NODEFAULT
-
storage_name¶ '_yamlized_' + name, stored as a separate attribute for speed.- Type
str
-
-
customIsotopics¶ Represents an attribute of a Python class, and a key/value pair in YAML.
-
name name of the attribute within the Python class
- Type
str
-
key name of the attribute within the YAML representation
- Type
str
-
type type of the attribute within the Python class. When
ANY, the type is a pass-through and whatever YAML determines it should be will be applied.- Type
type or ANY
-
default default value if not supplied in YAML. If
default=NODEFAULT, then the attribute must be supplied.- Type
value or NODEFAULT
-
storage_name '_yamlized_' + name, stored as a separate attribute for speed.- Type
str
-
-
systemDesigns¶ Represents an attribute of a Python class, and a key/value pair in YAML.
-
name name of the attribute within the Python class
- Type
str
-
key name of the attribute within the YAML representation
- Type
str
-
type type of the attribute within the Python class. When
ANY, the type is a pass-through and whatever YAML determines it should be will be applied.- Type
type or ANY
-
default default value if not supplied in YAML. If
default=NODEFAULT, then the attribute must be supplied.- Type
value or NODEFAULT
-
storage_name '_yamlized_' + name, stored as a separate attribute for speed.- Type
str
-
-
assemDesigns¶ Represents an attribute of a Python class, and a key/value pair in YAML.
-
name name of the attribute within the Python class
- Type
str
-
key name of the attribute within the YAML representation
- Type
str
-
type type of the attribute within the Python class. When
ANY, the type is a pass-through and whatever YAML determines it should be will be applied.- Type
type or ANY
-
default default value if not supplied in YAML. If
default=NODEFAULT, then the attribute must be supplied.- Type
value or NODEFAULT
-
storage_name '_yamlized_' + name, stored as a separate attribute for speed.- Type
str
-
-
blockDesigns¶ Represents an attribute of a Python class, and a key/value pair in YAML.
-
name name of the attribute within the Python class
- Type
str
-
key name of the attribute within the YAML representation
- Type
str
-
type type of the attribute within the Python class. When
ANY, the type is a pass-through and whatever YAML determines it should be will be applied.- Type
type or ANY
-
default default value if not supplied in YAML. If
default=NODEFAULT, then the attribute must be supplied.- Type
value or NODEFAULT
-
storage_name '_yamlized_' + name, stored as a separate attribute for speed.- Type
str
-
-
constructAssem(geomType, cs, name=None, specifier=None)[source]¶ Construct a new assembly instance from the assembly designs in this Blueprints object.
- Parameters
geomType (str) – string indicating the geometry type. This is used to select the correct Assembly and Block subclasses.
'hex'should be used to create hex assemblies. This input is derived based on the Geometry object, though it would be nice to instead infer it from block components, and then possibly fail if there is mismatch. Though, you can fit a round peg in a square hole so long as D <= s.cs (CaseSettings object) – Used to apply various modeling options when constructing an assembly.
name (str (optional, and should be exclusive with specifier)) – Name of the assembly to construct. This should match the key that was used to define the assembly in the Blueprints YAML file.
specifier (str (optional, and should be exclusive with name)) – Identifier of the assembly to construct. This should match the identifier that was used to define the assembly in the Blueprints YAML file.
- Raises
ValueError – If neither name nor specifier are passed
Notes
There is some possibility for “compiling” the logic with closures to make constructing an assembly / block / component faster. At this point is is pretty much irrelevant because we are currently just deepcopying already constructed assemblies.
Currently, this method is backward compatible with other code in ARMI and generates the .assemblies attribute (the BOL assemblies). Eventually, this should be removed.
-
attributes= <yamlize.attribute_collection.AttributeCollection object>¶
-