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:
Karthik 2024-11-20 00:02:17 +01:00
parent 37de6a6353
commit 308acca29d
5 changed files with 14 additions and 22 deletions

View File

@ -1,10 +1,8 @@
function visualizeGSWavefunction2D(run_index)
function visualizeGSWavefunction2D(folder_path, run_index)
set(0,'defaulttextInterpreter','latex')
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
folder_path = './Data';
% Load data
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Params','Transf','Observ');

View File

@ -1,9 +1,7 @@
function analyzeRun2D(run_index)
function analyzeRun2D(folder_path, run_index)
set(0,'defaulttextInterpreter','latex')
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
folder_path = './Data';
% Load data
Data = load(sprintf(horzcat(folder_path, '/Run_%03i/psi_gs.mat'),run_index),'psi','Observ','Transf','Params','VParams');

View File

@ -111,3 +111,11 @@ Plotter.visualizeWavefunction2D(psi,Params,Transf)
%% - Plot GS wavefunction
Plotter.visualizeGSWavefunction2D(Params.njob)
%%
folder_path = './Data_TriangularPhase';
run_index = 1;
Plotter.visualizeGSWavefunction2D(folder_path, run_index)
% analyzeRun2D(folder_path, run_index)
%%

View File

@ -1,24 +1,12 @@
function [psi,V,VDk] = initialize(this,Params,VParams,Transf)
% == User-defined potential == %
V = this.Potential;
assert(~anynan(V), 'Potential not defined! Specify as <SimulatorObject>.Potential = <PotentialsObject>.trap() + <AdditionalTerms>.');
% == 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);
save(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')),'VDk');
fprintf('Computed and saved DDI potential in Fourier space with cutoff.\n')
end
VDk = this.Calculator.calculateVDkWithCutoff(Transf, Params, VParams);
save(sprintf(strcat(this.SaveDirectory, '/VDk_M.mat')),'VDk');
fprintf('Computed and saved DDI potential in Fourier space with cutoff.\n')
% == Setting up the initial wavefunction == %
psi = this.setupWavefunction(Params,Transf);

View File

@ -5,7 +5,7 @@
# Request number of nodes and GPU for job
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --gres=gpu:A40:1
#SBATCH --gres=gpu:A40:3
#SBATCH --mem=8G
# Estimated wallclock time for job
#SBATCH --time=10:00:00