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.f9528
1 files changed, 15 insertions, 13 deletions
diff --git a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
index f797d13..ccd564f 100644
--- a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
+++ b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
@@ -26,13 +26,15 @@ program FourLevelPulseProp_v3_Double
! Version 3: Make a step function in the coupling field.
character*150 fname
- integer nmat,npts,Nframe,Nframemax,NSkip,NWrite,zpts
+ integer nmat,npts,Nframe, tpts, tpts_max,NSkip,NWrite,zpts, zptsmax
+ integer iSkipped;
parameter (nmat=3,npts=100) !matrix size, number of detuning points in dispersion curve
!tpts is the number of temporal points in the cell
!zpts is the number of z output slices - 1
parameter (zpts=100) ! Number of slices in z direction
- parameter (Nframemax=2000000)
- parameter (NWrite=1) !number of frames to actually write
+ parameter (zptsmax=200) ! max Number of slices in z direction
+ parameter (tpts_max=200) ! max Number of slices in t direction
+ parameter (NWrite=200) !number of frames to actually write
integer m,n
complex*16 a1,a2,a3,a4,a5,a6
complex*16 b1,b2,b3,b4,b5,b6,b7
@@ -48,23 +50,23 @@ program FourLevelPulseProp_v3_Double
complex*16 l1,l2,l3,l4,l5
complex*16 Omold, Omold_vac
- real*8 alpha1,alpha2,alpha1tilde,alpha2tilde,alphac,alphactilde,beta,c,delmax,del1_prop,del2_prop,delc_prop
- real*8 dt,dz,eta
+ real*8 alpha1,alpha2,alpha1tilde,alpha2tilde,alphac,alphactilde,Gamma_super,c,delmax,del1_prop,del2_prop,delc_prop
+ real*8 dt,dz,Ndensity
real*8 W12,W21,W31,W32,W41,W42,W43,W34,ga12,ga13,ga14,ga23,ga24,ga34
real*8 Ga2,Ga4,Om_crit
real*8 Lcell,Om1peak,Om2peak,Omcpeak,pi,tmax,tmin,tp,tshift,t_end,t_start,t_elapsed
real*8 tpeak,tpeak_vac
real*8 epsil,hbar,lambda
- real*8 t,z(zpts)
+ real*8 t,z(zptsmax)
- complex*16 Om1(zpts),Om2(zpts),Omc(zpts),Om_vac(zpts)
- complex*16 rho11(zpts),rho12(zpts),rho13(zpts),rho14(zpts),rho21(zpts),rho22(zpts),rho23(zpts),rho24(zpts)
- complex*16 rho31(zpts),rho32(zpts),rho33(zpts),rho34(zpts),rho41(zpts),rho42(zpts),rho43(zpts),rho44(zpts)
- complex*16 rho11_last(zpts),rho12_last(zpts),rho13_last(zpts),rho14_last(zpts)
- complex*16 rho21_last(zpts),rho22_last(zpts),rho23_last(zpts),rho24_last(zpts)
- complex*16 rho31_last(zpts),rho32_last(zpts),rho33_last(zpts),rho34_last(zpts)
- complex*16 rho41_last(zpts),rho42_last(zpts),rho43_last(zpts),rho44_last(zpts)
+ complex*16 Om1(zptsmax),Om2(zptsmax),Omc(zptsmax),Om_vac(zptsmax)
+ complex*16 rho11(zptsmax),rho12(zptsmax),rho13(zptsmax),rho14(zptsmax),rho21(zptsmax),rho22(zptsmax),rho23(zptsmax),rho24(zptsmax)
+ complex*16 rho31(zptsmax),rho32(zptsmax),rho33(zptsmax),rho34(zptsmax),rho41(zptsmax),rho42(zptsmax),rho43(zptsmax),rho44(zptsmax)
+ complex*16 rho11_last(zptsmax),rho12_last(zptsmax),rho13_last(zptsmax),rho14_last(zptsmax)
+ complex*16 rho21_last(zptsmax),rho22_last(zptsmax),rho23_last(zptsmax),rho24_last(zptsmax)
+ complex*16 rho31_last(zptsmax),rho32_last(zptsmax),rho33_last(zptsmax),rho34_last(zptsmax)
+ complex*16 rho41_last(zptsmax),rho42_last(zptsmax),rho43_last(zptsmax),rho44_last(zptsmax)
!No Om_last because we never need the previous spatial point