Corrected the lack of re-calculation of VDk with new variational parameters, changed plotting to accept folder path as argument, increased number of gpus to run solver on.
This commit is contained in:
parent
37de6a6353
commit
308acca29d
@ -1,10 +1,8 @@
|
|||||||
function visualizeGSWavefunction2D(run_index)
|
function visualizeGSWavefunction2D(folder_path, run_index)
|
||||||
|
|
||||||
set(0,'defaulttextInterpreter','latex')
|
set(0,'defaulttextInterpreter','latex')
|
||||||
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
||||||
|
|
||||||
folder_path = './Data';
|
|
||||||
|
|
||||||
% Load data
|
% Load data
|
||||||
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Params','Transf','Observ');
|
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Params','Transf','Observ');
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
function analyzeRun2D(run_index)
|
function analyzeRun2D(folder_path, run_index)
|
||||||
set(0,'defaulttextInterpreter','latex')
|
set(0,'defaulttextInterpreter','latex')
|
||||||
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
||||||
|
|
||||||
folder_path = './Data';
|
|
||||||
|
|
||||||
% Load data
|
% Load data
|
||||||
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Observ','Transf','Params','VParams');
|
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Observ','Transf','Params','VParams');
|
||||||
|
|
||||||
|
@ -111,3 +111,11 @@ Plotter.visualizeWavefunction2D(psi,Params,Transf)
|
|||||||
%% - Plot GS wavefunction
|
%% - Plot GS wavefunction
|
||||||
Plotter.visualizeGSWavefunction2D(Params.njob)
|
Plotter.visualizeGSWavefunction2D(Params.njob)
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
folder_path = './Data_TriangularPhase';
|
||||||
|
run_index = 1;
|
||||||
|
Plotter.visualizeGSWavefunction2D(folder_path, run_index)
|
||||||
|
% analyzeRun2D(folder_path, run_index)
|
||||||
|
|
||||||
|
%%
|
@ -1,24 +1,12 @@
|
|||||||
function [psi,V,VDk] = initialize(this,Params,VParams,Transf)
|
function [psi,V,VDk] = initialize(this,Params,VParams,Transf)
|
||||||
|
|
||||||
% == User-defined potential == %
|
% == User-defined potential == %
|
||||||
V = this.Potential;
|
V = this.Potential;
|
||||||
assert(~anynan(V), 'Potential not defined! Specify as <SimulatorObject>.Potential = <PotentialsObject>.trap() + <AdditionalTerms>.');
|
assert(~anynan(V), 'Potential not defined! Specify as <SimulatorObject>.Potential = <PotentialsObject>.trap() + <AdditionalTerms>.');
|
||||||
|
|
||||||
% == Calculating the DDIs == %
|
% == Calculating the DDIs == %
|
||||||
if isfile(strcat(this.SaveDirectory, '/VDk_M.mat'))
|
|
||||||
VDk = load(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')));
|
|
||||||
VDk = VDk.VDk;
|
|
||||||
VDkSize = size(VDk);
|
|
||||||
if VDkSize(1) ~= Params.Nx && VDkSize(2) ~= Params.Ny
|
|
||||||
VDk = this.Calculator.calculateVDkWithCutoff(Transf, Params, VParams);
|
|
||||||
save(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')),'VDk');
|
|
||||||
fprintf('Saved VDk incomensurate with specified grid points: Computed and saved DDI potential for new grid size in Fourier space with cutoff.\n')
|
|
||||||
end
|
|
||||||
else
|
|
||||||
VDk = this.Calculator.calculateVDkWithCutoff(Transf, Params, VParams);
|
VDk = this.Calculator.calculateVDkWithCutoff(Transf, Params, VParams);
|
||||||
save(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')),'VDk');
|
save(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')),'VDk');
|
||||||
fprintf('Computed and saved DDI potential in Fourier space with cutoff.\n')
|
fprintf('Computed and saved DDI potential in Fourier space with cutoff.\n')
|
||||||
end
|
|
||||||
|
|
||||||
% == Setting up the initial wavefunction == %
|
% == Setting up the initial wavefunction == %
|
||||||
psi = this.setupWavefunction(Params,Transf);
|
psi = this.setupWavefunction(Params,Transf);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Request number of nodes and GPU for job
|
# Request number of nodes and GPU for job
|
||||||
#SBATCH --nodes=1
|
#SBATCH --nodes=1
|
||||||
#SBATCH --ntasks-per-node=1
|
#SBATCH --ntasks-per-node=1
|
||||||
#SBATCH --gres=gpu:A40:1
|
#SBATCH --gres=gpu:A40:3
|
||||||
#SBATCH --mem=8G
|
#SBATCH --mem=8G
|
||||||
# Estimated wallclock time for job
|
# Estimated wallclock time for job
|
||||||
#SBATCH --time=10:00:00
|
#SBATCH --time=10:00:00
|
||||||
|
Loading…
Reference in New Issue
Block a user