summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds56
1 files changed, 35 insertions, 21 deletions
diff --git a/xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds b/xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds
index fc4da89..eb6e985 100644
--- a/xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds
+++ b/xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds
@@ -48,9 +48,11 @@
<features>
<benchmark />
<arguments>
+ <!--Rabi frequency divided by 2-->
<argument name="E1o" type="real" default_value="0.0025" />
<argument name="E2o" type="real" default_value="2.5" />
<argument name="E3o" type="real" default_value="3.0" />
+ <!--Fields detuning in MHz-->
<argument name="delta1" type="real" default_value="0.0" />
<argument name="delta2" type="real" default_value="0.0" />
<argument name="delta3" type="real" default_value="0.0" />
@@ -61,11 +63,11 @@
<auto_vectorise />
<globals>
<![CDATA[
- const complex UpperDecayRate=10e6; // measured in s^-1
+ const double UpperDecayRate=10e6; // measured in s^-1
const double c=3e8;
const double lambda=794.7e-9; //wavelength in m
const double N=1e9; //number of particles per cubic cm
- const complex eta = 3*lambda*lambda*(N/1e-6)*UpperDecayRate/8.0/3.14*(c/UpperDecayRate/UpperDecayRate); //dimensionless coupling constant
+ const double eta = 3*lambda*lambda*(N/1e-6)*UpperDecayRate/8.0/3.14*(c/UpperDecayRate/UpperDecayRate); //dimensionless coupling constant
// repopulation rate (atoms flying in/out the laser beam) in MHz
const double gt=0.01/2;
@@ -95,24 +97,24 @@
<geometry>
<propagation_dimension> z </propagation_dimension>
<transverse_dimensions>
- <dimension name="t" lattice="128" domain="(-60, 60)" />
+ <dimension name="t" lattice="1000" domain="(-3.0, 3.0)" />
</transverse_dimensions>
</geometry>
- <vector name="E_field" type="complex" dimensions="t">
+ <vector name="E_field" type="complex" initial_space="t">
<components>E1 E2 E3</components>
<initialisation>
<![CDATA[
// Initial (at starting 'z' position) electromagnetic field does not depend on detuning
// as well as time
- E1=E1o;
+ E1=E1o*exp(-pow( ((t-0.0)/1),2) );
E2=E2o;
E3=E3o;
]]>
</initialisation>
</vector>
- <vector name="density_matrix" type="complex" dimensions="t">
+ <vector name="density_matrix" type="complex" initial_space="t">
<!--<components>r11 r22 r33 r44 r12 r13 r14 r23 r24 r34 r21 r31 r41 r32 r42 r43</components>-->
<!--<components>r11 r22 r33 r44 r12 r13 r14 r23 r24 r34</components>-->
<components>r11 r22 r33 r12 r13 r14 r23 r24 r34</components>
@@ -141,8 +143,8 @@
</vector>
<sequence>
- <integrate algorithm="SIC" interval="4" steps="200">
- <samples>200</samples>
+ <integrate algorithm="SIC" interval="2e-2" steps="500">
+ <samples>100 100</samples>
<operators>
<operator kind="cross_propagation" algorithm="SI" propagation_dimension="t">
<integration_vectors>density_matrix</integration_vectors>
@@ -187,17 +189,18 @@
//dr44_dt = E3*i*(r24 - r42) - (G4 + gt)*r44;
]]>
</operator>
- <operator kind="ex" constant="yes">
- <operator_names>Lt</operator_names>
- <![CDATA[
- Lt = i*kt;
- ]]>
- </operator>
+ <operator kind="ex" constant="yes">
+ <operator_names>Lt</operator_names>
+ <![CDATA[
+ Lt = i*kt;
+ ]]>
+ </operator>
<integration_vectors>E_field</integration_vectors>
+ <dependencies>density_matrix</dependencies>
<![CDATA[
- dE1_dz = i*eta*r13 - Lt[E1];
- dE2_dz = i*eta*r23 - Lt[E2];
- dE3_dz = i*eta*r24 - Lt[E3];
+ dE1_dz = i*eta*conj(r13) -Lt[E1] ;
+ dE2_dz = i*eta*conj(r23) -Lt[E1] ;
+ dE3_dz = i*eta*conj(r24) -Lt[E1] ;
]]>
</operators>
</integrate>
@@ -209,13 +212,24 @@
<!-- The output to generate -->
<output format="binary" filename="Nlevels_no_dopler_with_z.xsil">
<group>
- <sampling basis="t" initial_sample="yes">
+ <sampling basis="t(1000)" initial_sample="yes">
<dependencies>E_field</dependencies>
<moments>>I1_out I2_out I3_out</moments>
<![CDATA[
- I1_out = pow(abs(E1/E1o),2);
- I2_out = pow(abs(E2/E2o),2);
- I3_out = pow(abs(E3/E3o),2);
+ I1_out = pow(abs(E1),2);
+ I2_out = pow(abs(E2),2);
+ I3_out = pow(abs(E3),2);
+ ]]>
+ </sampling>
+ </group>
+
+ <group>
+ <sampling basis="t(1000)" initial_sample="yes">
+ <dependencies>density_matrix</dependencies>
+ <moments>>r13_re_out r13_im_out</moments>
+ <![CDATA[
+ r13_re_out = r13.Re();
+ r13_im_out = r13.Im();
]]>
</sampling>
</group>