SQDT

Class Methods

__init__()

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

Calculate the effective principal quantum number nu of a Rydberg state with the given n, l, j_tot and s_tot.

get_ionization_energy([unit])

is_allowed_shell(n, l, s_tot)

Check if the quantum numbers describe an allowed shell.

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.

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).

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.

ionization_energy: ClassVar[tuple[float, str]]

(value, unit).

Type:

Ionization energy and unit

quantum_defects: ClassVar[dict[tuple[int, float, float], tuple[float, ...] | list[float] | 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)

is_allowed_shell(n, l, s_tot)[source]

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 number

  • l (int) – Orbital angular momentum quantum number

  • s_tot (float | Unknown) – 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.

get_ionization_energy(unit=None)[source]
Overloads:
  • self, unit (None) → PintFloat

  • self, unit (str) → float

Parameters:

unit (str | None)

Return type:

PlainQuantity[float] | float

Return the ionization energy in the desired unit.

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).

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

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

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