Skip to content

Commit da10ee8

Browse files
committed
Add light shift calculation
1 parent 287d6d5 commit da10ee8

2 files changed

Lines changed: 97 additions & 1 deletion

File tree

Calculation/.spyproject/workspace.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ save_non_project_files = False
66

77
[main]
88
version = 0.1.0
9-
recent_files = ['C:\\GitHub\\python\\Calculation\\function\\func_band_calc.py', 'C:\\GitHub\\python\\Calculation\\example\\tmp.py']
9+
recent_files = ['C:\\GitHub\\python\\Calculation\\example\\tmp.py', 'C:\\GitHub\\python\\Calculation\\example\\calc_light_shift_810.py']
1010

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Created on Fri Jul 19 16:07:24 2019
4+
5+
@author: RY
6+
"""
7+
8+
import numpy as np
9+
from scipy import constants
10+
11+
Gamma_D2 = 2 * np.pi * 6.0666 * 1e6
12+
Gamma_D1 = 2 * np.pi * 5.7500 * 1e6
13+
14+
delta_HFS = 2*np.pi * 6.834682610904 * 1e9
15+
16+
omega_D2 = 2*np.pi * 384.2304844685 * 1e12
17+
omega_D1 = 2*np.pi * 377.107463380 * 1e12
18+
19+
omega = 2*np.pi * constants.c / 810e-9
20+
21+
mF1 = 1
22+
mF2 = 2
23+
24+
delta_F = 2 * np.pi * np.array([2.563005979089109 * 1e9, -4.271676631815181 * 1e9]) # F=2, 1
25+
delta_D2_F = 2 * np.pi * np.array([193.7407 * 1e6, -72.9112 * 1e6, -229.8518 * 1e6, -302.0738 * 1e6]) # F'=3, 2, 1, 0
26+
delta_D1_F = 2 * np.pi * np.array([305.44 * 1e6, -509.06 * 1e6]) # F'=2, 1
27+
28+
#delta_D2_F = 2 * np.pi * np.array([0, 0, 0, 0]) # F'=3, 2, 1, 0
29+
#delta_D1_F = 2 * np.pi * np.array([0, 0]) # F'=2, 1
30+
31+
if mF1 == 0:
32+
LS_F1_D2 = [0, -1/np.sqrt(6), 0, 1/np.sqrt(6)]
33+
LS_F1_D1 = [1/np.sqrt(3), 0]
34+
elif np.abs(mF1) == 1:
35+
LS_F1_D2 = [0, -np.sqrt(1/8), np.sqrt(5/24), 0]
36+
LS_F1_D1 = [1/np.sqrt(4), -np.sqrt(1/12)]
37+
38+
if mF2 == 0:
39+
LS_F2_D2 = [-np.sqrt(3/10), 0, np.sqrt(1/30), 0]
40+
LS_F2_D1 = [0, np.sqrt(1/3)]
41+
elif np.abs(mF2) == 1:
42+
LS_F2_D2 = [-np.sqrt(4/15), np.sqrt(1/24), np.sqrt(1/40), 0]
43+
LS_F2_D1 = [np.sqrt(1/12), np.sqrt(1/4)]
44+
elif np.abs(mF2) == 2:
45+
LS_F2_D2 = [-1/np.sqrt(6), 1/np.sqrt(6), 0, 0]
46+
LS_F2_D1 = [np.sqrt(1/3), 0]
47+
48+
49+
dE11 = 0
50+
dE12 = 0
51+
dE21 = 0
52+
dE22 = 0
53+
54+
for i, delta_D2 in enumerate(delta_D2_F):
55+
delta1 = omega - (omega_D2 + delta_F[1] + delta_D2)
56+
tmp = LS_F1_D2[i]**2 / delta1
57+
tmp1 = 3 * np.pi * constants.c**2 * Gamma_D2 / (2 * omega_D2**3) * tmp
58+
dE12 += tmp1
59+
60+
delta2 = omega - (omega_D2 + delta_F[0] + delta_D2)
61+
tmp = LS_F2_D2[i]**2 / delta2
62+
tmp2 = 3 * np.pi * constants.c**2 * Gamma_D2 / (2 * omega_D2**3) * tmp
63+
dE22 += tmp2
64+
print('F`=%d, D2: (F=1) %f THz, (F=2) %f THz' % (3-i, delta1 * 1e-12, delta2 * 1e-12))
65+
print('dE1 = %e, dE2 = %e' % (tmp1, tmp2))
66+
67+
print(dE12)
68+
print(dE22)
69+
70+
for i, delta_D1 in enumerate(delta_D1_F):
71+
delta1 = omega - (omega_D1 + delta_F[1] + delta_D1)
72+
tmp = LS_F1_D1[i]**2 / delta1
73+
dE11 += 3 * np.pi * constants.c**2 * Gamma_D1 / (2 * omega_D1**3) * tmp
74+
75+
delta2 = omega - (omega_D1 + delta_F[0] + delta_D1)
76+
tmp = LS_F2_D1[i]**2 / delta2
77+
dE21 += 3 * np.pi * constants.c**2 * Gamma_D1 / (2 * omega_D1**3) * tmp
78+
79+
print('F`=%d, D1: (F=1) %f THz, (F=2) %f THz' % (2-i, delta1 * 1e-12, delta2 * 1e-12))
80+
81+
print(dE11)
82+
print(dE21)
83+
84+
dE1 = dE11 + dE12
85+
dE2 = dE21 + dE22
86+
87+
print((dE1 - dE2))
88+
print('Polarizability (F=1): %e' % (dE1/constants.h))
89+
print('Polarizability (F=2): %e' % (dE2/constants.h))
90+
91+
I0 = 2 * 350*1e-3 / (np.pi * (40*1e-6) * (110*1e-6)) # W/m^2
92+
U0 = 4 * I0
93+
94+
alpha = (dE1 - dE2) / dE1
95+
print('Differential light shift: %f kHz' %(250/4 * 1e-6 * constants.k / constants.h * alpha * 1e-3))
96+
print((dE1 - dE2)*U0 / constants.h * 1e-6)

0 commit comments

Comments
 (0)