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