Parameter search on cluster

This commit is contained in:
Karthik 2025-04-30 21:07:03 +02:00
parent 1f7f0a78d5
commit 4d10f6e515

View File

@ -1,40 +1,41 @@
%% - Labyrinth phase
OptionsStruct = struct; OptionsStruct = struct;
OptionsStruct.NumberOfAtoms = 5E5; OptionsStruct.NumberOfAtoms = 90000;
OptionsStruct.DipolarPolarAngle = deg2rad(0); OptionsStruct.DipolarPolarAngle = deg2rad(0);
OptionsStruct.DipolarAzimuthAngle = 0; OptionsStruct.DipolarAzimuthAngle = 0;
OptionsStruct.ScatteringLength = 85; OptionsStruct.ScatteringLength = 95;
OptionsStruct.TrapFrequencies = [125, 125, 350]; OptionsStruct.TrapFrequencies = [50, 20, 150];
OptionsStruct.TrapPotentialType = 'Harmonic'; OptionsStruct.TrapPotentialType = 'Harmonic';
OptionsStruct.NumberOfGridPoints = [128, 128, 64]; OptionsStruct.NumberOfGridPoints = [64, 128, 64];
OptionsStruct.Dimensions = [18, 18, 18]; OptionsStruct.Dimensions = [30, 30, 30];
OptionsStruct.UseApproximationForLHY = true; OptionsStruct.UseApproximationForLHY = true;
OptionsStruct.IncludeDDICutOff = true; OptionsStruct.IncludeDDICutOff = true;
OptionsStruct.CutoffType = 'Cylindrical'; OptionsStruct.CutoffType = 'Cylindrical';
OptionsStruct.SimulationMode = 'EnergyMinimization'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization' OptionsStruct.SimulationMode = 'EnergyMinimization'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' | 'EnergyMinimization'
OptionsStruct.GradientDescentMethod = 'NonLinearCGD'; % 'HeavyBall' | 'NonLinearCGD' OptionsStruct.GradientDescentMethod = 'NonLinearCGD'; % 'HeavyBall' | 'NonLinearCGD'
OptionsStruct.MaxIterationsForGD = 1E5; OptionsStruct.MaxIterationsForGD = 1E5;
OptionsStruct.TimeStepSize = 1E-3; % in s
OptionsStruct.MinimumTimeStepSize = 1E-6; % in s
OptionsStruct.TimeCutOff = 2E6; % in s
OptionsStruct.EnergyTolerance = 5E-10;
OptionsStruct.ResidualTolerance = 1E-08;
OptionsStruct.NoiseScaleFactor = 0.010; OptionsStruct.NoiseScaleFactor = 0.010;
OptionsStruct.PlotLive = false; OptionsStruct.PlotLive = true;
OptionsStruct.JobNumber = 0; OptionsStruct.JobNumber = 0;
OptionsStruct.RunOnGPU = true; OptionsStruct.RunOnGPU = false;
OptionsStruct.SaveData = true; OptionsStruct.SaveData = true;
OptionsStruct.SaveDirectory = './Results/Data_3D/GradientDescent'; OptionsStruct.SaveDirectory = './Results/Data_3D/GradientDescent'; % './Results/Data_3D/AnisotropicTrap/Tilted0'
options = Helper.convertstruct2cell(OptionsStruct); options = Helper.convertstruct2cell(OptionsStruct);
sim = Simulator.DipolarGas(options{:}); sim = Simulator.DipolarGas(options{:});
pot = Simulator.Potentials(options{:}); pot = Simulator.Potentials(options{:});
sim.Potential = pot.trap(); sim.Potential = pot.trap(); % + pot.repulsive_chopstick();
%-% Run Simulation %-% %-% Run Simulation %-%
NumberOfOutputs = 5; NumberOfOutputs = 5;
[Params, Transf, psi, V, VDk, stats] = Helper.runWithProfiling(@() sim.run(), NumberOfOutputs, OptionsStruct.SaveDirectory); [Params, Transf, psi, V, VDk, stats] = Helper.runWithProfiling(@() sim.run(), NumberOfOutputs, OptionsStruct.SaveDirectory);
fprintf('Runtime: %.3f seconds\n', stats.runtime); fprintf('Runtime: %.3f seconds\n', stats.runtime);
fprintf('Memory used: %.2f MB\n', stats.workspaceMemoryMB); fprintf('Memory used: %.2f MB\n', stats.workspaceMemoryMB);
clear all