summaryrefslogtreecommitdiff
path: root/xmds2/Nlevels_no_dopler_with_z_4wm
diff options
context:
space:
mode:
Diffstat (limited to 'xmds2/Nlevels_no_dopler_with_z_4wm')
-rw-r--r--xmds2/Nlevels_no_dopler_with_z_4wm/Nlevels_no_dopler_with_z_4wm.xmds70
1 files changed, 66 insertions, 4 deletions
diff --git a/xmds2/Nlevels_no_dopler_with_z_4wm/Nlevels_no_dopler_with_z_4wm.xmds b/xmds2/Nlevels_no_dopler_with_z_4wm/Nlevels_no_dopler_with_z_4wm.xmds
index 3e3b28a..f0a10e2 100644
--- a/xmds2/Nlevels_no_dopler_with_z_4wm/Nlevels_no_dopler_with_z_4wm.xmds
+++ b/xmds2/Nlevels_no_dopler_with_z_4wm/Nlevels_no_dopler_with_z_4wm.xmds
@@ -117,6 +117,8 @@
so r11 is missing
-->
<initialisation>
+ <!--This sets boundary condition at all times and left border of z (i.e. z=0)-->
+ <!-- Comment out no light field initial conditions
<![CDATA[
// Note:
// convergence is really slow if all populations concentrated at the bottom level |1>
@@ -127,11 +129,67 @@
// 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; r44 = 0;
- // r12 = 0; r13 = 0; r14 = 0;
- // r23 = 0; r24 = 0;
- // r34 = 0;
+ r11 = 1;
+ r22 = 0; r33 = 0; r44 = 0;
+ r12 = 0; r13 = 0; r14 = 0;
+ r23 = 0; r24 = 0;
+ r34 = 0;
]]>
+ -->
+ <!-- Below initialization assumes strong E1 and E3 which were shining for long time before
+ we even start to look at the problem -->
+ <!-- Precalculated by Nate via Mathematica steady state solver -->
+ <dependencies>E_field</dependencies>
+ <![CDATA[
+ E1c = conj(E1);
+ E2c = conj(E2);
+ E3c = conj(E3);
+ E4c = conj(E4);
+
+ // IMPORTANT: assumes no detunings
+ r11 = (gt*(4*mod2(E1) + (G3 + gt)*(G3 + 2*gt))*((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt)) + 4*mod2(E3)*G4*(R41 -
+ R42)))/(2.*(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42)));
+
+ r13 = -((E1c*gt*(G3 + gt)*i*((G4 + 2*gt)*(4*mod2(E3) + gt*(G4 + gt))
+ + 4*mod2(E3)*G4*(R41 -
+ R42)))/(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42)));
+
+ r22 = (gt*(4*mod2(E3) + (G4 + gt)*(G4 + 2*gt))*((G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt)) + 4*mod2(E1)*G3*(-R31 +
+ R32)))/(2.*(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42)));
+
+ r24 = -((E3c*gt*(G4 + gt)*i*((G3 + 2*gt)*(4*mod2(E1) + gt*(G3 + gt))
+ + 4*mod2(E1)*G3*(-R31 +
+ R32)))/(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42)));
+
+ r33 = (2*mod2(E1)*gt*((G4 + 2*gt)*(4*mod2(E3) + gt*(G4 + gt)) +
+ 4*mod2(E3)*G4*(R41 -
+ R42)))/(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42));
+
+ r44 = (2*mod2(E3)*gt*((G3 + 2*gt)*(4*mod2(E1) + gt*(G3 + gt)) +
+ 4*mod2(E1)*G3*(-R31 +
+ R32)))/(-16*mod2(E1)*mod2(E3)*G3*G4*R32*R41 + (G3 +
+ 2*gt)*(4*mod2(E1) + gt*(G3 + gt))*((G4 + 2*gt)*(4*mod2(E3) +
+ gt*(G4 + gt)) - 4*mod2(E3)*G4*R42) + 4*mod2(E1)*G3*R31*(-((G4 +
+ 2*gt)*(4*mod2(E3) + gt*(G4 + gt))) + 4*mod2(E3)*G4*R42));
+
+ ]]>
</initialisation>
</vector>
@@ -148,12 +206,16 @@
<integration_vectors>density_matrix</integration_vectors>
<dependencies>E_field</dependencies>
<boundary_condition kind="left">
+ <!--This set boundary condition at all 'z' and left border of 't' (i.e. min(t))-->
+ <!--
<![CDATA[
r11 = 0; r22 = 1; r33 = 0; r44 = 0;
r12 = 0; r13 = 0; r14 = 0;
r23 = 0; r24 = 0;
r34 = 0;
+ printf("z= %g, t= %g\n", z, t);
]]>
+ -->
</boundary_condition>
<![CDATA[
E1c = conj(E1);