Cesium
Class Methods
|
Initialize an element instance. |
|
Calculate the energy of a Rydberg state with for the given n, l, j_tot and s_tot. |
|
Create an instance of the element class from the species string. |
Get a list of all available species in the library. |
|
|
Return the corrected Rydberg constant in the desired unit. |
|
Return the ionization energy in the desired unit. |
|
Check if the quantum numbers describe an allowed shell. |
Class Attributes and Properties
Atomic number of the element. |
|
Static dipole polarizability in atomic units (a.u.), used for the parametric model potential. |
|
Shell (n, l) describing the electronic ground state configuration. |
|
Parameters (delta, alpha, beta, gamma) for the new four-parameter potential, used in the model potential defined in: Y. |
|
(a_1, a_2, a_3, a_4)} for the parametric model potential. |
|
Number of valence electrons (i.e. 1 for alkali atoms and 2 for alkaline earth atoms). |
|
Default potential type to use for this element. |
|
r_c} to truncate the unphysical short-range contribution of the polarization potential. |
|
The reduced mass factor mu. |
|
Atomic species. |
- class ryd_numerov.elements.Cesium(use_nist_data=True, *, nist_n_max=15)[source]
Initialize an element instance.
Use this init method to set up additional properties and data for the element, like loading NIST energy levels from a file.
- Parameters:
use_nist_data (
bool
) – Whether to use NIST data for this element. Default is True.nist_n_max (
int
) – Maximum principal quantum number for which to load the NIST energy levels. Default is 15.
- species: ClassVar[str] = 'Cs'
Atomic species.
- Z: ClassVar[int] = 55
Atomic number of the element.
- number_valence_electrons: ClassVar[int] = 1
Number of valence electrons (i.e. 1 for alkali atoms and 2 for alkaline earth atoms).
- ground_state_shell: ClassVar[tuple[int, int]] = (6, 0)
Shell (n, l) describing the electronic ground state configuration.
- potential_type_default: Optional['PotentialType'] = 'model_potential_marinescu_1993'
Default potential type to use for this element. If None, the potential type must be specified explicitly. In general, it looks like marinescu_1993 is better for alkali atoms, and fei_2009 is better for alkaline earth atoms
- alpha_c_marinescu_1993: ClassVar[float] = 15.644
Static dipole polarizability in atomic units (a.u.), used for the parametric model potential. See also: Phys. Rev. A 49, 982 (1994)
-
r_c_dict_marinescu_1993:
ClassVar
= {0: 1.9204693, 1: 2.13383095, 2: 0.93007296, 3: 1.99969677} r_c} to truncate the unphysical short-range contribution of the polarization potential. See also: Phys. Rev. A 49, 982 (1994)
- Type:
Cutoff radius {l
-
model_potential_parameter_marinescu_1993:
ClassVar
= {0: (3.49546309, 1.475338, -9.72143084, 0.02629242), 1: (4.69366096, 1.71398344, -24.6562428, -0.09543125), 2: (4.32466196, 1.61365288, -6.7012885, -0.74095193), 3: (3.01048361, 1.40000001, -3.20036138, 0.00034538)} (a_1, a_2, a_3, a_4)} for the parametric model potential. See also: M. Marinescu, Phys. Rev. A 49, 982 (1994), https://journals.aps.org/pra/abstract/10.1103/PhysRevA.49.982
- Type:
Parameters {l
- model_potential_parameter_fei_2009: tuple[float, float, float, float] = (0.9447, 14.7149, 0.2944, 0.1934)
Parameters (delta, alpha, beta, gamma) for the new four-parameter potential, used in the model potential defined in: Y. Fei et al., Chin. Phys. B 18, 4349 (2009), https://iopscience.iop.org/article/10.1088/1674-1056/18/10/025
- calc_energy(n, l, j_tot, s_tot, unit='hartree')
Calculate the energy of a Rydberg state with for the given n, l, j_tot and s_tot.
I.e. either look up the energy for low lying states in the nist data, or calculate it via the quantum defect theory.
The effective principal quantum number in quantum defect theory is defined as series expansion \(n^* = n - \delta_{lj}(n)\) where :rtype:
Union
[PlainQuantity
[float
],float
]\[\delta_{lj}(n) = d0_{lj} + d2_{lj} / [n - d0_{lj}(n)]^2 + d4_{lj} / [n - \delta_{lj}(n)]^4 + ...\]is the quantum defect. The energy of the Rydberg state is then given by
\[E_{nlj} / E_H = -\frac{1}{2} \frac{Ry}{Ry_\infty} \frac{1}{n^*}\]where \(E_H\) is the Hartree energy (the atomic unit of energy).
References
On a New Law of Series Spectra, Ritz; DOI: 10.1086/141591, https://ui.adsabs.harvard.edu/abs/1908ApJ….28..237R/abstract
Rydberg atoms, Gallagher; DOI: 10.1088/0034-4885/51/2/001, (Eq. 16.19)
- Parameters:
n (int)
l (int)
j_tot (float)
s_tot (float)
unit (str | None)
- Return type:
PlainQuantity[float] | float
- classmethod from_species(cls, species, use_nist_data=True)
Create an instance of the element class from the species string.
This method searches through all subclasses of BaseElement until it finds one with a matching species attribute. This approach allows for easy extension of the library with new elements. A user can even subclass BaseElement in his code (without modifying the ryd-numerov library), e.g. class CustomRubidium(BaseElement): species = “Custom_Rb” … and then use the new element by calling RydbergState(“Custom_Rb”, …)
- Parameters:
species (
str
) – The species string (e.g. “Rb”).use_nist_data (
bool
) – Whether to use NIST data for this element. Default is True.
- Return type:
- Returns:
An instance of the corresponding element class.
- classmethod get_available_species()
Get a list of all available species in the library.
This method returns a list of species strings for all concrete subclasses of BaseElement.
- Return type:
list
[str
]- Returns:
List of species strings.
- get_corrected_rydberg_constant(unit='hartree')
Return the corrected Rydberg constant in the desired unit.
The corrected Rydberg constant is defined as
\[R_M = R_\infty * \frac{m_{Core}}{m_{Core} + m_e}\]where \(R_\infty\) is the Rydberg constant for infinite nuclear mass, \(m_{Core}\) is the mass of the core, and \(m_e\) is the mass of the electron.
- Parameters:
unit (
Optional
[str
]) – Desired unit for the corrected Rydberg constant. Default is atomic units “hartree”.- Return type:
Union
[PlainQuantity
[float
],float
]- Returns:
Corrected Rydberg constant in the desired unit.
- get_ionization_energy(unit='hartree')
Return the ionization energy in the desired unit.
- Parameters:
unit (
Optional
[str
]) – Desired unit for the ionization energy. Default is atomic units “hartree”.- Return type:
Union
[PlainQuantity
[float
],float
]- Returns:
Ionization energy in the desired unit.
- is_allowed_shell(n, l, s_tot)
Check if the quantum numbers describe an allowed shell.
I.e. whether the shell is above the ground state shell.
- Parameters:
n (
int
) – Principal quantum numberl (
int
) – Orbital angular momentum quantum numbers_tot (
float
) – Total spin quantum number
- Return type:
bool
- Returns:
True if the quantum numbers specify a shell equal to or above the ground state shell, False otherwise.
- property reduced_mass_factor: float
The reduced mass factor mu.
The reduced mass factor
\[\mu = \frac{m_{Core}}{m_{Core} + m_e}\]calculated via the corrected Rydberg constant
\[\mu = \frac{R_M}{R_\infty}\]