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