43 lines
2.5 KiB
Matlab
43 lines
2.5 KiB
Matlab
function Quench = setupQuenchSettings(this, Params)
|
|
|
|
Quench.eq_time = this.EquilibrationTime; % Equilibration time in s
|
|
Quench.quench_time = this.QuenchTime; % Quench time in s
|
|
Quench.hold_time = this.HoldTime; % Hold time in s
|
|
|
|
Quench.as_final = this.FinalScatteringLength*Params.a0; % Final scattering length in a0 (initial is Params.as)
|
|
Quench.theta_final = this.FinalDipolarPolarAngle; % pi/2 dipoles along x, theta=0 dipoles along z
|
|
Quench.phi_final = this.FinalDipolarAzimuthAngle;
|
|
|
|
% --- Save steps
|
|
Quench.saveinterval = 200;
|
|
|
|
% --- Constructing quench vectors
|
|
eq_time = Quench.eq_time*Params.w0;
|
|
quench_time = Quench.quench_time*Params.w0;
|
|
hold_time = Quench.hold_time*Params.w0;
|
|
|
|
tVec_Eq = 0:Params.dt:eq_time;
|
|
tVec_Q = (eq_time+Params.dt):Params.dt:(eq_time+quench_time);
|
|
tVec_H = (eq_time+quench_time+Params.dt):Params.dt:(eq_time+quench_time+hold_time);
|
|
|
|
Quench.tSteps = length(tVec_Eq) + length(tVec_Q) + length(tVec_H);
|
|
Quench.as_vec = [Params.as*ones(1, length(tVec_Eq)), linspace(Params.as,Quench.as_final,length(tVec_Q)), Quench.as_final*ones(1, length(tVec_H))];
|
|
Quench.gs_vec = 4*pi*Quench.as_vec/Params.l0;
|
|
Quench.theta_vec = [Params.theta*ones(1, length(tVec_Eq)), linspace(Params.theta,Quench.theta_final,length(tVec_Q)), Quench.theta_final*ones(1, length(tVec_H))];
|
|
Quench.phi_vec = [Params.phi*ones(1, length(tVec_Eq)), linspace(Params.phi,Quench.phi_final,length(tVec_Q)), Quench.phi_final*ones(1, length(tVec_H))];
|
|
Quench.tVec = [tVec_Eq, tVec_Q, tVec_H];
|
|
|
|
% Quantum fluctuations need to be calculated over the quench
|
|
eps_dd_vec = Params.add./Quench.as_vec;
|
|
|
|
if this.UseApproximationForLHY
|
|
Q5_vec = 1 + ((3*eps_dd_vec.^2)/2);
|
|
else
|
|
yeps_vec = (1-eps_dd_vec)./(3*eps_dd_vec);
|
|
Q5_vec = (3*eps_dd_vec).^(5/2).*( (8+26*yeps_vec+33*yeps_vec.^2).*sqrt(1+yeps_vec) + 15*yeps_vec.^3.*log((1+sqrt(1+yeps_vec))./sqrt(yeps_vec)) )/48;
|
|
Q5_vec = real(Q5_vec);
|
|
Q5_vec(eps_dd_vec == 0) = 1;
|
|
Q5_vec(eps_dd_vec == 1) = 3*sqrt(3)/2;
|
|
end
|
|
Quench.gammaQF_vec = 128/3*sqrt(pi*(Quench.as_vec/Params.l0).^5).*Q5_vec;
|
|
end |