Institution - Institution agents (at least one required in each Region)¶
Every agent that participates in a Cyclus simulation represents either a
facility, an institution or a region. Each institution block defines an
agent that acts as an institution in the simulation. In contrast to the
facility block that defines a prototype, this block defines an
agent.
An institution block can only appear within a region block.
Each institution block has the following sections in any order:
name(required once) - a name for the prototypelifetime(optional once) - a non-negative integer indicating the number of time steps that this institution agent will be active in the simulationconfig(required once) - the archetype-specific configurationinitialfacilitylist(optional, may appear multiple times) - a list of facility agents operating at the beginning of the simulation
Each initialfacilitylist block contains one or more entry blocks that
each contain the following sections, in the following order:
prototype- the name of a facility prototype defined elsewhere in the input filenumber- the number of such facilities that are operating at the beginning of the simulation
Example¶
This example introduces two institution agents (the region section that
encloses them is not shown). The first institution has the name
SingleInstitution, and is configured from the archetype with the
name (or alias) NullInst. The author of the NullInst archetype has
defined no archetype-specific data. This agent begins the simulation with two
facility agents, one based on the FacilityA prototype and another based on
the FacilityB prototype. The second institution has the name
AnotherInstitution, is also configured from the archetype with the name (or
alias) NullInst. This institution has no initial facilities.
XML:
<institution>
<name>SingleInstitution</name>
<initialfacilitylist>
<entry>
<prototype>FacilityA</prototype>
<number>1</number>
</entry>
<entry>
<prototype>FacilityB</prototype>
<number>1</number>
</entry>
</initialfacilitylist>
<config> <NullInst/> </config>
</institution>
<institution>
<name>AnotherInstitution</name>
<config> <NullInst/> </config>
</institution>
JSON:
{"institution": [
{"config": {"NullInst": null},
"initialfacilitylist": {
"entry": [
{"number": 1, "prototype": "FacilityA"},
{"number": 1, "prototype": "FacilityB"}
]
},
"name": "SingleInstitution"
},
{"config": {"NullInst": null},
"name": "AnotherInstitution"
}
]
}
Python:
{"institution": [
{"config": {"NullInst": None},
"initialfacilitylist": {
"entry": [
{"number": 1, "prototype": "FacilityA"},
{"number": 1, "prototype": "FacilityB"},
],
},
"name": "SingleInstitution",
},
{"config": {"NullInst": None},
"name": "AnotherInstitution",
},
],
}
Grammar Definition¶
<element name="institution"> <interleave>
<element name="name"> <text/> </element>
<optional>
<element name="lifetime"> <data type="nonNegativeInteger"/> </element>
</optional>
<optional>
<element name="initialfacilitylist">
<oneOrMore>
<element name="entry">
<element name="prototype"> <text/> </element>
<element name="number"> <data type="nonNegativeInteger"/> </element>
</element>
</oneOrMore>
</element>
</optional>
<element name="config">
<choice>
@Inst_REFS@
</choice>
</element>
</interleave> </element>





