summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2010-01-21 20:06:08 +0000
committerEugeniy Mikhailov <evgmik@gmail.com>2010-01-21 20:06:08 +0000
commit048813c8b319c77deb742c348645e9853fa706f5 (patch)
treee38cd2e5aaa54b27fe79ee4b8e05fd569a0140a7
parent7ab837a5ba1edbd8d544e1bb6f5857ee0146d754 (diff)
downloadmulti_mode_eit-048813c8b319c77deb742c348645e9853fa706f5.tar.gz
multi_mode_eit-048813c8b319c77deb742c348645e9853fa706f5.zip
proper use of rotation transformation for light polarizations
-rw-r--r--compass.m41
-rw-r--r--liouville.m39
2 files changed, 42 insertions, 38 deletions
diff --git a/compass.m b/compass.m
index d7617ea..1eeda9f 100644
--- a/compass.m
+++ b/compass.m
@@ -12,10 +12,10 @@ useful_constants;
basis_transformation; % load subroutines
% load atom energy levels and decay description
-%rb87_D1_line;
+rb87_D1_line;
%four_levels_with_polarization;
%four_levels;
-three_levels;
+%three_levels;
%two_levels;
% load EM field description
@@ -55,19 +55,20 @@ atom_properties.dipole_elements=dipole_elements;
Ed=.1; Edc=conj(Ed);
Ep=0.8*Ed; Epc=conj(Ep);
-%modulation_freq=[0, wp, wd, -wp, -wd, wp-wd, wd-wp];
-E_field_drive =[0, 0 , Ed, 0 , Edc, 0, 0 ];
-E_field_probe =[0, Ep, 0 , Epc, 0 , 0, 0 ];
-E_field_zero =[0, 0 , 0 , 0 , 0 , 0, 0 ];
-E_field_lab.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive;
-E_field_lab.right = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
-E_field_lab.left = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
+%light_positive_freq = [wp, wd, wp-wd];
+E_field_drive = [0 , Ed, 0 ];
+E_field_probe = [Ep, 0 , 0 ];
+E_field_zero = [0 , 0 , 0 ];
+E_field_lab_pos_freq.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive;
+%E_field_lab_pos_freq.right = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
+%E_field_lab_pos_freq.left = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
+
% phi is angle between linear polarization and axis x
phi=pi*2/8;
% theta is angle between lab z axis (light propagation direction) and magnetic field axis (z')
+theta=0/4;
theta=pi/2;
-theta=pi/4;
@@ -89,17 +90,21 @@ for phi=phis;
detuning_p=detuning_freq(detuning_p_cntr);
wp=wp0+detuning_p;
wm=wd-(wp-wd);
- %modulation_freq=[0, wp, wd, wm, -wp, -wd, -wm, wp-wd, wd-wp];
- modulation_freq=[0, wp, wd, -wp, -wd, wp-wd, wd-wp];
+
+ light_positive_freq=[ wp, wd, wp-wd];
% we define light as linearly polarized
% where phi is angle between light polarization and axis x
- [E_field_lab.x, E_field_lab.y] = rotXpolarization(phi, E_field_lab.linear, modulation_freq);
- E_field_lab.z=E_field_zero;
+ [E_field_lab_pos_freq.x, E_field_lab_pos_freq.y] = rotXpolarization(phi, E_field_lab_pos_freq.linear);
+ E_field_lab_pos_freq.z=E_field_zero;
+
% now we transfor x,y,z, to x',y', and z' with respect to magnetic field az z' axis
- coord_transf_m = lin2circ * oldlin2newlin(theta);
- E_field.right = coord_transf_m(1,1)*E_field_lab.x + coord_transf_m(1,2)*E_field_lab.y + coord_transf_m(1,3)*E_field_lab.z;
- E_field.left = coord_transf_m(2,1)*E_field_lab.x + coord_transf_m(2,2)*E_field_lab.y + coord_transf_m(2,3)*E_field_lab.z;
- E_field.linear = coord_transf_m(3,1)*E_field_lab.x + coord_transf_m(3,2)*E_field_lab.y + coord_transf_m(3,3)*E_field_lab.z;
+ E_field_pos_freq=xyz_lin2atomic_axis_polarization(theta, E_field_lab_pos_freq);
+
+ % we calculate dc and negative frequiencies as well as amplitudes
+ [modulation_freq, E_field] = ...
+ light_positive_frequencies_and_amplitudes2full_set_of_modulation_frequencies_and_amlitudes(...
+ light_positive_freq, E_field_pos_freq);
+
freq_index=freq2index(wp,modulation_freq);
atom_field_problem.E_field = E_field;
diff --git a/liouville.m b/liouville.m
index 10ccc95..53a84ef 100644
--- a/liouville.m
+++ b/liouville.m
@@ -12,10 +12,10 @@ useful_constants;
basis_transformation; % load subroutines
% load atom energy levels and decay description
-%rb87_D1_line;
+rb87_D1_line;
%four_levels_with_polarization;
%four_levels;
-three_levels;
+%three_levels;
%two_levels;
% load EM field description
@@ -27,7 +27,7 @@ field_description;
%tune probe frequency
detuning_p=0;
-N_detun_steps=200;
+N_detun_steps=100;
%detuning_p_min=-B_field*gmg*4; % span +/-4 Zeeman splitting
detuning_p_min=-0.1;
detuning_p_max=-detuning_p_min;
@@ -53,32 +53,28 @@ atom_properties.L0m=L0m;
atom_properties.polarizability_m=polarizability_m;
atom_properties.dipole_elements=dipole_elements;
-%modulation_freq=[0, wp, wd, -wp, -wd, wp-wd, wd-wp];
-E_field_drive =[0, 0 , Ed, 0 , Edc, 0, 0 ];
-E_field_probe =[0, Ep, 0 , Epc, 0 , 0, 0 ];
-E_field_zero =[0, 0 , 0 , 0 , 0 , 0, 0 ];
-E_field_lab.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive;
-E_field_lab.right = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
-E_field_lab.left = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
+%light_positive_freq = [wp, wd, wp-wd];
+E_field_drive = [0 , Ed, 0 ];
+E_field_probe = [Ep, 0 , 0 ];
+E_field_zero = [0 , 0 , 0 ];
+E_field_lab_pos_freq.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive;
+%E_field_lab_pos_freq.right = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
+%E_field_lab_pos_freq.left = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive;
% phi is angle between linear polarization and axis x
phi=pi*2/8;
% theta is angle between lab z axis (light propagation direction) and magnetic field axis (z')
-theta=0/2;
+theta=pi/2;
phi=pi/4;
% we define light as linearly polarized
% where phi is angle between light polarization and axis x
% only sign of modulation frequency is important now
% we define actual frequency later on
- modulation_freq=[0, 1, 1, -1, -1, 1, -1];
- [E_field_lab.x, E_field_lab.y] = rotXpolarization(phi, E_field_lab.linear, modulation_freq);
-E_field_lab.z=E_field_zero;
+ [E_field_lab_pos_freq.x, E_field_lab_pos_freq.y] = rotXpolarization(phi, E_field_lab_pos_freq.linear);
+ E_field_lab_pos_freq.z=E_field_zero;
-coord_transf_m = lin2circ * oldlin2newlin(theta);
-E_field.right = coord_transf_m(1,1)*E_field_lab.x + coord_transf_m(1,2)*E_field_lab.y + coord_transf_m(1,3)*E_field_lab.z;
-E_field.left = coord_transf_m(2,1)*E_field_lab.x + coord_transf_m(2,2)*E_field_lab.y + coord_transf_m(2,3)*E_field_lab.z;
-E_field.linear = coord_transf_m(3,1)*E_field_lab.x + coord_transf_m(3,2)*E_field_lab.y + coord_transf_m(3,3)*E_field_lab.z;
+ E_field_pos_freq=xyz_lin2atomic_axis_polarization(theta, E_field_lab_pos_freq);
fprintf (stderr, "tuning laser in forloop to set conditions vs detuning\n");
@@ -89,8 +85,11 @@ for detuning_p_cntr=1:N_detun_steps+1;
detuning_p=detuning_p_min+detun_step*(detuning_p_cntr-1);
wp=wp0+detuning_p;
wm=wd-(wp-wd);
- %modulation_freq=[0, wp, wd, wm, -wp, -wd, -wm, wp-wd, wd-wp];
- modulation_freq=[0, wp, wd, -wp, -wd, wp-wd, wd-wp];
+ light_positive_freq=[ wp, wd, wp-wd];
+ % we calculate dc and negative frequiencies as well as amplitudes
+ [modulation_freq, E_field] = ...
+ light_positive_frequencies_and_amplitudes2full_set_of_modulation_frequencies_and_amlitudes(...
+ light_positive_freq, E_field_pos_freq);
freq_index=freq2index(wp,modulation_freq);
atom_field_problem.E_field = E_field;