︠b7bffb75-4e82-4240-a0cb-84e486436cc6︠
# Define some symbolic variables
var('a k_eff T v m h gamma')
︡948af0a3-364f-4723-9f55-e3053a957c3e︡{"html": "\\left(a, \n k_{\\mbox{eff}}, \n T, \n v, \n m, \n h, \n \\gamma\\right)"}︡
︠3171abd1-1903-48d2-ae9e-9d67190c05f8︠
# Expression of the phase shift. Attention: k_eff is the effective Raman wave vector.
phi = a*k_eff*T^2 + (h * k_eff^2 * T^3 * gamma)/(2*m) + k_eff*T^2 * (7*a*T^2/12 - T*v)*gamma + k_eff*T^4*(31*a*T^2/360 - h*k_eff*T/(2*m) - T*v/4)*gamma^2
phi
︡e2cb1db4-d085-41dc-9d4a-b166bdfdb059︡{"stdout": "{{{k_{\\mbox{eff}} {T}^{4} } \\left( \\frac{{{31 a} {T}^{2} }}{360} - \\frac{{v T}}{4} - \\frac{{{h k_{\\mbox{eff"}︡
︠0ac1aab8-0436-4a03-9521-46ba208d4a8fi︠
%html
T}}{{2 m}} \right)} {\gamma}^{2} } + \frac
︡3922da51-4c27-4a29-b552-ba70b8b438b8︡{"html": "T}}{{2 m}} \\right)} {\\gamma}^{2} } + \\frac"}︡
︠07cd3dd8-3ca0-46e1-81c4-0bca224d45b2︠
}}}
{{{id=11|
# Truncate phi to the first order value (this is expression 64 of Borde, Metrologia 2002, 39, 435-463)
phi = taylor(phi, gamma, 0, 1).expand()
phi
︡14122815-378c-44c4-ba71-99a08d433304︡{"stdout": "\\frac{{{{{7 a} k_{\\mbox{eff"}︡
︠bc27d2e1-f31e-4907-afe8-fecae948b4a5i︠
%html
{T}^{4} } \gamma}}{12} -
︡5f6f54a2-f43e-488b-afbd-2695048e7c35︡{"html": "{T}^{4} } \\gamma}}{12} -"}︡
︠7adcfe32-ca6f-4ebf-8895-26be323f56e0︠
}}}
{{{id=13|
# Divide the phase shift by the scaling factor
var('S')
assume(S > 0)
phi = phi.subs_expr(T==sqrt(S/k_eff))
Phi = (phi/S).expand()
Phi
︡a6c20754-6581-4992-9bb9-dcbc43af3cc7︡{"stdout": "\\frac{{{{7 a} S} \\gamma}}{{12 k_{\\mbox{eff"}︡
︠8e61c0ef-9bff-4431-9efd-d2339401e08ai︠
%html
- \frac
︡f683f2bb-04d6-4e89-a154-de99d271fe1f︡{"html": "- \\frac"}︡
︠8f1f6611-5a6b-45d6-b6b0-da1ce18c4507︠
}}}
{{{id=9|
var('epsilon kappa delta_a')
Phi_Rb = Phi.subs(k_eff=k_eff*(1+epsilon), m=m*kappa, a=a+delta_a)
︡09157279-7e62-47cf-bc05-bcfbacfe8ac0︡︡
︠8f1c9293-4d39-45a6-9b9f-b0c8b2d7a12e︠
delta_Phi = Phi - Phi_Rb
# Remove the UFF component, to keep only the gradient component
delta_Phi = delta_Phi
delta_Phi.simplify()
︡b01889f2-861f-42f2-81d2-6e79310db99e︡{"stdout": "\\frac{{{{-7 \\left( \\delta_{a} + a \\right)} S} \\gamma}}{{{12 \\left( \\epsilon + 1 \\right)} k_{\\mbox{eff"}︡
︠e8bb423d-1bde-4c78-90d5-a357184b160di︠
%html
+ \frac
︡45dddd96-8591-4d06-9436-a3939443ab32︡{"html": "+ \\frac"}︡
︠faaa8e96-243b-46d6-be19-61167d382b8a︠
}}}
{{{id=21|
delta_Phi = taylor(delta_Phi, epsilon, 0, 1)
(delta_Phi/(gamma*S)).expand().simplify().factor().simplify()
︡3d428a13-f2a4-485d-8dbf-44471c5fe233︡{"stdout": "\\frac{{{{{{{{7 \\delta_{a}} \\epsilon} \\kappa} \\sqrt{ k_{\\mbox{eff}} }} m} {S}^{\\frac{3}{2}} } \\gamma} + {{{{{{{7 a} \\epsilon} \\kappa} \\sqrt{ k_{\\mbox{eff}} }} m} {S}^{\\frac{3}{2}} } \\gamma} - {{{{{{7 \\delta_{a}} \\kappa} \\sqrt{ k_{\\mbox{eff}} }} m} {S}^{\\frac{3}{2}} } \\gamma} - {{{{{{{6 \\epsilon} \\kappa} k_{\\mbox{eff"}︡
︠443a8b44-b1cd-4c27-9835-5a2141f0e97bi︠
%html
m} v} S} \gamma} +
︡d58598be-ac87-4789-ba2e-c031a46fdc1d︡{"html": "m} v} S} \\gamma} +"}︡
︠a1b6be22-0df9-473f-906c-5ab307f18c04︠
}}}
{{{id=14|
# 1 second estimate
numerics = dict(
a = 9.81,
v = 900/3.6,
k_eff = 4*3.14/767e-9,
epsilon = 1/60.,
S = (4*3.14/767e-9)*1^2,
m = 1.49e-25,
h = 1e-34,
kappa = 1/2.18,
)
delta_Phi.subs(numerics).expand()
︡cd0c6a12-3141-479c-aa96-7cb47bd639db︡{"html": "{{-0.573611111111111 \\delta_{a}} \\gamma} - {1.994542415538619 \\gamma} - {1.00000000000000 \\delta_{a}}"}︡
︠e50c78fe-e6f9-4efb-b636-a00de21dcbc4︠
print latex(delta_Phi.subs(numerics).expand())
︡5233791a-0de8-4638-b220-f1548af2d176︡{"stdout": "{{-0.573611111111111 \\delta_{a}} \\gamma} - {1.994542415538619 \\gamma} - {1.00000000000000 \\delta_{a}}"}︡
︠a578e59f-fe79-4146-b4d7-22e3bbff0f6a︠
# 2 seconds estimate
numerics2 = numerics.copy()
numerics2['S'] = (4*3.14/767e-9)*2^2
delta_Phi.subs(numerics2).expand()
︡0d0c5e73-313b-4b49-861a-7a1e8ba2c5ab︡{"html": "{{-2.294444444444445 \\delta_{a}} \\gamma} - {3.798334831077238 \\gamma} - {1.00000000000000 \\delta_{a}}"}︡
︠0bee8559-a772-4366-a81e-8cd126ae8491︠
# 1 second estimate, with very small velocity
numerics3 = numerics.copy()
numerics3['v'] = 900./3600
delta_Phi.subs(numerics3).expand()
︡c266da9a-3ba5-4045-ba11-4635f5857202︡{"html": "{{-0.573611111111111 \\delta_{a}} \\gamma} + {0.0867075844613810 \\gamma} - {1.00000000000000 \\delta_{a}}"}︡