From c0dce4fc35c1782104265c09ca3dcdc80251f97d Mon Sep 17 00:00:00 2001 From: Eugeniy Mikhailov Date: Mon, 27 Aug 2012 11:31:42 -0400 Subject: revert deletion and merge of this file with wrong branch --- xmds2/realistic_Rb/realistic_Rb.xmds | 642 +++++++++++++++++++++++++++++++++++ 1 file changed, 642 insertions(+) create mode 100644 xmds2/realistic_Rb/realistic_Rb.xmds (limited to 'xmds2/realistic_Rb/realistic_Rb.xmds') diff --git a/xmds2/realistic_Rb/realistic_Rb.xmds b/xmds2/realistic_Rb/realistic_Rb.xmds new file mode 100644 index 0000000..598715f --- /dev/null +++ b/xmds2/realistic_Rb/realistic_Rb.xmds @@ -0,0 +1,642 @@ + + + + realistic_Rb + + Eugeniy Mikhailov + + License GPL. + + Solving simplified Rb atom model + with fields propagation along spatial axis Z + with Doppler broadening. + + + We assume four-wave mixing condition when w3-w4=w2-w1 i.e. fields E3 and E4 drive the same + resonance as fields E2 and E1. + + + * --------------- | F=1, 2P_3/2 > + * \ \ + * \ E3_r \ -------- | F=2, 2P_+1/2 > + * \ E4_r \ / \ + * \ \ / E2_l \ + * \ / \ E1_l + * | F=2, 2S_1/2 > -------------- \ + * \ \ + * \ \ + * ------------- | F=1, 2S_1/2 > + * + + + 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 + the upper level decay rate in the same units as Rabi frequency. + + + + + section + double eta = 0; // eta constant in the wave equation for Rabi frequency. Units are [1/(m s)] + double eta1=0, eta2=0, eta3=0; + + // --------- Atom and cell properties ------------------------- + // range of Maxwell distribution atomic velocities + const double mass = (86.909180527 * 1.660538921e-27); // atom mass in [kg] + // above mass expression is written as (expression is isotopic_mass * atomic_mass_unit) + + // Average sqrt(v^2) in Maxwell distribution for one dimension + // Maxwell related parameters will be calculated in section + double v_thermal_averaged=0; + // Maxwell distribution velocities range to take in account in [m/s] + double V_maxwell_min = 0, V_maxwell_max = 0; + + // repopulation rate (atoms flying in/out the laser beam) in [1/s] + const double gt=0.01 *(2*M_PI*1e6); + + // Natural linewidth of j's level in [1/s] + const double g1 = 3.612847284945266e7; + const double g2 = 3.8117309832741246e7; + + // levels energy + const double ha0 = 2.1471788680034824e10; + const double ha1 = 2.558764384495815e9; + const double ha2 = 5.323020344462938e8; + const double hb2 = 7.85178251911697e7; + + // Larmor frequency + double WL=0; + + + + complex E1ac, E2ac, E3ac, E4ac; // Complex conjugated Rabi frequencies + + // density matrix elements which calculated via Hermitian property r_ij=conj(r_ji) + complex + r1301, + r1402, + r0903, + r1503, + r1004, + r1604, + r1105, + r0206, + r1406, + r0307, + r0907, + r1507, + r0408, + r1008, + r1608, + r1509, + r1610; + + + // inner use variables + double probability_v; // will be used as p(v) in Maxwell distribution + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 to provide range for Maxwell velocity distribution\n"); + v_thermal_averaged=sqrt(k_boltzmann*Temperature/mass); + // Maxwell distribution velocities range to take in account in [m/s] + // there is almost zero probability for higher velocity p(4*v_av) = 3.3e-04 * p(0) + V_maxwell_min = -4*v_thermal_averaged; V_maxwell_max = -V_maxwell_min; + + // eta constant in the wave equation for Rabi frequency. Units are [1/(m s)] + eta = 3*lambda*lambda*Ndens*Gamma_super/8.0/M_PI; + // !FIXME over simplification: we should use relevant levels linewidths + eta1 = eta; + eta2 = eta; + eta3 = eta; + ]]> + + + + + + + + + + + + + z + + + + + + + + + + E1 E2 E3 E4 + + + + + + + + probability_v + + + + + + + + probability_v_norm + + Maxwell_distribution_probabilities + + + + + + + + E1a E2a E3a E4a + + E_field Maxwell_distribution_probabilities Maxwell_distribution_probabilities_norm + + + + + + + + r0101a + r0113a + r0202a + r0214a + r0303a + r0309a + r0315a + r0404a + r0410a + r0416a + r0505a + r0511a + r0602a + r0606a + r0614a + r0703a + r0707a + r0709a + r0715a + r0804a + r0808a + r0810a + r0816a + r0909a + r0915a + r1010a + r1016a + r1111a + r1313a + r1414a + r1515a + r1616a + + + density_matrix Maxwell_distribution_probabilities Maxwell_distribution_probabilities_norm + + + + + + + + r0101 + r0113 + r0202 + r0214 + r0303 + r0309 + r0315 + r0404 + r0410 + r0416 + r0505 + r0511 + r0602 + r0606 + r0614 + r0703 + r0707 + r0709 + r0715 + r0804 + r0808 + r0810 + r0816 + r0909 + r0915 + r1010 + r1016 + r1111 + r1313 + r1414 + r1515 + r1616 + + + + + // 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 + r0101 = 0.125; + r0113 = 0; + r0202 = 0.125; + r0214 = 0; + r0303 = 0.125; + r0309 = 0; + r0315 = 0; + r0404 = 0.125; + r0410 = 0; + r0416 = 0; + r0505 = 0.125; + r0511 = 0; + r0602 = 0; + r0606 = 0.125; + r0614 = 0; + r0703 = 0; + r0707 = 0.125; + r0709 = 0; + r0715 = 0; + r0804 = 0; + r0808 = 0.125; + r0810 = 0; + r0816 = 0; + r0909 = 0; + r0915 = 0; + r1010 = 0; + r1016 = 0; + r1111 = 0; + r1313 = 0; + r1414 = 0; + r1515 = 0; + r1616 = 0; + ]]> + + + + + + + + + + + + + + + + + 100 + + + + + + density_matrix + E_field_avgd + + + + + + + + + Lt + + + E_field + density_matrix + + + + + + + + + + + + E_field_avgd + I1_out I2_out I3_out I4_out + + + + + + + + + + + + + + -- cgit v1.2.3