C C SIMULATION OF 1D QUANTUM MECHANICS C FIXED BOUNDARY CONDITION C C (C) TOSHIAKI IITAKA 1994 C REFERENCEF"Introduction to Quatum Dynamics" by Toshiaki Iitaka. C (Maruzen Publish. Co., 1994,Tokyo; Parity Physics Course, Close Up) C C PROGRAM ONED IMPLICIT DOUBLE PRECISION (A-H,O-Z) PARAMETER(PI=3.141592) PARAMETER(NMAX=100,MTIME=1500) COMPLEX P,Q,R,IU DIMENSION P(NMAX),Q(NMAX),R(NMAX),HA(NMAX),HB(NMAX-1) C C I/O FILE C OPEN(20,FILE='p304.dat') C C INITIAL DATA C IU=(0.0,1.0) DX=1 A=0.5/DX/DX ALPHA=0.03 C WRITE(*,*)'V0' C READ(*,*) V0 V0=1 NL=50 NR=60 C C CALCULATION OF HAMILTONIAN C DO 50 N=1,NMAX IF(NL.LE.N .AND. N.LE.NR) THEN HA(N) = V0 ELSE HA(N) = 0.0 ENDIF 50 CONTINUE DO 51 N=1,NMAX-1 HB(N) = -A 51 CONTINUE C C SETTING TIME STEP C VMAX=0 VMIN=0 DO 10 N=1,NMAX IF(HA(N).GT.VMAX) VMAX=HA(N) IF(HA(N).LT.VMIN) VMIN=HA(N) 10 CONTINUE EMAX= A +VMAX EMIN=-A +VMIN EC=MAX(ABS(EMAX),ABS(EMIN)) DT=ALPHA/EC C C SETTING INITIAL WAVE FUNCTION C C WRITE(*,*)'INPUT THE CENTER OF WAVE PACKET C & AND ITS WIDTH AND MOMENTUM' C READ(*,*) X0,SG,PA X0=0.4*DX*NMAX SG=0.05*DX*NMAX PA=0.1*2*PI/DX C DO 60 N=1,NMAX X=N*DX P(N)= EXP(-0.5*(X-X0)**2/SG**2) * EXP(IU*PA*(X-X0)) 60 CONTINUE C C NORMALIZATION OF WAVE FUNCTION C PA = 0. DO 100 N=1,NMAX PA = PA + CABS(P(N))**2 100 CONTINUE PA = SQRT(PA) DO 110 N=1,NMAX P(N)=P(N)/PA 110 CONTINUE C C SECOND WAVE FUNCTION C R(1)= -IU*DT*(HA(1)*P(1)+HB(1)*P(2)) DO 61 N=2,NMAX-1 R(N)= -IU*DT*( HB(N-1)*P(N-1) + HA(N)*P(N) + HB(N)*P(N+1) ) 61 CONTINUE R(NMAX)=-IU*DT*( HB(NMAX-1)*P(NMAX-1) + HA(NMAX)*P(NMAX) ) C DO 62 N=1,NMAX Q(N)=P(N)+R(N) 62 CONTINUE Q(1)= Q(1)-0.5*IU*DT*(HA(1)*R(1)+HB(1)*R(2)) DO 63 N=2,NMAX-1 Q(N)= Q(N)-0.5*IU*DT*(HB(N-1)*R(N-1)+HA(N)*R(N)+HB(N)*R(N+1)) 63 CONTINUE Q(NMAX)=Q(NMAX)-0.5*IU*DT*(HB(NMAX-1)*R(NMAX-1)+HA(NMAX)*R(NMAX)) C C TIME EVOLUTION LOOP 1000 C DO 1000 ITIME=1,MTIME,3 T= DT*ITIME C C OUTPUT WAVE FUNCTION C IF(MOD(ITIME,10).EQ. 0) THEN DO 150 N=1,NMAX c WRITE(*,*) N,CABS(Q(N))**2 WRITE(20,*) CABS(Q(N))**2 150 CONTINUE ENDIF C C TIME EVOLUTION C R(1) = -2*IU*DT*(HA(1)*Q(1)+HB(1)*Q(2))+P(1) DO 70 N=2,NMAX-1 R(N)=-2*IU*DT*(HB(N-1)*Q(N-1)+HA(N)*Q(N)+HB(N)*Q(N+1))+P(N) 70 CONTINUE R(NMAX)=-2*IU*DT*(HB(NMAX-1)*Q(NMAX-1)+HA(NMAX)*Q(NMAX))+P(NMAX) C P(1) = -2*IU*DT*(HA(1)*R(1)+HB(1)*R(2))+Q(1) DO 71 N=2,NMAX-1 P(N)=-2*IU*DT*(HB(N-1)*R(N-1)+HA(N)*R(N)+HB(N)*R(N+1))+Q(N) 71 CONTINUE P(NMAX)=-2*IU*DT*(HB(NMAX-1)*R(NMAX-1)+HA(NMAX)*R(NMAX))+Q(NMAX) C Q(1) = -2*IU*DT*(HA(1)*P(1)+HB(1)*P(2))+R(1) DO 72 N=2,NMAX-1 Q(N)=-2*IU*DT*(HB(N-1)*P(N-1)+HA(N)*P(N)+HB(N)*P(N+1))+R(N) 72 CONTINUE Q(NMAX)=-2*IU*DT*(HB(NMAX-1)*P(NMAX-1)+HA(NMAX)*P(NMAX))+R(NMAX) 1000 CONTINUE STOP END