Modified progress bar settings to work for the variational solver.
This commit is contained in:
parent
df1beb268d
commit
e3f9c7b352
@ -62,10 +62,10 @@ OptionsStruct.TrapPotentialType = 'None';
|
||||
|
||||
OptionsStruct.NumberOfGridPoints = [128, 128];
|
||||
OptionsStruct.Dimensions = [7.5, 7.5]; % Critical point: 6.996; Triangular phase: 7.5; Stripe phase: 6.972; Honeycomb phase: 6.239 for both for Atom Number fixed to 1E5
|
||||
OptionsStruct.TimeStepSize = 500E-6; % in s
|
||||
OptionsStruct.TimeCutOff = 2E6; % in s
|
||||
OptionsStruct.TimeStepSize = 200E-6; % in s
|
||||
OptionsStruct.TimeCutOff = 100; % in s
|
||||
OptionsStruct.EnergyTolerance = 5E-10;
|
||||
OptionsStruct.ResidualTolerance = 1E-04;
|
||||
OptionsStruct.ResidualTolerance = 1E-05;
|
||||
|
||||
OptionsStruct.JobNumber = 1;
|
||||
OptionsStruct.RunOnGPU = false;
|
||||
|
@ -26,6 +26,10 @@ function [psi] = propagateWavefunction(this, psi, Params, VParams, Transf, VDk,
|
||||
gamma_eff = Params.gammaQF * (sqrt(2/5)/(pi^(3/4)*VParams.ell^(3/2)));
|
||||
Ez = (0.25*VParams.ell^2) + (0.25*Params.gz*VParams.ell^2);
|
||||
|
||||
pb = Helper.ProgressBar();
|
||||
fprintf('\n')
|
||||
pb.run('Propagating wavefunction in imaginary time: ');
|
||||
|
||||
while t_idx < Params.sim_time_cut_off
|
||||
|
||||
% kin
|
||||
@ -89,6 +93,7 @@ function [psi] = propagateWavefunction(this, psi, Params, VParams, Transf, VDk,
|
||||
break
|
||||
end
|
||||
t_idx=t_idx+1;
|
||||
pb.run(100*t_idx/Params.sim_time_cut_off);
|
||||
end
|
||||
|
||||
% Change in Energy
|
||||
@ -103,4 +108,7 @@ function [psi] = propagateWavefunction(this, psi, Params, VParams, Transf, VDk,
|
||||
|
||||
% Chemical potential
|
||||
Observ.mucVec = [Observ.mucVec muchem];
|
||||
|
||||
pb.run(' - Job Completed!');
|
||||
clear pb.run
|
||||
end
|
@ -30,11 +30,10 @@ function [Params, Transf, psi, V, VDk] = run(this)
|
||||
E_Var = @(x) this.Calculator.calculateVariationalEnergy(psi, Params, x, Transf, VDk, V)/Params.N;
|
||||
E_vs_iter(1) = E_Var(ells(1));
|
||||
|
||||
t_idx = 1; % Start at t = 0;
|
||||
|
||||
for nn = 1:Params.SelfConIter
|
||||
Observ.EVec = []; Observ.NormVec = []; Observ.PCVec = []; Observ.tVecPlot = []; Observ.mucVec = []; Observ.residual = [];
|
||||
Observ.res_idx = 1;
|
||||
Observ.EVec = []; Observ.NormVec = []; Observ.PCVec = []; Observ.tVecPlot = []; Observ.mucVec = []; Observ.residual = []; Observ.res_idx = 1;
|
||||
|
||||
t_idx = 1; % Start at t = 0;
|
||||
|
||||
[~,V,VDk] = this.initialize(Params,VParams,Transf); % Do not overwrite psi, susbequent iterations should use psi generated at the end of the loop to converge faster
|
||||
% This is still needed however to recalculate VDk with new value
|
||||
@ -68,7 +67,7 @@ function [Params, Transf, psi, V, VDk] = run(this)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
fprintf('\n')
|
||||
disp('Saving data...');
|
||||
save(sprintf('./Data/Run_%03i/psi_gs.mat',Params.njob),'psi','Observ','Transf','Params','VDk','V','VParams');
|
||||
disp('Save complete!');
|
||||
|
@ -5,8 +5,8 @@
|
||||
# Request number of nodes and GPU for job
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH --ntasks-per-node=1
|
||||
#SBATCH --gres=gpu:1
|
||||
#SBATCH --mem=4G
|
||||
#SBATCH --gres=gpu:4
|
||||
#SBATCH --mem=8G
|
||||
# Estimated wallclock time for job
|
||||
#SBATCH --time=04:00:00
|
||||
#SBATCH --job-name=simulation
|
||||
|
Loading…
Reference in New Issue
Block a user