summaryrefslogtreecommitdiff
path: root/four_levels_with_polarization.m
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2009-12-14 23:20:41 +0000
committerEugeniy Mikhailov <evgmik@gmail.com>2009-12-14 23:20:41 +0000
commita596b2de9c5c8b6cddaa4d8e1f1ff9be530abc3c (patch)
tree00be367d04acc35765a3fc828b89c1b59cfca80e /four_levels_with_polarization.m
parent4a004205484cdd9340b1b8554efbb323e96a9b86 (diff)
downloadmulti_mode_eit-a596b2de9c5c8b6cddaa4d8e1f1ff9be530abc3c.tar.gz
multi_mode_eit-a596b2de9c5c8b6cddaa4d8e1f1ff9be530abc3c.zip
added test case for polarization aware atom
Diffstat (limited to 'four_levels_with_polarization.m')
-rw-r--r--four_levels_with_polarization.m79
1 files changed, 79 insertions, 0 deletions
diff --git a/four_levels_with_polarization.m b/four_levels_with_polarization.m
new file mode 100644
index 0000000..6bf3d44
--- /dev/null
+++ b/four_levels_with_polarization.m
@@ -0,0 +1,79 @@
+1;
+
+Nlevels=4;
+w1=1e9;
+w2=0;
+w_hpf=6800;
+w3=w_hpf;
+w4=w_hpf+.1; % separation of levels |3> and |4> somewhat like Zeeman splitting
+w12=w1-w2;
+w13=w1-w3;
+
+%
+% ----------- |1>
+% / \
+% E_d / \
+% / \ E_p
+% / \
+% -------- |3> \
+% -------- |4> \
+% \
+% ___________ |2>
+
+
+% unperturbed Hamiltonian energy levels
+levels_energy=[ w1, 0, w3, w4];
+levels_energy=levels_energy*hbar;
+H0=zeros(Nlevels);
+H0=diag(levels_energy);
+%for i=1:Nlevels
+ %H0(i,i)=levels_energy(i);
+%endfor
+
+% decay matrix g(i,j) correspnds to decay from i-->j
+gamma=6;
+gamma_23=.001;
+g_decay=zeros(Nlevels);
+g_decay(1,2)=gamma; %upper level decay
+g_decay(1,3)=gamma; %upper level decay
+g_decay(1,4)=gamma; %upper level decay
+g_decay(3,2)=gamma_23; % lower levels mixing
+g_decay(2,3)=gamma_23; % lower levels mixing
+g_decay(4,2)=gamma_23; % lower levels mixing
+g_decay(2,4)=gamma_23; % lower levels mixing
+
+
+% dipole matrix
+dipole_elements.left=zeros(Nlevels);
+dipole_elements.left(1,2)=1;
+dipole_elements.left(2,1)=dipole_elements.left(1,2);
+dipole_elements.left(1,3)=0;
+dipole_elements.left(3,1)=dipole_elements.left(1,3);
+dipole_elements.left(1,4)=0;
+dipole_elements.left(4,1)=dipole_elements.left(1,4);
+
+dipole_elements.right=zeros(Nlevels);
+dipole_elements.right(1,2)=0;
+dipole_elements.right(2,1)=dipole_elements.right(1,2);
+dipole_elements.right(1,3)=1;
+dipole_elements.right(3,1)=dipole_elements.right(1,3);
+dipole_elements.right(1,4)=1;
+dipole_elements.right(4,1)=dipole_elements.right(1,4);
+
+dipole_elements.linear=zeros(Nlevels);
+dipole_elements.linear(1,2)=0;
+dipole_elements.linear(2,1)=dipole_elements.linear(1,2);
+dipole_elements.linear(1,3)=0;
+dipole_elements.linear(3,1)=dipole_elements.linear(1,3);
+dipole_elements.linear(1,4)=0;
+dipole_elements.linear(4,1)=dipole_elements.linear(1,4);
+
+maximum_dipole_elements=dipole_elements.linear + dipole_elements.left + dipole_elements.right;
+
+%defasing matrix
+g_deph=0;
+g_dephasing=zeros(Nlevels);
+% dephasing only for non zero dipole elements (am I right?)
+g_dephasing=g_deph*(maximum_dipole_elements != 0);
+
+