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.

../_images/pyr_classes_armi.nucDirectory.elements.png

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.

List of elements

z

name

symbol

phase

group

is naturally occurring?

is heavy metal?

num. nuclides

1

Hydrogen

H

ChemicalPhase.GAS

ChemicalGroup.NONMETAL

True

False

8

2

Helium

HE

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

True

False

9

3

Lithium

LI

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

True

False

12

4

Beryllium

BE

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

True

False

13

5

Boron

B

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

17

6

Carbon

C

ChemicalPhase.SOLID

ChemicalGroup.NONMETAL

True

False

17

7

Nitrogen

N

ChemicalPhase.GAS

ChemicalGroup.NONMETAL

True

False

17

8

Oxygen

O

ChemicalPhase.GAS

ChemicalGroup.NONMETAL

True

False

19

9

Fluorine

F

ChemicalPhase.GAS

ChemicalGroup.HALOGEN

True

False

21

10

Neon

NE

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

True

False

21

11

Sodium

NA

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

True

False

25

12

Magnesium

MG

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

True

False

24

13

Aluminium

AL

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

26

14

Silicon

SI

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

25

15

Phosphorus

P

ChemicalPhase.SOLID

ChemicalGroup.NONMETAL

True

False

25

16

Sulfur

S

ChemicalPhase.SOLID

ChemicalGroup.NONMETAL

True

False

25

17

Chlorine

CL

ChemicalPhase.GAS

ChemicalGroup.HALOGEN

True

False

28

18

Argon

AR

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

True

False

27

19

Potassium

K

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

True

False

32

20

Calcium

CA

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

True

False

30

21

Scandium

SC

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

37

22

Titanium

TI

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

32

23

Vanadium

V

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

35

24

Chromium

CR

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

34

25

Manganese

MN

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

39

26

Iron

FE

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

38

27

Cobalt

CO

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

41

28

Nickel

NI

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

39

29

Copper

CU

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

38

30

Zinc

ZN

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

42

31

Gallium

GA

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

38

32

Germanium

GE

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

42

33

Arsenic

AS

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

41

34

Selenium

SE

ChemicalPhase.SOLID

ChemicalGroup.NONMETAL

True

False

42

35

Bromine

BR

ChemicalPhase.LIQUID

ChemicalGroup.HALOGEN

True

False

48

36

Krypton

KR

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

True

False

42

37

Rubidium

RB

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

True

False

44

38

Strontium

SR

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

True

False

41

39

Yttrium

Y

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

57

40

Zirconium

ZR

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

43

41

Niobium

NB

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

57

42

Molybdenum

MO

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

44

43

Technetium

TC

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

False

56

44

Ruthenium

RU

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

48

45

Rhodium

RH

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

64

46

Palladium

PD

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

53

47

Silver

AG

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

74

48

Cadmium

CD

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

56

49

Indium

IN

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

88

50

Tin

SN

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

59

51

Antimony

SB

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

64

52

Tellurium

TE

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

True

False

56

53

Iodine

I

ChemicalPhase.SOLID

ChemicalGroup.HALOGEN

True

False

53

54

Xenon

XE

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

True

False

54

55

Cesium

CS

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

True

False

63

56

Barium

BA

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

True

False

53

57

Lanthanum

LA

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

57

58

Cerium

CE

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

53

59

Praseodymium

PR

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

53

60

Neodymium

ND

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

51

61

Promethium

PM

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

False

False

57

62

Samarium

SM

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

52

63

Europium

EU

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

56

64

Gadolinium

GD

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

48

65

Terbium

TB

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

62

66

Dysprosium

DY

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

48

67

Holmium

HO

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

64

68

Erbium

ER

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

47

69

Thulium

TM

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

55

70

Ytterbium

YB

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

49

71

Lutetium

LU

ChemicalPhase.SOLID

ChemicalGroup.LANTHANIDE

True

False

69

72

Hafnium

HF

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

54

73

Tantalum

TA

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

56

74

Tungsten

W

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

50

75

Rhenium

RE

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

65

76

Osmium

OS

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

52

77

Iridium

IR

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

76

78

Platinum

PT

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

60

79

Gold

AU

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

True

False

75

80

Mercury

HG

ChemicalPhase.LIQUID

ChemicalGroup.TRANSITION_METAL

True

False

61

81

Thallium

TL

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

75

82

Lead

PB

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

67

83

Bismuth

BI

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

True

False

78

84

Polonium

PO

ChemicalPhase.SOLID

ChemicalGroup.METALLOID

False

False

57

85

Astatine

AT

ChemicalPhase.SOLID

ChemicalGroup.HALOGEN

False

False

57

86

Radon

RN

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

False

False

48

87

Francium

FR

ChemicalPhase.SOLID

ChemicalGroup.ALKALI_METAL

False

False

50

88

Radium

RA

ChemicalPhase.SOLID

ChemicalGroup.ALKALINE_EARTH_METAL

False

False

44

89

Actinium

AC

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

False

40

90

Thorium

TH

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

True

True

38

91

Protactinium

PA

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

True

True

38

92

Uranium

U

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

True

True

34

93

Neptunium

NP

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

33

94

Plutonium

PU

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

34

95

Americium

AM

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

40

96

Curium

CM

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

26

97

Berkelium

BK

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

26

98

Californium

CF

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

25

99

Einsteinium

ES

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

28

100

Fermium

FM

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

26

101

Mendelevium

MD

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

27

102

Nobelium

NO

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

25

103

Lawrencium

LR

ChemicalPhase.SOLID

ChemicalGroup.ACTINIDE

False

True

24

104

Rutherfordium

RF

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

24

105

Dubnium

DB

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

22

106

Seaborgium

SG

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

19

107

Bohrium

BH

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

20

108

Hassium

HS

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

21

109

Meitnerium

MT

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

19

110

Darmstadtium

DS

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

20

111

Roentgenium

RG

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

15

112

Copernicium

CN

ChemicalPhase.SOLID

ChemicalGroup.TRANSITION_METAL

False

True

13

113

Nihonium

NH

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

False

True

13

114

Flevrovium

FL

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

False

True

8

115

Moscovium

MC

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

False

True

6

116

Livermorium

LV

ChemicalPhase.SOLID

ChemicalGroup.POST_TRANSITION_METAL

False

True

5

117

Tennessine

TS

ChemicalPhase.SOLID

ChemicalGroup.HALOGEN

False

True

4

118

Oganesson

OG

ChemicalPhase.GAS

ChemicalGroup.NOBLE_GAS

False

True

3

119

Dummy

DP

ChemicalPhase.UNKNOWN

ChemicalGroup.UNKNOWN

False

True

2

120

LumpedFissionProduct

LP

ChemicalPhase.UNKNOWN

ChemicalGroup.UNKNOWN

False

True

6

class armi.nucDirectory.elements.ChemicalPhase(value)[source]

Bases: Enum

An enumeration.

GAS = 1
LIQUID = 2
SOLID = 3
UNKNOWN = 4
class armi.nucDirectory.elements.ChemicalGroup(value)[source]

Bases: 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:
  • z (int) – atomic number, number of protons

  • symbol (str) – element symbol

  • name (str) – element name

  • phase (str) – Chemical phase of the element at standard temperature and pressure (e.g., gas, liquid, solid).

  • group (str) – Chemical group of the element.

append(nuclide)[source]

Assigns and sorts the nuclide to the element and ensures no duplicates.

isNaturallyOccurring()[source]

Return True if the element is occurs in nature.

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: ChemicalPhase) List[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: ChemicalGroup) List[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.

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: Optional[int] = None, name: Optional[str] = None) str[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: Optional[str] = None, name: Optional[str] = None) int[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.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.

armi.nucDirectory.elements.addGlobalElement(element: Element)[source]

Add an element to the global dictionaries.

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

Delete all global elements.