Calculations/Dipolar-Gas-Simulator/+Simulator/@DipolarGas/run.m

28 lines
1.1 KiB
Matlab

function [Params, Transf, psi,V,VDk] = run(this)
% --- Obtain simulation parameters ---
[Params] = this.setupParameters();
this.SimulationParameters = Params;
% --- Set up spatial grids and transforms ---
[Transf] = this.setupSpace(Params);
[TransfRad] = this.setupSpaceRadial(Params);
% --- Initialize ---
mkdir(sprintf(this.SaveDirectory))
[psi,V,VDk] = this.initialize(Params,Transf,TransfRad);
Observ.EVec = []; Observ.NormVec = []; Observ.PCVec = []; Observ.tVecPlot = []; Observ.mucVec = [];
t_idx = 1; % Start at t = 0;
Observ.res_idx = 1;
% --- Run Simulation ---
mkdir(sprintf(this.SaveDirectory))
mkdir(sprintf(strcat(this.SaveDirectory, '/Run_%03i'),Params.njob))
if strcmp(this.SimulationMode, 'EnergyMinimization')
[psi] = this.minimizeEnergyFunctional(psi,Params,Transf,VDk,V,Observ);
else
[psi] = this.propagateWavefunction(psi,Params,Transf,VDk,V,t_idx,Observ);
end
end