armi.nucDirectory.elements module¶
This module provides fundamental element information to be used throughout the framework and applications.
The element class structure is outlined here.
Examples
>>> elements.byZ[92]
<Element U (Z=92), Uranium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>
>>> elements.bySymbol["U"]
<Element U (Z=92), Uranium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>
>>> elements.byName["Uranium"]
<Element U (Z=92), Uranium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>
Retrieve gaseous elements at Standard Temperature and Pressure (STP):
>>> elements.getElementsByChemicalPhase(elements.ChemicalPhase.GAS)
[<Element H (Z=1), Hydrogen, ChemicalGroup.NONMETAL, ChemicalPhase.GAS>,
<Element HE (Z=2), Helium, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element N (Z=7), Nitrogen, ChemicalGroup.NONMETAL, ChemicalPhase.GAS>,
<Element O (Z=8), Oxygen, ChemicalGroup.NONMETAL, ChemicalPhase.GAS>,
<Element F (Z=9), Fluorine, ChemicalGroup.HALOGEN, ChemicalPhase.GAS>,
<Element NE (Z=10), Neon, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element CL (Z=17), Chlorine, ChemicalGroup.HALOGEN, ChemicalPhase.GAS>,
<Element AR (Z=18), Argon, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element KR (Z=36), Krypton, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element XE (Z=54), Xenon, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element RN (Z=86), Radon, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>,
<Element OG (Z=118), Oganesson, ChemicalGroup.NOBLE_GAS, ChemicalPhase.GAS>]
Retrieve elements that are classified as actinides:
>>> elements.getElementsByChemicalGroup(elements.ChemicalGroup.ACTINIDE)
[<Element AC (Z=89), Actinium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element TH (Z=90), Thorium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element PA (Z=91), Protactinium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element U (Z=92), Uranium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element NP (Z=93), Neptunium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element PU (Z=94), Plutonium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element AM (Z=95), Americium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element CM (Z=96), Curium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element BK (Z=97), Berkelium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element CF (Z=98), Californium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element ES (Z=99), Einsteinium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element FM (Z=100), Fermium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element MD (Z=101), Mendelevium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element NO (Z=102), Nobelium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>,
<Element LR (Z=103), Lawrencium, ChemicalGroup.ACTINIDE, ChemicalPhase.SOLID>]
For specific data on nuclides within each element, refer to the nuclide bases summary table.
z |
name |
symbol |
phase |
group |
is naturally occurring? |
is heavy metal? |
num. nuclides |
---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class armi.nucDirectory.elements.ChemicalPhase(value)[source]¶
Bases:
enum.Enum
An enumeration.
- GAS = 1¶
- LIQUID = 2¶
- SOLID = 3¶
- UNKNOWN = 4¶
- class armi.nucDirectory.elements.ChemicalGroup(value)[source]¶
Bases:
enum.Enum
An enumeration.
- ALKALI_METAL = 1¶
- ALKALINE_EARTH_METAL = 2¶
- NONMETAL = 3¶
- TRANSITION_METAL = 4¶
- POST_TRANSITION_METAL = 5¶
- METALLOID = 6¶
- HALOGEN = 7¶
- NOBLE_GAS = 8¶
- LANTHANIDE = 9¶
- ACTINIDE = 10¶
- UNKNOWN = 11¶
- class armi.nucDirectory.elements.Element(z, symbol, name, phase='UNKNOWN', group='UNKNOWN')[source]¶
Bases:
object
Represents an element defined on the Periodic Table.
Creates an instance of an Element.
- Parameters
- getNaturalIsotopics()[source]¶
Return a list of nuclides that are naturally occurring for this element.
Notes
This method will filter out any NaturalNuclideBases from the nuclides attribute.
- isHeavyMetal()[source]¶
Return True if all nuclides belonging to the element are heavy metals.
Notes
Heavy metal in this instance is not related to an exact weight or density cut-off, but rather is designated for nuclear fuel burn-up evaluations, where the initial heavy metal mass within a component should be tracked. It is typical to include any element/nuclide above Actinium.
- armi.nucDirectory.elements.getElementsByChemicalPhase(phase: armi.nucDirectory.elements.ChemicalPhase) List[armi.nucDirectory.elements.Element] [source]¶
Returns all elements that are of the given chemical phase.
- Parameters
phase (ChemicalPhase) – This should be one of the valid options from the ChemicalPhase class.
- Returns
elems – A list of elements that are associated with the given chemical phase.
- Return type
List[Element]
- armi.nucDirectory.elements.getElementsByChemicalGroup(group: armi.nucDirectory.elements.ChemicalGroup) List[armi.nucDirectory.elements.Element] [source]¶
Returns all elements that are of the given chemical group.
- Parameters
group (ChemicalGroup) – This should be one of the valid options from the ChemicalGroup class.
- Returns
elems – A list of elements that are associated with the given chemical group.
- Return type
List[Element]
- armi.nucDirectory.elements.getName(z: Optional[int] = None, symbol: Optional[str] = None) str [source]¶
Returns element name
Examples
>>> elements.getName(10) 'Neon' >>> elements.getName(symbol='Ne') 'Neon'
- armi.nucDirectory.elements.getSymbol(z: Optional[int] = None, name: Optional[str] = None) str [source]¶
Returns element abbreviation given atomic number Z
Examples
>>> elements.getSymbol(10) 'Ne' >>> elements.getSymbol(name='Neon') 'Ne'
- armi.nucDirectory.elements.getElementZ(symbol: Optional[str] = None, name: Optional[str] = None) int [source]¶
Get element atomic number given a symbol or name.
Examples
>>> elements.getZ('Zr') 40 >>> elements.getZ(name='Zirconium') 40
Notes
Element Z is stored in elementZBySymbol, indexed by upper-case element symbol.
- armi.nucDirectory.elements.factory()[source]¶
Generate the
Elements
instances.Warning
This method gets called by default when loading the module, so don’t call it unless you know what you’re doing. Any existing
Nuclides
may lose their reference to the underlyingElement
.
- armi.nucDirectory.elements.addGlobalElement(element: armi.nucDirectory.elements.Element)[source]¶
Add an element to the global dictionaries.