armi.nucDirectory.elements module

Deals with elements of the periodic table.

class armi.nucDirectory.elements.Element(z, symbol, name)[source]

Bases: object

Represents an element, defined by its atomic number.

Variables
  • z (int) – atomic number, number of protons

  • symbol (str) – element symbol

  • name (str) – element name

  • nuclideBases (list of nuclideBases) – nuclideBases for this element

Creates an instance of an Element.

Parameters
  • z (int) – atomic number, number of protons

  • symbol (str) – element symbol

  • name (str) – element name

append(nuclide)[source]
isNaturallyOccurring()[source]

Calculates the total natural abundance and if this value is zero returns False. If any isotopes are naturally occurring the total abundance will be >0 so it will return True

getNaturalIsotopics()[source]

Return the nuclide bases of any naturally-occurring isotopes of this element.

Notes

Some elements have no naturally-occurring isotopes (Tc, Pu, etc.). To allow this method to be used in loops it will simply return an empty list in these situations.

isHeavyMetal()[source]
armi.nucDirectory.elements.getName(z=None, symbol=None)[source]

Returns element name

Parameters
  • z (int) – Atomic number

  • symbol (str) – Element abbreviation e.g. ‘Zr’

Examples

>>> elements.getName(10)
'Neon'
>>> elements.getName(symbol='Ne')
'Neon'
armi.nucDirectory.elements.getSymbol(z=None, name=None)[source]

Returns element abbreviation given atomic number Z

Parameters
  • z (int) – Atomic number

  • name (str) – Element name E.g. Zirconium

Examples

>>> elements.getSymbol(10)
'Ne'
>>> elements.getSymbol(name='Neon')
'Ne'
armi.nucDirectory.elements.getElementZ(symbol=None, name=None)[source]

Get element atomic number given a symbol or name.

Parameters
  • symbol (str) – Element symbol e.g. ‘Zr’

  • name (str) – Element name e.g. ‘Zirconium’

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.clearNuclideBases()[source]

Delete all nuclide base links.

Necessary when initializing nuclide base information multiple times (often in testing).

armi.nucDirectory.elements.destroy()[source]

Delete all elements.

armi.nucDirectory.elements.deriveNaturalWeights()[source]

Loop over all defined elements and compute the natural isotope-weighted atomic weight.

Must be run after all nuclideBases are initialized.

Notes

Abundances may not add exactly to 1.0 because they’re read from measurements that have uncertainties.

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 underlying Element.