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.f9510
1 files changed, 5 insertions, 5 deletions
diff --git a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
index 5ccbd80..2873180 100644
--- a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
+++ b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
@@ -30,7 +30,7 @@ program FourLevelPulseProp_v3_Double
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 (tpts=400,zpts=100) ! evrything fails with tpts = 100
+ parameter (zpts=100) ! Number of slices in z direction
parameter (Nframemax=2000000)
parameter (NWrite=1) !number of frames to actually write
integer i,j,k,m,n
@@ -148,7 +148,6 @@ program FourLevelPulseProp_v3_Double
! Length of cell in m
Lcell=100
Lcell=beta*Lcell/c !Now dimensionless
- Lcell=6
t_start=secnds(0.E0)
write (*,*)'t_start = ',t_start
!
@@ -160,10 +159,11 @@ program FourLevelPulseProp_v3_Double
tmax=130.0
write(*,*) 'tmax = ', tmax
write(*,*) 'Lcell = ', Lcell
- dt=tmax/(tpts-1)
dz=Lcell/(zpts-1) !(no c because we're dimensionless)
- !write (*,*)'tp = ',tp
- Nframe=tpts !Change the number 4 to anything you want to see longer pulse evolution
+ ! 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
if (Nframe.ge.Nframemax) write (*,*)'Error!!!!Nframe>Nframemax'
!
! Initialize matrices