Minor modifications.
This commit is contained in:
parent
5053e3ffba
commit
905f768993
@ -52,32 +52,34 @@ Plotter.visualizeTrapPotential(sim.Potential,Params,Transf)
|
|||||||
Plotter.visualizeWavefunction(psi,Params,Transf)
|
Plotter.visualizeWavefunction(psi,Params,Transf)
|
||||||
%% Imaginary-Time followed by Real-time
|
%% Imaginary-Time followed by Real-time
|
||||||
|
|
||||||
|
%% Imaginary-Time followed by Real-time
|
||||||
|
|
||||||
% - Imaginary-Time
|
% - Imaginary-Time
|
||||||
OptionsStruct = struct;
|
OptionsStruct = struct;
|
||||||
|
|
||||||
OptionsStruct.NumberOfAtoms = 80000;
|
OptionsStruct.NumberOfAtoms = 80000;
|
||||||
OptionsStruct.DipolarPolarAngle = deg2rad(0);
|
OptionsStruct.DipolarPolarAngle = deg2rad(0);
|
||||||
OptionsStruct.DipolarAzimuthAngle = 0;
|
OptionsStruct.DipolarAzimuthAngle = deg2rad(0);
|
||||||
OptionsStruct.ScatteringLength = 110;
|
OptionsStruct.ScatteringLength = 110;
|
||||||
|
|
||||||
OptionsStruct.TrapFrequencies = [50, 20, 150];
|
OptionsStruct.TrapFrequencies = [50, 20, 250];
|
||||||
OptionsStruct.TrapPotentialType = 'Harmonic';
|
OptionsStruct.TrapPotentialType = 'Harmonic';
|
||||||
|
|
||||||
OptionsStruct.NumberOfGridPoints = [64, 128, 64];
|
OptionsStruct.NumberOfGridPoints = [64, 128, 32];
|
||||||
OptionsStruct.Dimensions = [50, 50, 20];
|
OptionsStruct.Dimensions = [50, 50, 10];
|
||||||
OptionsStruct.UseApproximationForLHY = true;
|
OptionsStruct.UseApproximationForLHY = true;
|
||||||
OptionsStruct.IncludeDDICutOff = true;
|
OptionsStruct.IncludeDDICutOff = true;
|
||||||
OptionsStruct.CutoffType = 'CustomCylindrical';
|
OptionsStruct.CutoffType = 'CustomCylindrical';
|
||||||
OptionsStruct.CustomCylindricalCutOffRadius = 20.0;
|
OptionsStruct.CustomCylindricalCutOffRadius = 20.0;
|
||||||
OptionsStruct.CustomCylindricalCutOffHeight = 5.0;
|
OptionsStruct.CustomCylindricalCutOffHeight = 4.0;
|
||||||
|
|
||||||
OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization'
|
OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization'
|
||||||
OptionsStruct.TimeStepSize = 5E-3; % in s
|
OptionsStruct.TimeStepSize = 5E-3; % in s
|
||||||
OptionsStruct.MinimumTimeStepSize = 1E-6; % in s
|
OptionsStruct.MinimumTimeStepSize = 1E-6; % in s
|
||||||
OptionsStruct.TimeCutOff = 1E5; % in s
|
OptionsStruct.TimeCutOff = 1E2; % in s
|
||||||
OptionsStruct.EnergyTolerance = 5E-10;
|
OptionsStruct.EnergyTolerance = 5E-10;
|
||||||
OptionsStruct.ResidualTolerance = 1E-08;
|
OptionsStruct.ResidualTolerance = 1E-08;
|
||||||
OptionsStruct.NoiseScaleFactor = 0.010;
|
OptionsStruct.NoiseScaleFactor = 0.05;
|
||||||
OptionsStruct.PlotLive = true;
|
OptionsStruct.PlotLive = true;
|
||||||
OptionsStruct.JobNumber = 0;
|
OptionsStruct.JobNumber = 0;
|
||||||
OptionsStruct.RunOnGPU = false;
|
OptionsStruct.RunOnGPU = false;
|
||||||
@ -94,19 +96,17 @@ sim.Potential = pot.trap();
|
|||||||
|
|
||||||
% Save only final state as initial wavefunction for real-time propagation
|
% Save only final state as initial wavefunction for real-time propagation
|
||||||
mkdir(sprintf(OptionsStruct.SaveDirectory))
|
mkdir(sprintf(OptionsStruct.SaveDirectory))
|
||||||
save(sprintf(strcat(SaveDirectory, '/psi_init.mat'),Params.njob),'psi','Transf','Params','VDk','V');
|
save(sprintf(strcat(OptionsStruct.SaveDirectory, '/psi_init.mat'),Params.njob),'psi','Transf','Params','VDk','V');
|
||||||
close all
|
|
||||||
clear
|
|
||||||
|
|
||||||
OptionsStruct.SimulationMode = 'RealTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization'
|
OptionsStruct.SimulationMode = 'RealTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization'
|
||||||
OptionsStruct.EquilibrationTime = 20E-3;
|
OptionsStruct.EquilibrationTime = 10E-3;
|
||||||
OptionsStruct.QuenchTime = 30E-3;
|
OptionsStruct.QuenchTime = 10E-3;
|
||||||
OptionsStruct.HoldTime = 20E-3;
|
OptionsStruct.HoldTime = 10E-3;
|
||||||
OptionsStruct.QuenchScatteringLength = true;
|
OptionsStruct.QuenchScatteringLength = true;
|
||||||
OptionsStruct.RotateDipoles = false;
|
OptionsStruct.RotateDipoles = false;
|
||||||
OptionsStruct.FinalScatteringLength = 85;
|
OptionsStruct.FinalScatteringLength = 75;
|
||||||
OptionsStruct.FinalDipolarPolarAngle = deg2rad(90);
|
OptionsStruct.FinalDipolarPolarAngle = deg2rad(90);
|
||||||
OptionsStruct.FinalDipolarAzimuthAngle = 0;
|
OptionsStruct.FinalDipolarAzimuthAngle = deg2rad(0);
|
||||||
OptionsStruct.TimeStepSize = 1E-3; % in s
|
OptionsStruct.TimeStepSize = 1E-3; % in s
|
||||||
OptionsStruct.NoiseScaleFactor = 0.010;
|
OptionsStruct.NoiseScaleFactor = 0.010;
|
||||||
|
|
||||||
@ -114,7 +114,6 @@ OptionsStruct.PlotLive = true;
|
|||||||
OptionsStruct.JobNumber = 0;
|
OptionsStruct.JobNumber = 0;
|
||||||
OptionsStruct.RunOnGPU = false;
|
OptionsStruct.RunOnGPU = false;
|
||||||
OptionsStruct.SaveData = true;
|
OptionsStruct.SaveData = true;
|
||||||
OptionsStruct.SaveDirectory = SaveDirectory;
|
|
||||||
options = Helper.convertstruct2cell(OptionsStruct);
|
options = Helper.convertstruct2cell(OptionsStruct);
|
||||||
clear OptionsStruct
|
clear OptionsStruct
|
||||||
|
|
||||||
@ -513,13 +512,13 @@ JobNumber = 0;
|
|||||||
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
||||||
%%
|
%%
|
||||||
SaveDirectory = './Results/Data_3D/TiltedDipoles15';
|
SaveDirectory = './Results/Data_3D/TiltedDipoles15';
|
||||||
JobNumber = 1;
|
JobNumber = 2;
|
||||||
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
||||||
%%
|
%%
|
||||||
SaveDirectory = './Results/Data_3D/TiltedDipoles30';
|
SaveDirectory = './Results/Data_3D/TiltedDipoles30';
|
||||||
JobNumber = 1;
|
JobNumber = 2;
|
||||||
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
||||||
%%
|
%%
|
||||||
SaveDirectory = './Results/Data_3D/TiltedDipoles45';
|
SaveDirectory = './Results/Data_3D/TiltedDipoles45';
|
||||||
JobNumber = 1;
|
JobNumber = 2;
|
||||||
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber)
|
||||||
|
@ -177,7 +177,7 @@ function [psi] = propagateWavefunction(this,psi,Params,Transf,VDk,V,t_idx,Observ
|
|||||||
end
|
end
|
||||||
|
|
||||||
if this.DoSave
|
if this.DoSave
|
||||||
save(sprintf(strcat(this.SaveDirectory, '/Run_%03i/psi_%i.mat'), Params.njob, Observ.res_idx),'psi','muchem','Observ','t_idx');
|
save(sprintf(strcat(this.SaveDirectory, '/Run_%03i/psi_%i.mat'), Params.njob, Observ.res_idx),'psi','muchem','Observ','t_idx','Transf','Params');
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if any(isnan(psi(:)))
|
if any(isnan(psi(:)))
|
||||||
@ -206,7 +206,7 @@ function [psi] = propagateWavefunction(this,psi,Params,Transf,VDk,V,t_idx,Observ
|
|||||||
disp('Run completed!');
|
disp('Run completed!');
|
||||||
if this.DoSave
|
if this.DoSave
|
||||||
disp('Saving data...');
|
disp('Saving data...');
|
||||||
save(sprintf(strcat(this.SaveDirectory, '/Run_%03i/psi_%i.mat'),Params.njob,Observ.res_idx),'psi','muchem','Observ','t_idx');
|
save(sprintf(strcat(this.SaveDirectory, '/Run_%03i/psi_%i.mat'),Params.njob,Observ.res_idx),'psi','muchem','Observ','t_idx','Transf','Params');
|
||||||
disp('Save complete!');
|
disp('Save complete!');
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user