diff --git a/Dipolar-Gas-Simulator/+Scripts/run_on_cluster.m b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster.m index 09d4fa1..79f3aa0 100644 --- a/Dipolar-Gas-Simulator/+Scripts/run_on_cluster.m +++ b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster.m @@ -1,26 +1,26 @@ -%% - Aspect Ratio: 2.8 +%% - Labyrinth: N=4E5, as = 87ao OptionsStruct = struct; -OptionsStruct.NumberOfAtoms = 5E5; +OptionsStruct.NumberOfAtoms = 4E5; OptionsStruct.DipolarPolarAngle = deg2rad(0); OptionsStruct.DipolarAzimuthAngle = 0; -OptionsStruct.ScatteringLength = 85; +OptionsStruct.ScatteringLength = 87; -AspectRatio = 2.8; +AspectRatio = 2.0; HorizontalTrapFrequency = 125; VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; OptionsStruct.TrapPotentialType = 'Harmonic'; -OptionsStruct.NumberOfGridPoints = [128, 128, 64]; +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; OptionsStruct.Dimensions = [18, 18, 18]; OptionsStruct.IncludeDDICutOff = true; OptionsStruct.CutoffType = 'Cylindrical'; OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' -OptionsStruct.TimeStepSize = 0.001; % in s -OptionsStruct.MinimumTimeStepSize = 1E-5; % in s -OptionsStruct.TimeCutOff = 1E6; % in s +OptionsStruct.TimeStepSize = 2E-3; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s OptionsStruct.EnergyTolerance = 5E-10; OptionsStruct.ResidualTolerance = 1E-05; OptionsStruct.NoiseScaleFactor = 0.01; @@ -29,49 +29,7 @@ OptionsStruct.PlotLive = false; OptionsStruct.JobNumber = 0; OptionsStruct.RunOnGPU = true; OptionsStruct.SaveData = true; -OptionsStruct.SaveDirectory = sprintf('./Results/Data_3D/AspectRatio%s', strrep(num2str(AspectRatio), '.', '_')); -options = Helper.convertstruct2cell(OptionsStruct); -clear OptionsStruct - -sim = Simulator.DipolarGas(options{:}); -pot = Simulator.Potentials(options{:}); -sim.Potential = pot.trap(); - -%-% Run Simulation %-% -[Params, Transf, psi, V, VDk] = sim.run(); - -%% - Aspect Ratio: 3.7 - -OptionsStruct = struct; - -OptionsStruct.NumberOfAtoms = 5E5; -OptionsStruct.DipolarPolarAngle = deg2rad(0); -OptionsStruct.DipolarAzimuthAngle = 0; -OptionsStruct.ScatteringLength = 85; - -AspectRatio = 3.7; -HorizontalTrapFrequency = 125; -VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; -OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; -OptionsStruct.TrapPotentialType = 'Harmonic'; - -OptionsStruct.NumberOfGridPoints = [128, 128, 64]; -OptionsStruct.Dimensions = [18, 18, 18]; -OptionsStruct.IncludeDDICutOff = true; -OptionsStruct.CutoffType = 'Cylindrical'; -OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' -OptionsStruct.TimeStepSize = 0.001; % in s -OptionsStruct.MinimumTimeStepSize = 1E-5; % in s -OptionsStruct.TimeCutOff = 1E6; % in s -OptionsStruct.EnergyTolerance = 5E-10; -OptionsStruct.ResidualTolerance = 1E-05; -OptionsStruct.NoiseScaleFactor = 0.01; - -OptionsStruct.PlotLive = false; -OptionsStruct.JobNumber = 0; -OptionsStruct.RunOnGPU = true; -OptionsStruct.SaveData = true; -OptionsStruct.SaveDirectory = sprintf('./Results/Data_3D/AspectRatio%s', strrep(num2str(AspectRatio), '.', '_')); +OptionsStruct.SaveDirectory = './Results/Data_3D/BeyondSSD_Labyrinth'; options = Helper.convertstruct2cell(OptionsStruct); clear OptionsStruct diff --git a/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_beyondSSD.m b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_beyondSSD.m new file mode 100644 index 0000000..3a31e3a --- /dev/null +++ b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_beyondSSD.m @@ -0,0 +1,125 @@ +%% - SSD: N=1E5, as = 86ao + +OptionsStruct = struct; + +OptionsStruct.NumberOfAtoms = 1E5; +OptionsStruct.DipolarPolarAngle = deg2rad(0); +OptionsStruct.DipolarAzimuthAngle = 0; +OptionsStruct.ScatteringLength = 86; + +AspectRatio = 2.0; +HorizontalTrapFrequency = 125; +VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; +OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; +OptionsStruct.TrapPotentialType = 'Harmonic'; + +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; +OptionsStruct.Dimensions = [18, 18, 18]; +OptionsStruct.IncludeDDICutOff = true; +OptionsStruct.CutoffType = 'Cylindrical'; +OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' +OptionsStruct.TimeStepSize = 2E-3; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s +OptionsStruct.EnergyTolerance = 5E-10; +OptionsStruct.ResidualTolerance = 1E-05; +OptionsStruct.NoiseScaleFactor = 0.01; + +OptionsStruct.PlotLive = false; +OptionsStruct.JobNumber = 0; +OptionsStruct.RunOnGPU = true; +OptionsStruct.SaveData = true; +OptionsStruct.SaveDirectory = './Results/Data_3D/BeyondSSD_SSD'; +options = Helper.convertstruct2cell(OptionsStruct); +clear OptionsStruct + +sim = Simulator.DipolarGas(options{:}); +pot = Simulator.Potentials(options{:}); +sim.Potential = pot.trap(); + +%-% Run Simulation %-% +[Params, Transf, psi, V, VDk] = sim.run(); + +%% - Labyrinth: N=4E5, as = 87ao + +OptionsStruct = struct; + +OptionsStruct.NumberOfAtoms = 4E5; +OptionsStruct.DipolarPolarAngle = deg2rad(0); +OptionsStruct.DipolarAzimuthAngle = 0; +OptionsStruct.ScatteringLength = 87; + +AspectRatio = 2.0; +HorizontalTrapFrequency = 125; +VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; +OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; +OptionsStruct.TrapPotentialType = 'Harmonic'; + +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; +OptionsStruct.Dimensions = [18, 18, 18]; +OptionsStruct.IncludeDDICutOff = true; +OptionsStruct.CutoffType = 'Cylindrical'; +OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' +OptionsStruct.TimeStepSize = 2E-3; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s +OptionsStruct.EnergyTolerance = 5E-10; +OptionsStruct.ResidualTolerance = 1E-05; +OptionsStruct.NoiseScaleFactor = 0.01; + +OptionsStruct.PlotLive = false; +OptionsStruct.JobNumber = 0; +OptionsStruct.RunOnGPU = true; +OptionsStruct.SaveData = true; +OptionsStruct.SaveDirectory = './Results/Data_3D/BeyondSSD_Labyrinth'; +options = Helper.convertstruct2cell(OptionsStruct); +clear OptionsStruct + +sim = Simulator.DipolarGas(options{:}); +pot = Simulator.Potentials(options{:}); +sim.Potential = pot.trap(); + +%-% Run Simulation %-% +[Params, Transf, psi, V, VDk] = sim.run(); + +%% - Honeycomb: N=6E5, as = 88ao + +OptionsStruct = struct; + +OptionsStruct.NumberOfAtoms = 6E5; +OptionsStruct.DipolarPolarAngle = deg2rad(0); +OptionsStruct.DipolarAzimuthAngle = 0; +OptionsStruct.ScatteringLength = 88; + +AspectRatio = 2.0; +HorizontalTrapFrequency = 125; +VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; +OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; +OptionsStruct.TrapPotentialType = 'Harmonic'; + +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; +OptionsStruct.Dimensions = [18, 18, 18]; +OptionsStruct.IncludeDDICutOff = true; +OptionsStruct.CutoffType = 'Cylindrical'; +OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' +OptionsStruct.TimeStepSize = 2E-3; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s +OptionsStruct.EnergyTolerance = 5E-10; +OptionsStruct.ResidualTolerance = 1E-05; +OptionsStruct.NoiseScaleFactor = 0.01; + +OptionsStruct.PlotLive = false; +OptionsStruct.JobNumber = 0; +OptionsStruct.RunOnGPU = true; +OptionsStruct.SaveData = true; +OptionsStruct.SaveDirectory = './Results/Data_3D/BeyondSSD_Honeycomb'; +options = Helper.convertstruct2cell(OptionsStruct); +clear OptionsStruct + +sim = Simulator.DipolarGas(options{:}); +pot = Simulator.Potentials(options{:}); +sim.Potential = pot.trap(); + +%-% Run Simulation %-% +[Params, Transf, psi, V, VDk] = sim.run(); \ No newline at end of file diff --git a/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_vary_aspect_ratio.m b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_vary_aspect_ratio.m new file mode 100644 index 0000000..356b3b6 --- /dev/null +++ b/Dipolar-Gas-Simulator/+Scripts/run_on_cluster_vary_aspect_ratio.m @@ -0,0 +1,83 @@ +%% - Aspect Ratio: 2.8 + +OptionsStruct = struct; + +OptionsStruct.NumberOfAtoms = 5E5; +OptionsStruct.DipolarPolarAngle = deg2rad(0); +OptionsStruct.DipolarAzimuthAngle = 0; +OptionsStruct.ScatteringLength = 85; + +AspectRatio = 2.8; +HorizontalTrapFrequency = 125; +VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; +OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; +OptionsStruct.TrapPotentialType = 'Harmonic'; + +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; +OptionsStruct.Dimensions = [18, 18, 18]; +OptionsStruct.IncludeDDICutOff = true; +OptionsStruct.CutoffType = 'Cylindrical'; +OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' +OptionsStruct.TimeStepSize = 0.002; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s +OptionsStruct.EnergyTolerance = 5E-10; +OptionsStruct.ResidualTolerance = 1E-05; +OptionsStruct.NoiseScaleFactor = 0.01; + +OptionsStruct.PlotLive = false; +OptionsStruct.JobNumber = 0; +OptionsStruct.RunOnGPU = true; +OptionsStruct.SaveData = true; +OptionsStruct.SaveDirectory = sprintf('./Results/Data_3D/AspectRatio%s', strrep(num2str(AspectRatio), '.', '_')); +options = Helper.convertstruct2cell(OptionsStruct); +clear OptionsStruct + +sim = Simulator.DipolarGas(options{:}); +pot = Simulator.Potentials(options{:}); +sim.Potential = pot.trap(); + +%-% Run Simulation %-% +[Params, Transf, psi, V, VDk] = sim.run(); + +%% - Aspect Ratio: 3.7 + +OptionsStruct = struct; + +OptionsStruct.NumberOfAtoms = 5E5; +OptionsStruct.DipolarPolarAngle = deg2rad(0); +OptionsStruct.DipolarAzimuthAngle = 0; +OptionsStruct.ScatteringLength = 85; + +AspectRatio = 3.7; +HorizontalTrapFrequency = 125; +VerticalTrapFrequency = AspectRatio * HorizontalTrapFrequency; +OptionsStruct.TrapFrequencies = [HorizontalTrapFrequency, HorizontalTrapFrequency, VerticalTrapFrequency]; +OptionsStruct.TrapPotentialType = 'Harmonic'; + +OptionsStruct.NumberOfGridPoints = [256, 256, 128]; +OptionsStruct.Dimensions = [18, 18, 18]; +OptionsStruct.IncludeDDICutOff = true; +OptionsStruct.CutoffType = 'Cylindrical'; +OptionsStruct.SimulationMode = 'ImaginaryTimeEvolution'; % 'ImaginaryTimeEvolution' | 'RealTimeEvolution' +OptionsStruct.TimeStepSize = 0.002; % in s +OptionsStruct.MinimumTimeStepSize = 1E-6; % in s +OptionsStruct.TimeCutOff = 2E6; % in s +OptionsStruct.EnergyTolerance = 5E-10; +OptionsStruct.ResidualTolerance = 1E-05; +OptionsStruct.NoiseScaleFactor = 0.01; + +OptionsStruct.PlotLive = false; +OptionsStruct.JobNumber = 0; +OptionsStruct.RunOnGPU = true; +OptionsStruct.SaveData = true; +OptionsStruct.SaveDirectory = sprintf('./Results/Data_3D/AspectRatio%s', strrep(num2str(AspectRatio), '.', '_')); +options = Helper.convertstruct2cell(OptionsStruct); +clear OptionsStruct + +sim = Simulator.DipolarGas(options{:}); +pot = Simulator.Potentials(options{:}); +sim.Potential = pot.trap(); + +%-% Run Simulation %-% +[Params, Transf, psi, V, VDk] = sim.run(); \ No newline at end of file