RadialState

Class Methods

__init__(species, nu, l_r)

Initialize the radial state.

calc_matrix_element(other, k_radial[, unit, ...])

Calculate the radial matrix element <self | r^k_radial | other>.

calc_overlap(other, *[, integration_method])

Calculate the overlap <self|other> of two radial states.

create_grid([x_min, x_max, dz])

Create the grid object for the integration of the radial Schrödinger equation.

create_model([potential_type])

Create the model for the Rydberg state.

create_wavefunction([method, ...])

set_n_for_sanity_check(n)

Provide n for additional sanity checks of the radial wavefunction.

Class Attributes and Properties

grid

The grid object for the integration of the radial Schrödinger equation.

model

wavefunction

class rydstate.radial.RadialState(species, nu, l_r)[source]

Initialize the radial state.

Parameters:
  • species (str | SpeciesObject) – Atomic species.

  • nu (float) – Effective principal quantum number of the rydberg electron, which is used to calculate the energy of the state.

  • l_r (int) – Orbital angular momentum quantum number of the rydberg electron.

set_n_for_sanity_check(n)[source]

Provide n for additional sanity checks of the radial wavefunction.

E.g. if n is provided, we can check whether the number of nodes in the wavefunction matches n - l - 1.

Parameters:

n (int) – Principal quantum number of the rydberg electron.

Return type:

None

property model: Model
create_model(potential_type=None)[source]

Create the model for the Rydberg state.

Parameters:

potential_type (Optional[Literal['coulomb', 'model_potential_marinescu_1993', 'model_potential_fei_2009']]) – Which potential to use for the model.

Return type:

None

property grid: Grid

The grid object for the integration of the radial Schrödinger equation.

create_grid(x_min=None, x_max=None, dz=0.01)[source]

Create the grid object for the integration of the radial Schrödinger equation.

Parameters:
  • x_min (float | None) – The minimum value of the radial coordinate in dimensionless units (x = r/a_0). Default: Automatically calculate sensible value.

  • x_max (float | None) – The maximum value of the radial coordinate in dimensionless units (x = r/a_0). Default: Automatically calculate sensible value.

  • dz (float) – The step size of the integration (z = r/a_0). Default: 1e-2.

Return type:

None

property wavefunction: Wavefunction
create_wavefunction(method='numerov', sign_convention='positive_at_outer_bound', *, run_backward=True, w0=1e-10, _use_njit=True)[source]
Return type:

None

Parameters:
  • method (Literal['numerov', 'whittaker'])

  • sign_convention (Literal['positive_at_outer_bound', 'n_l_1'] | None)

  • run_backward (bool)

  • w0 (float)

  • _use_njit (bool)

calc_overlap(other, *, integration_method='sum')[source]

Calculate the overlap <self|other> of two radial states.

Parameters:
  • other (RadialState) – Other radial state

  • integration_method (Literal['sum', 'trapezoid', 'scipy_simpson', 'scipy_trapezoid']) – Integration method to use

Return type:

float

Returns:

The overlap inegral between self and other.

calc_matrix_element(other, k_radial, unit=None, *, integration_method='sum')[source]

Calculate the radial matrix element <self | r^k_radial | other>.

Computes the integral

\[\int_{0}^{\infty} dr r^2 r^k_{radial} R_1(r) R_2(r) = a_0^{k_{radial}} \int_{0}^{\infty} dx x^k_{radial} \tilde{u}_1(x) \tilde{u}_2(x) = a_0^{k_{radial}} \int_{0}^{\infty} dz 2 z^{2 + 2k_{radial}} w_1(z) w_2(z)\]

where R_1 and R_2 are the radial wavefunctions of self and other, and w(z) = z^{-1/2} tilde{u}(z^2) = (r/_a_0)^{1/4} sqrt{a_0} r R(r).

Parameters:
  • other (RadialState) – Other radial state

  • k_radial (int) – Power of r in the matrix element (default=0, this corresponds to the overlap integral int dr r^2 R_1(r) R_2(r))

  • unit (str | None) – Unit of the returned matrix element, default None returns a Pint quantity.

  • integration_method (Literal['sum', 'trapezoid', 'scipy_simpson', 'scipy_trapezoid']) – Integration method to use

Return type:

Union[PlainQuantity[float], float]

Returns:

The radial matrix element in the desired unit.