summaryrefslogtreecommitdiff
path: root/fortran/navy_four_levels
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/navy_four_levels')
-rw-r--r--fortran/navy_four_levels/FourLevelPulseProp_Double.f95141
1 files changed, 71 insertions, 70 deletions
diff --git a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
index f3b695d..ab340d3 100644
--- a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
+++ b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
@@ -353,80 +353,80 @@
do m=zpts,2,-1
z(m)=float(m)*dz
- Om1(m)=a1*Om1(m-1)+a2*rho31_last(m)+a3*rho31_last(m-1)
+ Om1(m)=a1*Om1(m-1)+a2*rho31_last(m)+a3*rho31_last(m-1)
- Om2(m)=b1*Om2(m-1)+b2*rho32_last(m)+b3*rho32_last(m-1)
-
- Omc(m)=c1*Omc(m-1)+c2*rho42_last(m)+c3*rho42_last(m-1)
+ Om2(m)=b1*Om2(m-1)+b2*rho32_last(m)+b3*rho32_last(m-1)
+
+ Omc(m)=c1*Omc(m-1)+c2*rho42_last(m)+c3*rho42_last(m-1)
- rho11(m)=j1*rho11_last(m)+j2*rho22_last(m)+j3*rho33_last(m)+j4*conjg(Om1(m))*rho31_last(m)
- rho11(m)=rho11(m)+j5*Om1(m)*rho13_last(m)+j6*conjg(Om1(m-1))*rho31_last(m)+j7*Om1(m-1)*rho13_last(m)
- rho11(m)=rho11(m)+j8*rho44_last(m)
-
- rho12(m)=d1*rho12_last(m)+d2*conjg(Om1(m))*rho32_last(m)+d3*Om2(m)*rho13_last(m)
- rho12(m)=rho12(m)+d4*Omc(m)*rho14_last(m)+d5*conjg(Om1(m-1))*rho32_last(m)
- rho12(m)=rho12(m)+d6*Om2(m-1)*rho13_last(m)+d7*Omc(m-1)*rho14_last(m)
+ rho11(m)=j1*rho11_last(m)+j2*rho22_last(m)+j3*rho33_last(m)+j4*conjg(Om1(m))*rho31_last(m)
+ rho11(m)=rho11(m)+j5*Om1(m)*rho13_last(m)+j6*conjg(Om1(m-1))*rho31_last(m)+j7*Om1(m-1)*rho13_last(m)
+ rho11(m)=rho11(m)+j8*rho44_last(m)
+
+ rho12(m)=d1*rho12_last(m)+d2*conjg(Om1(m))*rho32_last(m)+d3*Om2(m)*rho13_last(m)
+ rho12(m)=rho12(m)+d4*Omc(m)*rho14_last(m)+d5*conjg(Om1(m-1))*rho32_last(m)
+ rho12(m)=rho12(m)+d6*Om2(m-1)*rho13_last(m)+d7*Omc(m-1)*rho14_last(m)
- rho13(m)=e1*rho13_last(m)+e2*conjg(Om1(m))*(rho33_last(m)-rho11_last(m))
- rho13(m)=rho13(m)+e3*conjg(Om2(m))*rho12_last(m)+e4*conjg(Om1(m-1))*(rho33_last(m)-rho11_last(m))
- rho13(m)=rho13(m)+e5*conjg(Om2(m-1))*rho12_last(m)
-
- rho14(m)=f1*rho14_last(m)+f2*conjg(Om1(m))*rho34_last(m)+f3*conjg(Omc(m))*rho12_last(m)
- rho14(m)=rho14(m)+f4*conjg(Om1(m-1))*rho34_last(m)+f5*conjg(Omc(m-1))*rho12_last(m)
-
- rho21(m)=conjg(rho12(m))
-
-! rho22(m) needs to be calculated lower down
+ rho13(m)=e1*rho13_last(m)+e2*conjg(Om1(m))*(rho33_last(m)-rho11_last(m))
+ rho13(m)=rho13(m)+e3*conjg(Om2(m))*rho12_last(m)+e4*conjg(Om1(m-1))*(rho33_last(m)-rho11_last(m))
+ rho13(m)=rho13(m)+e5*conjg(Om2(m-1))*rho12_last(m)
+
+ rho14(m)=f1*rho14_last(m)+f2*conjg(Om1(m))*rho34_last(m)+f3*conjg(Omc(m))*rho12_last(m)
+ rho14(m)=rho14(m)+f4*conjg(Om1(m-1))*rho34_last(m)+f5*conjg(Omc(m-1))*rho12_last(m)
+
+ rho21(m)=conjg(rho12(m))
+
+ ! rho22(m) needs to be calculated lower down
- rho23(m)=g1*rho23_last(m)+g2*conjg(Om1(m))*rho21_last(m)+g3*conjg(Om2(m))*(rho33_last(m)-rho22_last(m))
- rho23(m)=rho23(m)+g4*conjg(Omc(m))*rho43_last(m)+g5*conjg(Om1(m-1))*rho21_last(m)
- rho23(m)=rho23(m)+g6*conjg(Om2(m-1))*(rho33_last(m)-rho22_last(m))+g7*conjg(Omc(m-1))*rho43_last(m)
-
- rho24(m)=h1*rho24_last(m)+h2*conjg(Om2(m))*rho34_last(m)+h3*conjg(Omc(m))*(rho44_last(m)-rho22_last(m))
- rho24(m)=rho24(m)+h4*conjg(Om2(m-1))*rho34_last(m)+h5*conjg(Omc(m-1))*(rho44_last(m)-rho22_last(m))
-
- rho31(m)=conjg(rho13(m))
-
- rho32(m)=conjg(rho23(m))
-
- rho33(m)=k1*rho33_last(m)+k2*rho44_last(m)+k3*conjg(Om1(m))*rho31_last(m)+k4*conjg(Om2(m))*rho32_last(m)
- rho33(m)=rho33(m)+k5*Om1(m)*rho13_last(m)+k6*Om2(m)*rho23_last(m)+k7*conjg(Om1(m-1))*rho31_last(m)
- rho33(m)=rho33(m)+k8*conjg(Om2(m-1))*rho32_last(m)+k9*Om1(m-1)*rho13_last(m)+k10*Om2(m-1)*rho23_last(m)
-
- rho34(m)=i1*rho34_last(m)+i2*conjg(Omc(m))*rho32_last(m)+i3*Om1(m)*rho14_last(m)+i4*Om2(m)*rho24_last(m)
- rho34(m)=rho34(m)+i5*conjg(Omc(m-1))*rho32_last(m)+i6*Om1(m-1)*rho14_last(m)+i7*Om2(m-1)*rho24_last(m)
-
- rho41(m)=conjg(rho14(m))
+ rho23(m)=g1*rho23_last(m)+g2*conjg(Om1(m))*rho21_last(m)+g3*conjg(Om2(m))*(rho33_last(m)-rho22_last(m))
+ rho23(m)=rho23(m)+g4*conjg(Omc(m))*rho43_last(m)+g5*conjg(Om1(m-1))*rho21_last(m)
+ rho23(m)=rho23(m)+g6*conjg(Om2(m-1))*(rho33_last(m)-rho22_last(m))+g7*conjg(Omc(m-1))*rho43_last(m)
+
+ rho24(m)=h1*rho24_last(m)+h2*conjg(Om2(m))*rho34_last(m)+h3*conjg(Omc(m))*(rho44_last(m)-rho22_last(m))
+ rho24(m)=rho24(m)+h4*conjg(Om2(m-1))*rho34_last(m)+h5*conjg(Omc(m-1))*(rho44_last(m)-rho22_last(m))
+
+ rho31(m)=conjg(rho13(m))
+
+ rho32(m)=conjg(rho23(m))
+
+ rho33(m)=k1*rho33_last(m)+k2*rho44_last(m)+k3*conjg(Om1(m))*rho31_last(m)+k4*conjg(Om2(m))*rho32_last(m)
+ rho33(m)=rho33(m)+k5*Om1(m)*rho13_last(m)+k6*Om2(m)*rho23_last(m)+k7*conjg(Om1(m-1))*rho31_last(m)
+ rho33(m)=rho33(m)+k8*conjg(Om2(m-1))*rho32_last(m)+k9*Om1(m-1)*rho13_last(m)+k10*Om2(m-1)*rho23_last(m)
+
+ rho34(m)=i1*rho34_last(m)+i2*conjg(Omc(m))*rho32_last(m)+i3*Om1(m)*rho14_last(m)+i4*Om2(m)*rho24_last(m)
+ rho34(m)=rho34(m)+i5*conjg(Omc(m-1))*rho32_last(m)+i6*Om1(m-1)*rho14_last(m)+i7*Om2(m-1)*rho24_last(m)
+
+ rho41(m)=conjg(rho14(m))
- rho42(m)=conjg(rho24(m))
+ rho42(m)=conjg(rho24(m))
- rho43(m)=conjg(rho34(m))
-
- rho44(m)=l1*rho44_last(m)+l2*conjg(Omc(m))*rho42_last(m)+l3*Omc(m)*rho24_last(m)
- rho44(m)=rho44(m)+l4*conjg(Omc(m-1))*rho42_last(m)+l5*Omc(m-1)*rho24(m)
-
- rho22(m)=1-rho11(m)-rho33(m)-rho44(m)
-
-
- rho11_last(m)=rho11(m)
- rho12_last(m)=rho12(m)
- rho13_last(m)=rho13(m)
- rho14_last(m)=rho14(m)
- rho21_last(m)=rho21(m)
- rho22_last(m)=rho22(m)
- rho23_last(m)=rho23(m)
- rho24_last(m)=rho24(m)
- rho31_last(m)=rho31(m)
- rho32_last(m)=rho32(m)
- rho33_last(m)=rho33(m)
- rho34_last(m)=rho34(m)
- rho41_last(m)=rho41(m)
- rho42_last(m)=rho42(m)
- rho43_last(m)=rho43(m)
- rho44_last(m)=rho44(m)
-
-
- Om_vac(m)=a1*Om_vac(m-1)
+ rho43(m)=conjg(rho34(m))
+
+ rho44(m)=l1*rho44_last(m)+l2*conjg(Omc(m))*rho42_last(m)+l3*Omc(m)*rho24_last(m)
+ rho44(m)=rho44(m)+l4*conjg(Omc(m-1))*rho42_last(m)+l5*Omc(m-1)*rho24(m)
+
+ rho22(m)=1-rho11(m)-rho33(m)-rho44(m)
+
+
+ rho11_last(m)=rho11(m)
+ rho12_last(m)=rho12(m)
+ rho13_last(m)=rho13(m)
+ rho14_last(m)=rho14(m)
+ rho21_last(m)=rho21(m)
+ rho22_last(m)=rho22(m)
+ rho23_last(m)=rho23(m)
+ rho24_last(m)=rho24(m)
+ rho31_last(m)=rho31(m)
+ rho32_last(m)=rho32(m)
+ rho33_last(m)=rho33(m)
+ rho34_last(m)=rho34(m)
+ rho41_last(m)=rho41(m)
+ rho42_last(m)=rho42(m)
+ rho43_last(m)=rho43(m)
+ rho44_last(m)=rho44(m)
+
+
+ Om_vac(m)=a1*Om_vac(m-1)
if (mod(n,Nskip).eq.0) write (9,120) t,z(m),cdabs(Om1(m)),cdabs(Om2(m)),cdabs(Omc(m))
@@ -438,8 +438,9 @@
Omold_vac=Om_vac(zpts)
end do
- close(9)
- close(10)
+
+ close(9)
+ close(10)
139 format(1x,f12.6,',',F12.6,',',F12.6)
120 format(f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6)
t_end=secnds(0.E0)