diff options
-rw-r--r-- | fortran/navy_four_levels/FourLevelPulseProp_Double.f95 | 28 |
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 |