arc.alkali_atom_functions.AlkaliAtom.getC6term#
- AlkaliAtom.getC6term(n: int, l: int, j: float, n1: int, l1: int, j1: float, n2: int, l2: int, j2: float, s: float = 0.5) float [source]#
C6 interaction term for the given two pair-states
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. [1].
- Parameters:
n (int) – principal quantum number
l (int) – orbital angular momentum
j (float) – total angular momentum
n1 (int) – principal quantum number
l1 (int) – orbital angular momentum
j1 (float) – total angular momentum
n2 (int) – principal quantum number
l2 (int) – orbital angular momentum
j2 (float) – total angular momentum
s (float) – optional, total spin angular momentum of state. By default 0.5 for Alkali atoms.
- Returns:
\(C_6 = \frac{1}{4\pi\varepsilon_0} \frac{|\langle n,l,j |er|n_1,l_1,j_1\rangle|^2| \langle n,l,j |er|n_2,l_2,j_2\rangle|^2} {E(n_1,l_1,j_2,n_2,j_2,j_2)-E(n,l,j,n,l,j)}\) (\(h\) Hz m \({}^6\)).
- Return type:
Example
We can reproduce values from Ref. [1] for C3 coupling to particular channels. Taking for example channels described by the Eq. (50a-c) we can get the values:
from arc import * channels = [[70,0,0.5, 70, 1,1.5, 69,1, 1.5],\ [70,0,0.5, 70, 1,1.5, 69,1, 0.5],\ [70,0,0.5, 69, 1,1.5, 70,1, 0.5],\ [70,0,0.5, 70, 1,0.5, 69,1, 0.5]] print(" = = = Caesium = = = ") atom = Caesium() for channel in channels: print("%.0f GHz (mu m)^6" % ( atom.getC6term(*channel) / C_h * 1.e27 )) print("\n = = = Rubidium = = =") atom = Rubidium() for channel in channels: print("%.0f GHz (mu m)^6" % ( atom.getC6term(*channel) / C_h * 1.e27 ))
Returns:
= = = Caesium = = = 722 GHz (mu m)^6 316 GHz (mu m)^6 383 GHz (mu m)^6 228 GHz (mu m)^6 = = = Rubidium = = = 799 GHz (mu m)^6 543 GHz (mu m)^6 589 GHz (mu m)^6 437 GHz (mu m)^6
which is in good agreement with the values cited in the Ref. [1]. Small discrepancies for Caesium originate from slightly different quantum defects used in calculations.
References