From f5ada94ba87b905593becf9b1d558e0386c1af9d Mon Sep 17 00:00:00 2001 From: Eugeniy Mikhailov Date: Sat, 3 Sep 2011 01:24:10 -0400 Subject: Shahriar_system xmds is ready Still need to find good set of parameters to show fast light Programmed code includes: xmds file, pp.m to show results and some modifications of Simon's mathematica code to better suit xmds. Total work time 1h30m including some EIT test cases. --- .../Shahriar_system/Nlevels_no_dopler_with_z.xsil | 298 +++++++++++++++++++++ xmds2/Shahriar_system/Readme | 7 + xmds2/Shahriar_system/Shahriar_system.xmds | 138 +++++----- xmds2/Shahriar_system/pp.m | 106 ++++++++ 4 files changed, 477 insertions(+), 72 deletions(-) create mode 100644 xmds2/Shahriar_system/Nlevels_no_dopler_with_z.xsil create mode 100644 xmds2/Shahriar_system/Readme create mode 100644 xmds2/Shahriar_system/pp.m diff --git a/xmds2/Shahriar_system/Nlevels_no_dopler_with_z.xsil b/xmds2/Shahriar_system/Nlevels_no_dopler_with_z.xsil new file mode 100644 index 0000000..a3b05f2 --- /dev/null +++ b/xmds2/Shahriar_system/Nlevels_no_dopler_with_z.xsil @@ -0,0 +1,298 @@ + + + + Shahriar_system + + Eugeniy Mikhailov, Simon Rochester + + License GPL. + + Solving 3 level atom in double drive configuration + after Shahriar paper about white cavity + with field propagation along spatial axis Z + no Doppler broadening. + + All fields detuned from upper level i.e. Raman configuration + + + * + * ..... + * / .... + * / .... \ + * / / \ + * / /-------- |3> + * E3 / \ + * / E2 \ + * / / \ E1 + * ------ |2> \ + * \ + * ------- |1> + * + + + We are solving + dE/dz+(1/c)*dE/dt=i*eta*rho_ij, where j level is higher then i. + Note that E is actually a Rabi frequency of electromagnetic field not the EM field + in xmds terms it looks like + dE_dz = i*eta*rhoij - 1/c*L[E], here we moved t dependence to Fourier space + + VERY IMPORTANT: all Rabi frequency should be given in [1/s], if you want to + normalize it to something else look drho/dt equation. + No need to renormalizes eta as long as its express through i + the upper level decay rate in the same units as Rabi frequency. + + + + + to |3> in [1/s] + const double gp=2*.6 *(2*M_PI*1e6); + + // total decay of i-th level branching ratios. Rij branching of i-th level to j-th + const double R31=0.5, R32=0.5; + + + complex E1c, E2c, E3c; // Complex conjugated Rabi frequencies + + complex r21, r31, r32; // density matrix elements + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + z + + + + + + + + E1 E2 E3 + + + + + + + r11 r22 r33 r12 r13 r23 + + + + // this is because if r11=1, everything else is 0 and then every small increment + // seems to be huge and adaptive solver makes smaller and smaller steps. + // As quick and dirty fix I reshuffle initial population + // so some of the population sits at the second ground level |2> + // TODO: Fix above. Make the equation of motion for r11 + // and express other level, let's say r44 + // through population normalization + r11 = 1; r22 = 0; r33 = 0; + r12 = 0; r13 = 0; + r23 = 0; + ]]> + + + + + d dc + + + + + + + + + + + + + + + 200 200 + + + density_matrix + E_field pump_detunings + + + + + + + Lt + + + E_field + density_matrix + + + + + + + + + + + + + E_field + I1_out I2_out I3_out + + + + + + + density_matrix + + r11_out r22_out r33_out + r12_re_out r12_im_out r13_re_out r13_im_out + r23_re_out r23_im_out + + + + + + + + +Script compiled with XMDS2 version 2.0 "Shiny!" (HEAD) +See http://www.xmds.org for more information. + +Variables that can be specified on the command line: + Command line argument E1o = 1.570796e+04 + Command line argument E2o = 3.769911e+07 + Command line argument E3o = 0.000000e+00 + Command line argument d1 = 0.000000e+00 + Command line argument da = 0.000000e+00 + Command line argument delta = 6.283185e+03 + + + + 2 + + 5 + +z t I1_out I2_out I3_out + + + + 201 + 1000 + 5 + +Nlevels_no_dopler_with_z_mg0.dat + + + + + + 2 + + 11 + +z t r11_out r22_out r33_out r12_re_out r12_im_out r13_re_out r13_im_out r23_re_out r23_im_out + + + + 201 + 100 + 11 + +Nlevels_no_dopler_with_z_mg1.dat + + + + diff --git a/xmds2/Shahriar_system/Readme b/xmds2/Shahriar_system/Readme new file mode 100644 index 0000000..c380a31 --- /dev/null +++ b/xmds2/Shahriar_system/Readme @@ -0,0 +1,7 @@ +Usual EIT only two fields probe and pump +./Shahriar_system.run --E2o 30e6 --E3o 0 --d1 0 --da 0 --delta 0 + +Raman (far detuned) EIT only two fields probe and pump +!./Shahriar_system.run --E2o 30e6 --E3o 0 --d1 50e6 --da 50e6 --delta 0 + + diff --git a/xmds2/Shahriar_system/Shahriar_system.xmds b/xmds2/Shahriar_system/Shahriar_system.xmds index 0109168..0d30a32 100644 --- a/xmds2/Shahriar_system/Shahriar_system.xmds +++ b/xmds2/Shahriar_system/Shahriar_system.xmds @@ -3,30 +3,29 @@ Shahriar_system - Eugeniy Mikhailov - Simon Rochester + Eugeniy Mikhailov, Simon Rochester License GPL. - Solving 4 level atom in N-field configuration, + Solving 3 level atom in double drive configuration + after Shahriar paper about white cavity with field propagation along spatial axis Z - no Doppler broadening + no Doppler broadening. - For master equations look "Four-level 'N-scheme' in bare and quasi-dressed states pictures" - by T. Abi-Salloum, S. Meiselman, J.P. Davis and F.A. Narducci - Journal of Modern Optics, 56: 18, 1926 -- 1932, (2009). + All fields detuned from upper level i.e. Raman configuration - Present calculation matches Fig.3 (b) from the above paper. - Note that I need to double all Rabi frequencies to match the figure. - * -------- |4> - * \ - * \ E3 -------- |3> - * \ / \ - * \ E2 / \ - * \ / \ E1 - * ------- |2> \ - * \ + * + * ..... + * / .... + * / .... \ + * / / \ + * / /-------- |3> + * E3 / \ + * / E2 \ + * / / \ E1 + * ------ |2> \ + * \ * ------- |1> * @@ -55,30 +54,36 @@ // repopulation rate (atoms flying in/out the laser beam) in [1/s] const double gt=0.01/2 *(2*M_PI*1e6); - // Natural linewidth of j's level in [1/s] - const double G3=2*2.7 *(2*M_PI*1e6); - const double G4=2*3.0 *(2*M_PI*1e6); + // Natural linewidth of the upper level [1/s] + const double G=2*6 *(2*M_PI*1e6); + + // incoherent pumping rate from level |1> to |3> in [1/s] + const double gp=2*.0 *(2*M_PI*1e6); // total decay of i-th level branching ratios. Rij branching of i-th level to j-th - const double R41=0.5, R42=0.5; const double R31=0.5, R32=0.5; complex E1c, E2c, E3c; // Complex conjugated Rabi frequencies - complex r21, r31, r41, r32, r42, r43, r44; // density matrix elements + complex r21, r31, r32; // density matrix elements ]]> + - - + + + - - - + + + + + + @@ -109,13 +114,10 @@ - - - r11 r22 r33 r12 r13 r14 r23 r24 r34 r44 + r11 r22 r33 r12 r13 r23 + + d dc + + + + + + + - + @@ -147,13 +160,12 @@ density_matrix - E_field + E_field pump_detunings @@ -193,17 +198,14 @@ - - - - + E_field @@ -220,30 +222,22 @@ density_matrix - r11_out r22_out r33_out r44_out - r12_re_out r12_im_out r13_re_out r13_im_out r14_re_out r14_im_out - r23_re_out r23_im_out r24_re_out r24_im_out - r34_re_out r34_im_out + r11_out r22_out r33_out + r12_re_out r12_im_out r13_re_out r13_im_out + r23_re_out r23_im_out diff --git a/xmds2/Shahriar_system/pp.m b/xmds2/Shahriar_system/pp.m new file mode 100644 index 0000000..fcb7e2a --- /dev/null +++ b/xmds2/Shahriar_system/pp.m @@ -0,0 +1,106 @@ +Shahriar_system + +%% field propagation +t_1=t_1*1e6; % time now measured in uS +figure(1) +subplot(1,3,1); imagesc(z_1, t_1, I1_out_1); colorbar +xlabel('z') +ylabel('t (uS)') +zlabel('I_1') +title('I_1') +subplot(1,3,2); imagesc(z_1, t_1, I2_out_1); colorbar +xlabel('z') +ylabel('t (uS)') +zlabel('I_2') +title('I_2') +subplot(1,3,3); imagesc(z_1, t_1, I3_out_1); colorbar +xlabel('z') +ylabel('t (uS)') +zlabel('I_3') +title('I_3') + + + + +%% fields before and after the cell +figure(2) +subplot(1,3,1); +plot( ... + t_1,I1_out_1(:,1),'-;before;', ... + t_1,I1_out_1(:,end), '-;after;' ... + ) +xlabel('t') +ylabel('I_1') +title('I_1 propagation') +subplot(1,3,2); +plot( ... + t_1,I2_out_1(:,1),'-;before;', ... + t_1,I2_out_1(:,end), '-;after;' ... + ) +xlabel('t') +ylabel('I_2') +title('I_2 propagation') +subplot(1,3,3); +plot( ... + t_1,I3_out_1(:,1),'-;before;', ... + t_1,I3_out_1(:,end), '-;after;' ... + ) +xlabel('t') +ylabel('I_3') +title('I_3 propagation') + +%return; + +%% all density matrix elements in one plot +% diagonal populations, +% upper triangle real part of coherences, +% lower diagonal imaginary part of coherences +figure(3) +subplot(3,3,1); imagesc (z_2, t_2, r11_out_2); caxis([0,1]); colorbar +xlabel('z') +ylabel('t') +zlabel('rho_{11}') +title('rho_{11}') +subplot(3,3,5); imagesc (z_2, t_2, r22_out_2); caxis([0,1]); colorbar +xlabel('z') +ylabel('t') +zlabel('rho_{22}') +title('rho_{22}') +subplot(3,3,9); imagesc (z_2, t_2, r33_out_2); caxis([0,1]); colorbar +xlabel('z') +ylabel('t') +zlabel('rho_{33}') +title('rho_{33}') +% real parts of coherences +subplot(3,3,2); imagesc(z_2, t_2, r12_re_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Real(rho_{12})') +title('Real(rho_{12})') +subplot(3,3,3); imagesc(z_2, t_2, r13_re_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Real(rho_{13})') +title('Real(rho_{13})') +subplot(3,3,6); imagesc(z_2, t_2, r23_re_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Real(rho_{23})') +title('Real(rho_{23})') +% imaginary parts of coherences +subplot(3,3,4); imagesc(z_2, t_2, r12_im_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Imag(rho_{12})') +title('Imag(rho_{12})') +subplot(3,3,7); imagesc(z_2, t_2, r13_im_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Imag(rho_{13})') +title('Imag(rho_{13})') +subplot(3,3,8); imagesc(z_2, t_2, r23_im_out_2); colorbar +xlabel('z') +ylabel('t') +zlabel('Imag(rho_{23})') +title('Imag(rho_{23})') + -- cgit v1.2.3