Rubidium
Class Methods
|
Initialize an species instance. |
|
Calculate the effective principal quantum number nu of a Rydberg state with the given n, l, j_tot and s_tot. |
|
Create an instance of the species class from the species name. |
Get a list of all available species names 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 species. |
|
Static dipole polarizability in atomic units (a.u.), used for the parametric model potential. |
|
Shell (n, l) describing the electronic ground state configuration. |
|
Nuclear spin, (default None to ignore hyperfine structure, will be treated like i_c = 0). |
|
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. |
|
The name of the atomic species. |
|
Number of valence electrons (i.e. 1 for alkali atoms and 2 for alkaline earth atoms). |
|
Default potential type to use for this species. |
|
r_c} to truncate the unphysical short-range contribution of the polarization potential. |
|
The reduced mass mu in atomic units. |
- class rydstate.species.Rubidium[source]
Initialize an species instance.
Use this init method to set up additional properties and data for the species, like loading NIST energy levels from a file.
- name: ClassVar[str] = 'Rb'
The name of the atomic species.
- Z: ClassVar[int] = 37
Atomic number of the species.
- alpha_c_marinescu_1993: ClassVar[float] = 9.076
Static dipole polarizability in atomic units (a.u.), used for the parametric model potential. See also: Phys. Rev. A 49, 982 (1994)
- calc_nu(n, l, j_tot, s_tot=None, *, use_nist_data=True, nist_n_max=15)
Calculate the effective principal quantum number nu of a Rydberg state with the given n, l, j_tot and s_tot.
I.e. either look up the energy for low lying states in the nist data (if use_nist_data is True), and calculate nu from the energy via (see also calc_nu_from_energy):
\[\nu = \sqrt{\frac{1}{2} \frac{\mu/m_e}{-E/E_H}}\]Or calculate nu via the quantum defect theory, where nu is defined as series expansion \(\nu = n^* = n - \delta_{lj}(n)\) with the quantum defect
\[\delta_{lj}(n) = d0_{lj} + d2_{lj} / [n - d0_{lj}(n)]^2 + d4_{lj} / [n - \delta_{lj}(n)]^4 + ...\]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) – The principal quantum number of the Rydberg state.l (
int) – The orbital angular momentum quantum number of the Rydberg state.j_tot (
float) – The total angular momentum quantum number of the Rydberg state.s_tot (
float|None) – The total spin quantum number of the Rydberg state.use_nist_data (
bool) – Whether to use NIST energy data. Default is True.nist_n_max (
int) – Maximum principal quantum number for which to use the NIST energy data. Default is 15.
- Return type:
float
- classmethod from_name(cls, name)
Create an instance of the species class from the species name.
This method searches through all subclasses of SpeciesObject until it finds one with a matching species name. This approach allows for easy extension of the library with new species. A user can even subclass SpeciesObject in his code (without modifying the rydstate library), e.g. class CustomRubidium(SpeciesObject): name = “Custom_Rb” … and then use the new species by calling RydbergStateAlkali(“Custom_Rb”, …)
- Parameters:
name (
str) – The species name (e.g. “Rb”).- Return type:
- Returns:
An instance of the corresponding species class.
- classmethod get_available_species()
Get a list of all available species names in the library.
This method returns a list of species names for all concrete subclasses of SpeciesObject.
- Return type:
list[str]- Returns:
List of species names.
- 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 (
str|None) – 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 (
str|None) – Desired unit for the ionization energy. Default is atomic units “hartree”.- Return type:
Union[PlainQuantity[float],float]- Returns:
Ionization energy in the desired unit.
- ground_state_shell: ClassVar[tuple[int, int]] = (5, 0)
Shell (n, l) describing the electronic ground state configuration.
- i_c: ClassVar[float | None] = None
Nuclear spin, (default None to ignore hyperfine structure, will be treated like i_c = 0).
- is_allowed_shell(n, l, s_tot=None)
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|None) – 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.
- model_potential_parameter_fei_2009: tuple[float, float, float, float] = (0.9708, 13.9706, 0.2909, 0.2215)
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
- model_potential_parameter_marinescu_1993: ClassVar = {0: (3.69628474, 1.64915255, -9.86069196, 0.19579987), 1: (4.44088978, 1.92828831, -16.7959777, -0.81633314), 2: (3.78717363, 1.57027864, -11.6558897, 0.52942835), 3: (2.39848933, 1.76810544, -12.0710678, 0.77256589)}
(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
- number_valence_electrons: ClassVar[int] = 1
Number of valence electrons (i.e. 1 for alkali atoms and 2 for alkaline earth atoms).
- potential_type_default: PotentialType | None = 'model_potential_marinescu_1993'
Default potential type to use for this species. 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
- r_c_dict_marinescu_1993: ClassVar = {0: 1.66242117, 1: 1.50195124, 2: 4.86851938, 3: 4.79831327}
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
- property reduced_mass_au: float
The reduced mass mu in atomic units.
The reduced mass in atomic units \(\mu / m_e\) is given by
\[\frac{\mu}{m_e} = \frac{m_{Core}}{m_{Core} + m_e}\]We calculate the reduced mass via the corrected Rydberg constant
\[\frac{\mu}{m_e} = \frac{R_M}{R_\infty}\]