diff options
Diffstat (limited to 'fortran')
-rw-r--r-- | fortran/navy_four_levels/FourLevelPulseProp_Double.f95 | 76 |
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 |