From 3c5c80f2aa9aa6be3354fec6ea734707990e009c Mon Sep 17 00:00:00 2001 From: Karthik Chandrashekara Date: Fri, 2 May 2025 15:09:24 +0200 Subject: [PATCH] Minor changes - parameter tweaking for GD --- Dipolar-Gas-Simulator/+Scripts/run_hybrid_worker.m | 8 ++++++-- Dipolar-Gas-Simulator/+Scripts/run_locally.m | 14 +++++++++++++- .../+Simulator/@DipolarGas/runGradientDescent.m | 4 ++-- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Dipolar-Gas-Simulator/+Scripts/run_hybrid_worker.m b/Dipolar-Gas-Simulator/+Scripts/run_hybrid_worker.m index a4eaeb6..9472b60 100644 --- a/Dipolar-Gas-Simulator/+Scripts/run_hybrid_worker.m +++ b/Dipolar-Gas-Simulator/+Scripts/run_hybrid_worker.m @@ -61,8 +61,12 @@ function run_hybrid_worker(batchParams, batchIdx) sim.Potential = pot.trap(); NumberOfOutputs = 5; - [~, ~, ~, ~, ~, stats] = Helper.runWithProfiling(@() sim.run(), NumberOfOutputs, saveDir); - + try + [~, ~, ~, ~, ~, stats] = Helper.runWithProfiling(@() sim.run(), NumberOfOutputs, saveDir); + catch ME + fprintf('ERROR in job %d:\n%s\n', k, getReport(ME, 'extended')); + continue; + end fprintf('Batch %d | Job %d: a_s = %d, theta = %d°, phi = %d°, N = %d | Time = %.2f s\n', ... batchIdx, k, a_s, theta_deg, phi_deg, N_atoms, stats.runtime); end diff --git a/Dipolar-Gas-Simulator/+Scripts/run_locally.m b/Dipolar-Gas-Simulator/+Scripts/run_locally.m index 800e105..adbbde8 100644 --- a/Dipolar-Gas-Simulator/+Scripts/run_locally.m +++ b/Dipolar-Gas-Simulator/+Scripts/run_locally.m @@ -549,6 +549,18 @@ SaveDirectory = './Results/Data_3D/AnisotropicTrap/TiltedDipoles45'; JobNumber = 0; Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber) %% -SaveDirectory = './Results/Data_3D/GradientDescent'; +SaveDirectory = './Results/Data_3D/GradientDescent/aS_080_theta_000_phi_000_N_90000'; +JobNumber = 0; +Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber) +%% +SaveDirectory = './Results/Data_3D/GradientDescent/aS_085_theta_000_phi_000_N_90000'; +JobNumber = 0; +Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber) +%% +SaveDirectory = './Results/Data_3D/GradientDescent/aS_090_theta_000_phi_000_N_90000'; +JobNumber = 0; +Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber) +%% +SaveDirectory = './Results/Data_3D/GradientDescent/'; JobNumber = 0; Plotter.visualizeGSWavefunction(SaveDirectory, JobNumber) \ No newline at end of file diff --git a/Dipolar-Gas-Simulator/+Simulator/@DipolarGas/runGradientDescent.m b/Dipolar-Gas-Simulator/+Simulator/@DipolarGas/runGradientDescent.m index 8357c19..9dd8e95 100644 --- a/Dipolar-Gas-Simulator/+Simulator/@DipolarGas/runGradientDescent.m +++ b/Dipolar-Gas-Simulator/+Simulator/@DipolarGas/runGradientDescent.m @@ -8,7 +8,7 @@ function [psi] = runGradientDescent(this,psi,Params,Transf,VDk,V,Observ) switch this.GradientDescentMethod case 'HeavyBall' % Convergence Criteria: - alpha = 1E-3; + alpha = 1E-5; beta = 0.9; epsilon = 1E-6; @@ -91,7 +91,7 @@ function [psi] = runGradientDescent(this,psi,Params,Transf,VDk,V,Observ) case 'NonLinearCGD' % Convergence Criteria: - epsilon = 1E-14; + epsilon = 1E-13; % Iteration Counter: i = 1;