Latest scripts - included choice between using full Q5 to the approximation for the LHY correction.

This commit is contained in:
Karthik 2025-03-28 14:44:38 +01:00
parent bb9f4a78bf
commit 0f3eca6791
4 changed files with 39 additions and 21 deletions

View File

@ -19,6 +19,7 @@ OptionsStruct.TrapPotentialType = 'Harmonic';
OptionsStruct.NumberOfGridPoints = [64, 64, 32];
OptionsStruct.Dimensions = [18, 18, 18];
OptionsStruct.UseApproximationForLHY = true;
OptionsStruct.IncludeDDICutOff = true;
OptionsStruct.CutoffType = 'Cylindrical';
OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution'
@ -51,7 +52,15 @@ Plotter.visualizeTrapPotential(sim.Potential,Params,Transf)
%% - Plot initial wavefunction
Plotter.visualizeWavefunction(psi,Params,Transf)
%% - Plot GS wavefunction
% SaveDirectory = './Results/Data_3D/AspectRatio2_8';
SaveDirectory = './Results/Data_3D/AspectRatio3_7';
% SaveDirectory = './Results/Data_3D/AspectRatio3_8';
JobNumber = 0;
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
%%
% SaveDirectory = './Results/Data_3D/BeyondSSD_SSD';
SaveDirectory = './Results/Data_3D/BeyondSSD_Labyrinth';
% SaveDirectory = './Results/Data_3D/BeyondSSD_Honeycomb';
JobNumber = 0;
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)

View File

@ -18,7 +18,7 @@ OptionsStruct.Dimensions = [18, 18, 18];
OptionsStruct.IncludeDDICutOff = true;
OptionsStruct.CutoffType = 'Cylindrical';
OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution'
OptionsStruct.TimeStepSize = 0.002; % in s
OptionsStruct.TimeStepSize = 2E-3; % in s
OptionsStruct.MinimumTimeStepSize = 1E-6; % in s
OptionsStruct.TimeCutOff = 2E6; % in s
OptionsStruct.EnergyTolerance = 5E-10;
@ -60,7 +60,7 @@ OptionsStruct.Dimensions = [18, 18, 18];
OptionsStruct.IncludeDDICutOff = true;
OptionsStruct.CutoffType = 'Cylindrical';
OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution'
OptionsStruct.TimeStepSize = 0.002; % in s
OptionsStruct.TimeStepSize = 2E-3; % in s
OptionsStruct.MinimumTimeStepSize = 1E-6; % in s
OptionsStruct.TimeCutOff = 2E6; % in s
OptionsStruct.EnergyTolerance = 5E-10;

View File

@ -22,6 +22,7 @@ classdef DipolarGas < handle & matlab.mixin.Copyable
SimulationParameters;
IncludeDDICutOff;
UseApproximationForLHY;
PlotLive;
JobNumber;
RunOnGPU;
@ -71,6 +72,8 @@ classdef DipolarGas < handle & matlab.mixin.Copyable
addParameter(p, 'IncludeDDICutOff', true,...
@islogical);
addParameter(p, 'UseApproximationForLHY', false,...
@islogical);
addParameter(p, 'PlotLive', false,...
@islogical);
addParameter(p, 'JobNumber', 0,...
@ -103,6 +106,7 @@ classdef DipolarGas < handle & matlab.mixin.Copyable
this.NoiseScaleFactor = p.Results.NoiseScaleFactor;
this.IncludeDDICutOff = p.Results.IncludeDDICutOff;
this.UseApproximationForLHY = p.Results.UseApproximationForLHY;
this.PlotLive = p.Results.PlotLive;
this.JobNumber = p.Results.JobNumber;
this.RunOnGPU = p.Results.RunOnGPU;

View File

@ -72,6 +72,10 @@ function [Params] = setupParameters(this)
% == Calculate LHY correction == %
eps_dd = Params.add/Params.as;
if this.UseApproximationForLHY
Q5 = 1 + ((3*eps_dd^2)/2);
else
if eps_dd == 0
Q5 = 1;
elseif eps_dd == 1
@ -81,6 +85,7 @@ function [Params] = setupParameters(this)
Q5 = (3*eps_dd)^(5/2)*( (8+26*yeps+33*yeps^2)*sqrt(1+yeps) + 15*yeps^3*log((1+sqrt(1+yeps))/sqrt(yeps)) )/48;
Q5 = real(Q5);
end
end
Params.gammaQF = 128/3*sqrt(pi*(Params.as/l0)^5)*Q5;