SQDT

Class Methods

__init__()

calc_nui(n, angular_ket, *[, use_nist_data, ...])

Calculate the effective principal quantum number nui of a Rydberg state with the given n and angular ket.

get_ionization_energy([unit])

Return the ionization energy in the desired unit.

Class Attributes and Properties

ionization_energy_au

Ionization energy in atomic units (Hartree).

is_default

Whether this SQDT is the default SQDT for the species.

nist_data_file

Name of the file (in the species directory) with the low-lying NIST energy levels, usually "nist_data.txt".

quantum_defects

Dictionary containing the quantum defects for each (l, j_tot, s_tot) combination, i.e. quantum_defects[(l,j_tot,s_tot)] = [d0, d2, d4, d6, d8].

reference_ionization_energy_au

Reference ionization energy in atomic units (Hartree).

tag

The tag for these SQDT parameters.

species

The short name of the atomic species.

ionization_energy

(value, unit).

class rydstate.species.SQDT[source]

Base class for all SQDT classes.

Parameters:
  • args (object)

  • kwargs (object)

Return type:

CachedT

species: ClassVar[str]

The short name of the atomic species.

tag: ClassVar[str | None] = None

The tag for these SQDT parameters.

is_default: ClassVar[bool] = False

Whether this SQDT is the default SQDT for the species.

nist_data_file: ClassVar[str | None] = None

Name of the file (in the species directory) with the low-lying NIST energy levels, usually "nist_data.txt". Left as None for species without a NIST data file.

ionization_energy: ClassVar[tuple[float, str]]

(value, unit).

Type:

Ionization energy

quantum_defects: ClassVar[dict[tuple[int, float, float], list[float]] | None] = None

Dictionary containing the quantum defects for each (l, j_tot, s_tot) combination, i.e. quantum_defects[(l,j_tot,s_tot)] = [d0, d2, d4, d6, d8]

get_ionization_energy(unit=None)[source]

Return the ionization energy in the desired unit.

Overloads:
  • self, unit (None) → PintFloat

  • self, unit (str) → float

Parameters:

unit (str | None) – Desired unit for the ionization energy. Default is None (returns a Pint quantity).

Returns:

Ionization energy in the desired unit.

Return type:

PlainQuantity[float] | float

property ionization_energy_au: float

Ionization energy in atomic units (Hartree).

property reference_ionization_energy_au: float

Reference ionization energy in atomic units (Hartree).

The reference ionization energy defines nu via

\[E = I_i - \frac{Z^2 R_M}{\nu_i^2} = I_{\text{ref}} - \frac{Z^2 R_M}{\nu^2}\]

If no _reference_ionization_energy is defined (as it is the case e.g. for all alkali atoms), the ionization_energy is used as the reference and nu = nui.

calc_nui(n, angular_ket, *, use_nist_data=True, nist_n_max=15)[source]

Calculate the effective principal quantum number nui of a Rydberg state with the given n and angular ket.

The effective principal quantum number nui is defined with reference to the ionization_energy, i.e. it describes the binding energy of the Rydberg electron \(E = I_i - \frac{Z^2 R_M}{\nu_i^2}\) with the mass corrected Rydberg constant \(R_M = R_\infty \mu/m_e\).

I.e. either look up the energy for low lying states in the nist data (if use_nist_data is True), and calculate nui from the energy via (see also calc_nu_from_energy):

\[\nu_i = Z \sqrt{\frac{1}{2} \frac{\mu/m_e}{-(E - I)/E_H}}\]

Or calculate nui via the quantum defect theory, where nui is defined as series expansion \(\nu_i = 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

Parameters:
  • n (int) – The principal quantum number of the Rydberg state.

  • angular_ket (AngularKetBase[Any]) – The angular ket specifying l, j_tot, and s_tot 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