diff options
-rw-r--r-- | xmds2/Nlevels_no_dopler_with_z/Nlevels_no_dopler_with_z.xmds | 56 |
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> |