diff options
-rw-r--r-- | fortran/navy_four_levels/FourLevelPulseProp_Double.f95 | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 index 2873180..096f293 100644 --- a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 +++ b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 @@ -52,7 +52,7 @@ program FourLevelPulseProp_v3_Double real*8 dt,dz,eta 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,tp,tshift,t_end,t_start,t_elapsed + 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 del(npts) @@ -153,17 +153,18 @@ program FourLevelPulseProp_v3_Double ! ! Set up initial pulse. ! - tshift=2*tp + tshift=0 write (*,*) 'peak center at the cell begining i.e. tshift = ', tshift tmax=Lcell*20 !Length of time to pass cell (no c because we're dimensionless) - tmax=130.0 + tmax=60.0 + tmin = -tmax write(*,*) 'tmax = ', tmax write(*,*) 'Lcell = ', Lcell dz=Lcell/(zpts-1) !(no c because we're dimensionless) ! It is crucial that dz = dt in unitless coordinates, there is built in ! cancellation of some term on grid because of it. See Simon's note. dt = dz - Nframe=tmax/dz+1 + Nframe=(tmax-tmin)/dz+1 if (Nframe.ge.Nframemax) write (*,*)'Error!!!!Nframe>Nframemax' ! ! Initialize matrices @@ -310,7 +311,7 @@ program FourLevelPulseProp_v3_Double open(10,file=fname) do n=1,Nframe - t=float(n-1)*dt + t=tmin+float(n-1)*dt Om1(1)=Om1peak*exp(-(t-tshift)**2/(tp*tp)) Om2(1)=Om2peak Omc(1)=Omcpeak |