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