armi.bookkeeping.db.passiveDBLoadPlugin module

Provides the ability to ignore parameters sections of blueprint files.

This plugin can allow you to more easily open a database, because you can ignore sections of the blueprint files, and ignore any parameters as you want.

This was designed to allow loading an ARMI database without the application that created it.

class armi.bookkeeping.db.passiveDBLoadPlugin.PassThroughYamlize(*args, **kwargs)[source]

Bases: Object

Just a helper for PassiveDBLoadPlugin, to allow for ignore unknown blueprints sections.

classmethod from_yaml(loader, node, round_trip_data=None)[source]
attributes = <yamlize.attribute_collection.AttributeCollection object>
class armi.bookkeeping.db.passiveDBLoadPlugin.PassiveDBLoadPlugin[source]

Bases: ArmiPlugin

Provides the ability to passively load a reactor data model from an ARMI DB even if there are unknown parameters and blueprint sections.

This plugin allows you two define two things:

  1. Sections of blueprint files to ignore entirely.

  2. A collection of unknown parameters that will be loaded without units or underlying metadata.

To use this plugin, you need to set two class variables before instantiating the ARMI App:

  1. Set SKIP_BP_SECTIONS to a list of BP section names (strings).

  2. Set UNKNOWN_PARAMS to a mapping from param class to name: {Core: ["a", "b", "c"]}

Notes

Obviously, if you are loading huge numbers of unknown parameters and ignoring whole sections of blueprints, you are losing information. There is no way to use this plugin and still claim full fidelity of your understanding of the reactor. ARMI does not support any such claims.

SKIP_BP_SECTIONS = []
UNKNOWN_PARAMS = {}
static defineBlueprintsSections()[source]

Ignore a pre-determined set of blueprint sections.

static defineParameters()[source]

Define parameters for the plugin.

static buildParamColl(names)[source]

Try replacing any missing parameters with unitless nonsense.