summaryrefslogtreecommitdiff
path: root/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/navy_four_levels/FourLevelPulseProp_Double.f95')
-rw-r--r--fortran/navy_four_levels/FourLevelPulseProp_Double.f9576
1 files changed, 8 insertions, 68 deletions
diff --git a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95 b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
index 5eb6af8..746b1e0 100644
--- a/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
+++ b/fortran/navy_four_levels/FourLevelPulseProp_Double.f95
@@ -112,7 +112,6 @@
!
write (*,*)'New version from moved folder'
! write (*,*)'Enter density in m^-1'
-! read (*,*)eta
eta=6.9e11
alpha1=3*eta*lambda*lambda/(2*pi)
alpha1tilde=alpha1*c/beta
@@ -121,30 +120,14 @@
alphac=3*eta*lambda*lambda/(2*pi)
alphactilde=alphac*c/beta
-!
-! Initialize matrices and set up Identity Matrix
-!
- do 20 i=1,nmat
- do 10 j=1,nmat
- L(i,j)=cmplx(0.,0.)
- Linv(i,j)=cmplx(0.,0.)
-10 continue !j loop
- Imat(i)=cmplx(0.,0.)
- Linv(i,i)=cmplx(1.,0.) !contains identity matrix
-20 continue
-
-!
! User defined numbers
!
! write (*,*)'Enter peak scaled Rabi frequency for the pump at entrance of cell'
-! read (*,*)Om1peak
Om1peak=0.01
! write (*,*)'Enter peak scaled Rabi frequency for the probe at entrance of cell'
-! read (*,*)Om2peak
Om2peak=1
! write (*,*)'Enter maximum detuning in MHz for dispersion lineshape plot'
-! read (*,*) delmax
delmax=0
Ga4=(W41+W42+W43)
Ga2=W21
@@ -154,49 +137,25 @@
write (*,*)'Om_crit = ',Om_crit
! write (*,*)'Enter peak scaled Rabi frequency for the coupling field at entrance of cell'
-! read (*,*)Omcpeak
Omcpeak=0.1
-!
-! First plot the dispersion lineshape
-!
-! do 40 n=1,npts
-! del(n)=-delmax+2*float(n)*delmax/npts
-! call LMatConstruct(Ompeak,del(n),L) !construct the L matrix
-! call LMatConstruct(Ompeak,del(n),Ltemp) !Need a temporary because L gets destroyed
-! call ImatConstruct(Ompeak,Imat) !Need to call in loop because it gets destroyed
-! !See also note in subroutine
-! call ludcmp(L,nmat,nmat,indx,d)
-! call lubksb(L,nmat,nmat,indx,Imat) !Imat now contains psi
-! do 35 i=1,nmat
-! yplot(i,n)=Imat(i)
-!35 continue
-! if (.false.) call MatCheck(Ltemp,Linv)
-!40 continue
-! call plotit(del,yplot,nmat,npts)
-!
! Now that the user has an idea of the dispersion, do the full propagation problem
! write (*,*)'Enter detuning of center frequency of the coupling pulse in MHz'
-! read (*,*)delc_prop !del_prop is the detuning used for the propagation
delc_prop=0
delc_prop=2*pi*1e6*delc_prop/beta !Now dimensionless
! write (*,*)'Enter detuning of center frequency of the pump pulse in MHz'
-! read (*,*)del2_prop !del_prop is the detuning used for the propagation
del2_prop=0.
del2_prop=2*pi*1e6*del2_prop/beta !Now dimensionless
! write (*,*)'Enter detuning of center frequency of the probe pulse in MHz'
-! read (*,*)del1_prop !del_prop is the detuning used for the propagation
del1_prop=0.
del1_prop=2*pi*1e6*del1_prop/beta !Now dimensionless
! write (*,*) 'Enter pulse width in nsec'
-! read (*,*)tp
tp=1e-6
tp=beta*tp !Now dimensionless
! write (*,*)'Enter length of cell in m'
-! read (*,*)Lcell
Lcell=100
Lcell=beta*Lcell/c !Now dimensionless
t_start=secnds(0.E0)
@@ -350,43 +309,27 @@
fname='MovieParameters4level.txt'
! write (*,*)'Enter file name to save parameters'
-! read (*,3)fname
3 format(a150)
open(9,file=fname)
write (9,133)Nframe,zpts,beta,NSkip,dt
-! write (*,*)'Nframe,zpts,beta,NSkip,dt'
-! write (*,133)Nframe,zpts,beta,NSkip,dt
-
133 format(1x,i10,',',i5,',',f12.2,',',i5,',',f12.2)
close (9)
fname='Movie4level.dat'
! write (*,*)'Enter file name to save movie'
-! read (*,3)fname
-
open(9,file=fname)
+
fname='Movie4level_EndPoints.dat'
! write (*,*)'Enter file name to save endpoints'
-! read (*,3)fname
-
- open(10,file=fname)
+ open(10,file=fname)
- do 60 n=1,Nframe
+ do 60 n=1,Nframe
! write (*,*)'n = ',n
- t=float(n-1)*dt
- Om1(1)=Om1peak*exp(-(t-tshift)**2/(tp*tp))
- Om2(1)=Om2peak
- Omc(1)=Omcpeak
- Om_vac(1)=Om1(1)
- if (int(n/10).eq.0) write(fname,130)'Movie',n
- if (int(n/10).ge.1.and.int(n/100).eq.0) write (fname,131)'Movie',n
- if (int(n/10).ge.1.and.int(n/100).gt.0) write (fname,132)'Movie',n
-130 format(a5,i1)
-131 format(a5,i2)
-132 format(a5,i3)
-! write (*,125)fname
-125 format(1x,a12)
-! open(9,file=fname)
+ t=float(n-1)*dt
+ Om1(1)=Om1peak*exp(-(t-tshift)**2/(tp*tp))
+ Om2(1)=Om2peak
+ Omc(1)=Omcpeak
+ Om_vac(1)=Om1(1)
do 345 m=1,zpts
rho11_last(m)=rho11(m)
@@ -498,9 +441,6 @@
close(9)
close(10)
139 format(1x,f12.6,',',F12.6,',',F12.6)
-! write (*,*)'Medium pulse out at ',tpeak/(beta*1e-6),' microseconds'
-! write (*,*)'Vacuum pulse out at ',tpeak_vac/(beta*1e-6),' microseconds'
- write (*,*)Omcpeak,(tpeak-tpeak_vac)/(beta*1e-9)
120 format(f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6,',',f12.6)
t_end=secnds(0.E0)
t_elapsed=t_end-t_start