summaryrefslogtreecommitdiff
path: root/simulate.m
diff options
context:
space:
mode:
Diffstat (limited to 'simulate.m')
-rw-r--r--simulate.m74
1 files changed, 74 insertions, 0 deletions
diff --git a/simulate.m b/simulate.m
new file mode 100644
index 0000000..ebf882f
--- /dev/null
+++ b/simulate.m
@@ -0,0 +1,74 @@
+clear
+
+matlabPath = getenv('LD_LIBRARY_PATH');
+libPath = getenv('PATH');
+
+setenv('LD_LIBRARY_PATH', libPath);
+system('xmds2 eit.xmds');
+setenv('LD_LIBRARY_PATH', matlabPath);
+
+decay_bc = 0.001;
+decay_ab = 6;
+
+widths = [];
+absorptions = [];
+drives = logspace(-2, -3, 10);
+drives = linspace(0.003298,0.003319,20);
+detunings1 = [0:2:0];
+dephase_bc = 0.05;
+
+for drive = drives
+ width_row = [];
+ absorption_row = [];
+ expected_width = (drive^2/decay_ab + dephase_bc + decay_bc);
+ domain_max = expected_width*10;
+ domain_min = -1*domain_max;
+ final_time = 1/expected_width*100;
+ for detuning1 = detunings1
+
+ run_eit = sprintf('time ./eit --drive_arg=%f --decay_arg=%f --decay_bc_arg=%f --delta1_arg=%f --domain_min=%f --domain_max=%f --dephase_bc_arg=%f --final_time=%f', drive, decay_ab, decay_bc, detuning1, domain_min, domain_max, dephase_bc, final_time);
+
+ setenv('LD_LIBRARY_PATH', libPath);
+ system(run_eit);
+ system('xsil2graphics2 -m eit.xsil');
+ setenv('LD_LIBRARY_PATH', matlabPath);
+ %[drive, detuning1] % Use for debugging
+ run('eit.m');
+ detunings2 = detuning_1';
+ PabI = PabI_1(end,:)';
+ [fwhm, absorption_min] = getPeak(detunings2, PabI);
+
+ width_row = [width_row, fwhm];
+ absorption_row = [absorption_row, absorption_min];
+ eit_plot = [detunings2, PabI];
+ csv_name = sprintf('data/%f_%f_%f_%f.dat', decay_bc, drive, detuning1, dephase_bc);
+ csvwrite(csv_name, eit_plot);
+ end
+ widths = [widths; width_row];
+ absorptions = [absorptions; absorption_row];
+end
+
+
+% plot(drives.^2, widths, drives.^2, absorptions*10^5)
+% legend('width', 'absorption')
+% xlabel('Drive^2')
+
+% figure
+% surf(detunings1, drives, widths)
+% xlabel('detuning')
+% ylabel('drive')
+% zlabel('width')
+
+% figure
+% surf(detunings1, drives, absorptions)
+% xlabel('detuning')
+% ylabel('drive')
+% zlabel('absorption')
+
+% plot(detunings2, PabI)
+% xlabel('Detuning')
+% ylabel('Absorption')
+% title(['Drive equals ' [int2str(drive)]])
+
+
+save(['workspaces/workspace_', datestr(clock,0), '.mat']);