1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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']);
|