This repository was archived by the owner on Nov 10, 2025. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -33,6 +33,8 @@ class BaseElement(ABC):
3333 """Atomic species."""
3434 Z : ClassVar [int ]
3535 """Atomic number of the element."""
36+ i_c : ClassVar [float ] = 0
37+ """Nuclear spin, (default 0 to ignore hyperfine structure)."""
3638 number_valence_electrons : ClassVar [int ]
3739 """Number of valence electrons (i.e. 1 for alkali atoms and 2 for alkaline earth atoms)."""
3840 ground_state_shell : ClassVar [tuple [int , int ]]
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ class HydrogenTextBook(BaseElement):
2424 """Hydrogen from QM textbook with infinite nucleus mass and no spin orbit coupling."""
2525
2626 species = "H_textbook"
27+ Z = 1
2728 number_valence_electrons = 1
2829 ground_state_shell = (1 , 0 )
2930
Original file line number Diff line number Diff line change @@ -55,16 +55,19 @@ class _RubidiumAbstract(BaseElement):
5555
5656class Rubidium87 (_RubidiumAbstract ):
5757 species = "Rb87"
58+ i_c = 3 / 2
5859
5960 _corrected_rydberg_constant = (109736.62301604665 , None , "1/cm" )
6061
6162
62- class Rubidium (Rubidium87 ):
63- # for backwards compatibility
63+ class Rubidium (_RubidiumAbstract ):
64+ # no hyperfine structure, use rydberg constant of Rb87
6465 species = "Rb"
66+ _corrected_rydberg_constant = (109736.62301604665 , None , "1/cm" )
6567
6668
6769class Rubidium85 (_RubidiumAbstract ):
6870 species = "Rb85"
71+ i_c = 5 / 2
6972
7073 _corrected_rydberg_constant = (109736.605 , None , "1/cm" )
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ class _StrontiumAbstract(BaseElement):
3737
3838class Strontium88 (_StrontiumAbstract ):
3939 species = "Sr88"
40+ i_c = 0
4041
4142 # https://physics.nist.gov/PhysRefData/Handbook/Tables/strontiumtable1.htm
4243 _isotope_mass = 87.905619 # u
@@ -73,6 +74,7 @@ class Strontium88(_StrontiumAbstract):
7374
7475class Strontium87 (_StrontiumAbstract ):
7576 species = "Sr87"
77+ i_c = 9 / 2
7678
7779 # https://physics.nist.gov/PhysRefData/Handbook/Tables/strontiumtable1.htm
7880 _isotope_mass_u = 86.908884 # u
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ class _YtterbiumAbstract(BaseElement):
2525
2626class Ytterbium171 (_YtterbiumAbstract ):
2727 species = "Yb171"
28+ i_c = 1 / 2
2829
2930 # https://physics.nist.gov/PhysRefData/Handbook/Tables/ytterbiumtable1.htm
3031 _isotope_mass = 170.936323 # u
@@ -37,6 +38,7 @@ class Ytterbium171(_YtterbiumAbstract):
3738
3839class Ytterbium173 (_YtterbiumAbstract ):
3940 species = "Yb173"
41+ i_c = 5 / 2
4042
4143 # https://physics.nist.gov/PhysRefData/Handbook/Tables/ytterbiumtable1.htm
4244 _isotope_mass = 172.938208 # u
@@ -49,6 +51,7 @@ class Ytterbium173(_YtterbiumAbstract):
4951
5052class Ytterbium174 (_YtterbiumAbstract ):
5153 species = "Yb174"
54+ i_c = 0
5255
5356 # https://physics.nist.gov/PhysRefData/Handbook/Tables/ytterbiumtable1.htm
5457 _isotope_mass = 173.938859 # u
You can’t perform that action at this time.
0 commit comments