Implements general calculations for Alkaline Earths, and other divalent
atoms.
This class inherits arc.alkali_atom_functions.AlkaliAtom .
Most of the methods can be directly used from there, and the source
for them is provided in the base class. Few methods that are
implemented differently for Alkaline Earths are defined here.
Parameters:
preferQuantumDefects (bool) – Use quantum defects for energy level calculations. If False,
uses NIST ASD values where available. If True, uses quantum
defects for energy calculations for principal quantum numbers
within the range specified in defectFittingRange which
is specified for each element and series separately.
For principal quantum numbers below this value, NIST ASD values
are used if existing, since quantum defects. Default is True.
cpp_numerov (bool) – This switch for Alkaline Earths at the moment doesn’t have
any effect since wavefunction calculation function is not
implemented (d.m.e. and quadrupole matrix elements are
calculated directly semiclassically)
Returns exact Zeeman energies math:E_z for states
\(\vert F,m_f\rangle\) in the \(\ell,j\) manifold via exact
diagonalisation of the Zeeman interaction \(\mathcal{H}_z\) and
the hyperfine interaction \(\mathcal{H}_\mathrm{hfs}\) given by
equations
Used for AlkalineEarths to define minimum and maximum principal quantum
number for which quantum defects are valid. Ranges are stored under
keys defined as state terms ({‘stateLabel’:[minN, maxN]}, e.g. ‘1S0’).
Dictionary returns array
stating minimal and maximal principal quantum number for which quantum
defects were fitted. For example:
limits=self.defectFittingRange['1S0']print("Minimal n = %d"%limits[0])print("Maximal n = %d"%limits[1])1
flag that is turned to True if the energy levels of this atom were
calculated by extrapolating with quantum defects values outside the
quantum defect fitting range.
Frequency shift of an atomic state induced by black-body radiation
using the Farley-Wing function.
Uses getFarleyWing as part of the calculation.
n, l, j (int,int,float): specifies state whose shift we are
calculating
temperatureoptional. Temperature at which the atom
environment is, measured in K. If this parameter
is non-zero, user has to specify transitions up to
which state (due to black-body decay) should be included
in calculation.
includeLevelsUpTo (int): optional and not needed for atom
lifetimes calculated at zero temperature. At non zero
temperatures, this specify maximum principal quantum number
of the state to which black-body induced transitions will
be included. Minimal value of the parameter in that case is
\(n+1\)
Calculates \(C_6\) intaraction term for \(|n,l,j,n,l,j \rangle \leftrightarrow |n_1,l_1,j_1,n_2,l_2,j_2\rangle\).
For details of calculation see Ref. [2].
We can reproduce values from Ref. [2] for C3 coupling
to particular channels. Taking for example channels described
by the Eq. (50a-c) we can get the values:
which is in good agreement with the values cited in the
Ref. [2]. Small discrepancies for Caesium originate from
slightly different quantum defects used in calculations.
Dipole matrix element
\(\langle n_1 l_1 j_1 m_{j_1} |e\mathbf{r}|\
n_2 l_2 j_2 m_{j_2}\rangle\)
in units of \(a_0 e\)
Parameters:
l1 (n1.) – principal, orbital, total angular momentum,
and projection of total angular momentum for state 1
j1 – principal, orbital, total angular momentum,
and projection of total angular momentum for state 1
mj1 – principal, orbital, total angular momentum,
and projection of total angular momentum for state 1
l2 (n2.) – principal, orbital, total angular momentum,
and projection of total angular momentum for state 2
j2 – principal, orbital, total angular momentum,
and projection of total angular momentum for state 2
mj2 – principal, orbital, total angular momentum,
and projection of total angular momentum for state 2
q (int) – specifies transition that the driving field couples to,
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
s (float) – optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
For example, calculation of \(5 S_{1/2}m_j=-\frac{1}{2}\
\rightarrow 5 P_{3/2}m_j=-\frac{3}{2}\)
transition dipole matrix element for laser driving
\(\sigma^-\) transition:
Dipole matrix element for hyperfine structure resolved transitions
\(\langle n_1 l_1 j_1 f_1 m_{f_1} |e\mathbf{r}|\
n_2 l_2 j_2 f_2 m_{f_2}\rangle\)
in units of \(a_0 e\)
n1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
l1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
j1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
f1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
mf1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
n2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 2
l2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 2
j2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 2
f2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 2
mf2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 2
q (int) – specifies transition that the driving field couples to,
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
s (float) – optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
Dipole matrix element for transition from hyperfine resolved state
to unresolved fine-structure state
\(\langle n_1 l_1 j_1 f_1 m_{f_1} |e\mathbf{r}|\
n_2 l_2 j_2 m_{j_2}\rangle\)
in units of \(a_0 e\)
l1 (n1.) – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
j1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
f1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
mf1 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
l2 (n2.) – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
j2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
mj2 – principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
q (int) – specifies transition that the driving field couples to,
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
s (float) – optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
Energy of the level relative to the ionisation level (in eV)
Returned energies are with respect to the center of gravity of the
hyperfine-split states.
If preferQuantumDefects =False (set during initialization)
program will try use NIST energy value, if such exists,
falling back to energy calculation with quantum defects if
the measured value doesn’t exist. For preferQuantumDefects =True,
program will calculate energies from quantum defects
(useful for comparing quantum defect calculations with measured
energy level values) if the principal quantum number of the
requested state is larger than the minimal quantum principal quantum
number self.minQuantumDefectN which sets minimal quantum number
for which quantum defects still give good estimate of state energy
(below this value saved energies will be used if existing).
s (float) – optional, total spin angular momentum. Default value
of 0.5 is correct for Alkali atoms, and has to be specified
explicitly for divalent atoms.
Calculates the Farley Wing function in the context of a BBR shift, uses a closed
form for the integral (which has a singularity, need Cauchy principal value)
References
(Farley, John W., and William H. Wing. Physical Review A 23.5 (1981): 2397
doi = {10.1103/PhysRevA.23.2397}
(A.A. Kamenski et al 2019 Quantum Electron. 49 464, DOI:10.1070/QEL17000 )
Returns literature information on requested transition.
Parameters:
n1 – one of the states we are coupling
l1 – one of the states we are coupling
j1 – one of the states we are coupling
n2 – the other state to which we are coupling
l2 – the other state to which we are coupling
j2 – the other state to which we are coupling
s – (optional) spin of the state. Default s=0.
Returns:
hasLiteratureValue?, dme, referenceInformation
If Boolean value is True, a literature value for
dipole matrix element was found and reduced DME in J basis
is returned as the number. The third returned argument
(array) contains additional information about the
literature value in the following order [ typeOfSource,
errorEstimate , comment , reference, reference DOI]
upon success to find a literature value for dipole matrix
element:
typeOfSource=1 if the value is theoretical calculation; otherwise, if it is experimentally obtained value typeOfSource=0
comment details where within the publication the value can be found
errorEstimate is absolute error estimate
reference is human-readable formatted reference
reference DOI provides link to the publication.
Boolean value is False, followed by zero and an empty
array if no literature value for dipole matrix element is
found.
The literature values are stored in /data folder in
<element name>_literature_dme.csv files as a ; separated
values. Each row in the file consists of one literature entry,
that has information in the following order:
n1
l1
j1
n2
l2
j2
s
dipole matrix element reduced l basis (a.u.)
comment (e.g. where in the paper value appears?)
value origin: 1 for theoretical; 0 for experimental values
accuracy
source (human readable formatted citation)
doi number (e.g. 10.1103/RevModPhys.82.2313 )
If there are several values for a given transition, program
outputs the value that has smallest error (under column
accuracy). The list of values can be expanded - every time
program runs this file is read and the list is parsed again
for use in calculations.
Magnetic dipole matrix element \(\langle f_1,m_{f_1} \vert \mu_q \vert f_2,m_{f_2}\rangle\) for transitions from \(\vert f_1,m_{f_1}\rangle\rightarrow\vert f_2,m_{f_2}\rangle\) within the same \(n,\ell,j\) state in units of \(\mu_B B_q\).
The magnetic dipole matrix element is given by
\(\langle f_1,m_{f_1}\vert \mu_q \vert f_2,m_{f_2}\rangle = g_J \mu_B B_q (-1)^{f_2+j+I+1+f_1-m_{f_1}} \sqrt{(2f_1+1)(2f_2+1)j(j+1)(2j+1)} \begin{pmatrix}f_1&1&f_2\\-m_{f_1} & -q & m_{f_2}\end{pmatrix} \begin{Bmatrix}f_1&1&f_2\\j & I & j\end{Bmatrix}\)
Args:
l, j, f1, mf1: orbital, total orbital,
fine basis (total atomic) angular momentum,total anuglar momentum
and projection of total angular momentum for state 1
f2,mf2: principal, orbital, total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
q (int): specifies transition that the driving field couples to,
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
s (float): optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
Returns:
float: magnetic dipole matrix element (in units of \(\mu_BB_q\))
s (float) – (optional). Total spin angular momentum.
Default value of 0.5 correct for Alkali atoms. For divalent
atoms it has to be explicitly defined.
s (float) – is required argument, total spin angular momentum of
state. Specify s=0 for singlet state or s=1 for
triplet state.
useLiterature (bool) – optional, should literature values for
dipole matrix element be used if existing? If true,
compiled values stored in literatureDMEfilename variable
for a given atom (file is stored locally at ~/.arc-data/),
will be checked, and if the value is found, selects the
value with smallest error estimate (if there are multiple
entries). If no value is found, it will default to numerical
integration of wavefunctions. By default True.
Reduced matrix element in \(J\) basis, defined in asymmetric
notation.
Note that notation for symmetric and asymmetricly defined
reduced matrix element is not consistent in the literature. For
example, notation is used e.g. in Steck [1] is precisely
the oposite.
Note
Note that this notation is asymmetric: \(( j||e r ||j' ) \neq ( j'||e r ||j )\).
Relation between the two notation is \(\langle j||er||j' \rangle=\sqrt{2j+1} ( j ||er ||j')\).
This function always returns value for transition from
lower to higher energy state, independent of the order of
states entered in the function call.
Saturation Intensity \(I_\mathrm{sat}\) for transition \(\vert j_g,f_g,m_{f_g}\rangle\rightarrow\vert j_e,f_e,m_{f_e}\rangle\) in units of \(\mathrm{W}/\mathrm{m}^2\).
getSaturationIntensityIsotropic(ng, lg, jg, fg, ne, le, je, fe)#
Isotropic Saturation Intensity \(I_\mathrm{sat}\) for transition \(f_g\rightarrow f_e\) averaged over all polarisations in units of \(\mathrm{W}/\mathrm{m}^2\).
j1 (float) – total orbital angular momentum of state 1
mj1 (float) – projection of total orbital angular momentum of state 1
j2 (float) – total orbital angular momentum of state 2
mj2 (float) – projection of total orbital angular momentum of state 2
q (int) – specifies transition that the driving field couples to,
from state 1 to state 2, with
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
Returns:
(units of reduced matrix element \(<j||er||j'>\) )
Spherical matrix element for transition from hyperfine resolved state
to unresolved fine-structure state
\(\langle f,m_f \vert\mu_q\vert j',m_j'\rangle\)
in units of \(\langle j\vert\vert\mu\vert\vert j'\rangle\)
Parameters:
j1 – total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
f1 – total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
mf1 – total orbital,
fine basis (total atomic) angular momentum,
and projection of total angular momentum for state 1
j2 – total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
mj2 – total orbital,
fine basis (total atomic) angular momentum,
and projection of total orbital angular momentum for state 2
q (int) – specifies transition that the driving field couples to,
+1, 0 or -1 corresponding to driving \(\sigma^+\),
\(\pi\) and \(\sigma^-\) transitions respectively.
s (float) – optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
For non-zero temperatures, user must specify up to which principal
quantum number levels, that is above the initial state, should
be included in order to account for black-body induced transitions
to higher lying states. See Rydberg lifetimes example snippet.
Parameters:
n (int,int,float) – specifies state whose lifetime we are
calculating
l (int,int,float) – specifies state whose lifetime we are
calculating
j (int,int,float) – specifies state whose lifetime we are
calculating
temperature – optional. Temperature at which the atom
environment is, measured in K. If this parameter
is non-zero, user has to specify transitions up to
which state (due to black-body decay) should be included
in calculation.
includeLevelsUpTo (int) – optional and not needed for atom
lifetimes calculated at zero temperature. At non zero
temperatures, this specify maximum principal quantum number
of the state to which black-body induced transitions will
be included. Minimal value of the parameter in that case is
\(n+1\)
s (float) – optional, total spin angular momentum of state.
By default 0.5 for Alkali atoms.
Transition rate due to coupling to vacuum modes
(black body included)
Calculates transition rate from the first given state to the second
given state \(|n_1,l_1,j_1\rangle \rightarrow |n_2,j_2,j_2\rangle\) at given temperature due to interaction with
the vacuum field. For zero temperature this returns Einstein A
coefficient. For details of calculation see Ref. [3] and
Ref. [4].
See Black-body induced population transfer example snippet.
Returns two-photon Rabi frequency \(\Omega_R\), differential AC Stark shift \(\Delta_\mathrm{AC}\) and probability to scatter a photon during a \(\pi\)-pulse \(P_\mathrm{sc}\) for two-photon ground-state Raman transitions from \(\vert f_g,m_{f_g}\rangle\rightarrow\vert nL_{j_r} j_r,m_{j_r}\rangle\) via an intermediate excited state \(n_e,\ell_e,j_e\).
Pa – power (W), of laser a \(\vert 0 \rangle\rightarrow\vert e\rangle\)
wa – beam waist (m) of laser a \(\vert 0 \rangle\rightarrow\vert e\rangle\)
qa – polarisation (+1, 0 or -1 corresponding to driving \(\sigma^+\), \(\pi\) and \(\sigma^-\))
of laser a \(\vert 0 \rangle\rightarrow\vert e\rangle\)
Pb – power (W) of laser b \(\vert 1 \rangle\rightarrow\vert e\rangle\)
wb – beam waist (m) of laser b \(\vert 1 \rangle\rightarrow\vert e\rangle\)
qb – polarisation (+1, 0 or -1 corresponding to driving \(\sigma^+\), \(\pi\) and \(\sigma^-\)) of laser b \(\vert 1 \rangle\rightarrow\vert e\rangle\)
Delta – Detuning from excited state centre of mass (rad \(\mathrm{s}^{-1}\))
f0 – Lower hyperfine level
mf0 – Lower hyperfine level
f1 – Upper hyperfine level
mf1 – Upper hyperfine level
ne – principal, orbital, total orbital quantum numbers of excited state
le – principal, orbital, total orbital quantum numbers of excited state
je – principal, orbital, total orbital quantum numbers of excited state
Returns:
Two-Photon Rabi frequency \(\Omega_R\) (units \(\mathrm{rads}^{-1}\)), differential AC Stark shift \(\Delta_\mathrm{AC}\) (units \(\mathrm{rads}^{-1}\)) and probability to scatter a photon during a \(\pi\)-pulse \(P_\mathrm{sc}\)
Filename of the additional literature source values of dipole matrix
elements.
These additional values should be saved as reduced dipole matrix
elements in J basis.
Contains list of modified Rydberg-Ritz coefficients for calculating
quantum defects for
[[ \(^1S_{0},^1P_{1},^1D_{2},^1F_{3}\)],
[ \(^3S_{0},^3P_{0},^3D_{1},^3F_{2}\)],
[ \(^3S_{0},^3P_{1},^3D_{2},^3F_{3}\)],
[ \(^3S_{1},^3P_{2},^3D_{3},^3F_{4}\)]].
Returns two-photon Rabi frequency \(\Omega_R\), ground AC Stark shift \(\Delta_{\mathrm{AC}_g}\), Rydberg state AC Stark shift \(\Delta_{\mathrm{AC}_r}\) and probability to scatter a photon during a \(\pi\)-pulse \(P_\mathrm{sc}\) for two-photon excitation from \(\vert f_h,m_{f_g}\rangle\rightarrow \vert j_r,m_{j_r}\rangle\) via intermediate excited state
Pp – power (W) of probe laser \(\vert g \rangle\rightarrow\vert e\rangle\)
wp – beam waist (m) of probe laser \(\vert g \rangle\rightarrow\vert e\rangle\)
qp – polarisation (+1, 0 or -1 corresponding to driving \(\sigma^+\),:math:pi and \(\sigma^-\)) of probe laser \(\vert g \rangle\rightarrow\vert e\rangle\)
Pb – power (W) of coupling laser \(\vert e\rangle\rightarrow\vert r\rangle\)
qb – polarisation (+1, 0 or -1 corresponding to driving \(\sigma^+\),:math:pi and \(\sigma^-\)) of coupling laser \(\vert e\rangle\rightarrow\vert r\rangle\)
Delta – Detuning from excited state centre of mass (rad s:math:^{-1})
fg – ground state hyperfine state
mfg – projection of ground state hyperfine state
f1 – upper hyperfine state
mf1 – upper hyperfine state
ne – principal quantum numbers of excited state
le – orbital angular momentum of excited state
je – total angular momentum of excited state
nr – principal quantum number of target Rydberg state
lr – orbital angular momentum of target Rydberg state
jr – total angular momentum of target Rydberg state
mjr – projection of total angular momenutm of target Rydberg state
Returns:
Two-Photon Rabi frequency \(\Omega_R\) (units \(\mathrm{rads}^{-1}\)),
ground-state AC Stark shift \(\Delta_{\mathrm{AC}_g}\) (units \(\mathrm{rads}^{-1}\)) Rydberg-state AC Stark shift \(\Delta_{\mathrm{AC}_r}\) (units \(\mathrm{rads}^{-1}\)) and probability to scatter a photon during a \(\pi\)-pulse \(P_\mathrm{sc}\)
Updates the file with pre-calculated dipole matrix elements.
This function will add the the file all the elements that have been
calculated in the previous run, allowing quick access to them in
the future calculations.