TEMP=-SIGMA*PR PI=EXP(SIGMA*PI) CN=COS(TEMP)*PI SN=SIN(TEMP)*PI PMAP(I)=CMPLX(CN,SN) END DO OPEN (UNIT=IPG,FILE=PGNAME,STATUS='NEW',FORM='UNFORMATTED') DO J=1,MESHY WRITE (IPG) (PMAP(J1+K),K=1,MESHX) END DO CLOSE (UNIT=IPG) RETURN END SUBROUTINE PROPG(TILT,WAVEL,DELTAZ,X0,Y0,PRNAME) C C THIS PROGRAM CALCULATES THE FRESNEL PROPAGATOR IN THE RECIPROCAL C BY FORMULA EXP(2*PI*i*Sg*Z), Sg IS THE EXCITATION ERROR OF C RECIPROCAL LATTICE POINT G AND Z IS THE SLICE THICKNESS. C INCLUDE 'MULTIS.FTN' REAL TILT(2) CHARACTER*12 PRNAME TWOPI=6.2831853 TWOKR=0.5*WAVEL MY=MESHY/2 A2=CELL2R(1)*CELL2R(1)
TEMP=-SIGMA*PR PI=EXP(SIGMA*PI) CN=COS(TEMP)*PI SN=SIN(TEMP)*PI PMAP(I)=CMPLX(CN,SN) END DO OPEN (UNIT=IPG,FILE=PGNAME,STATUS='NEW',FORM='UNFORMATTED') DO J=1,MESHY WRITE (IPG) (PMAP(J1+K),K=1,MESHX) END DO CLOSE (UNIT=IPG) RETURN END SUBROUTINE PROPG(TILT,WAVEL,DELTAZ,X0,Y0,PRNAME) C C THIS PROGRAM CALCULATES THE FRESNEL PROPAGATOR IN THE RECIPROCAL C BY FORMULA EXP(2*PI*i*Sg*Z), Sg IS THE EXCITATION ERROR OF C RECIPROCAL LATTICE POINT G AND Z IS THE SLICE THICKNESS. C INCLUDE 'MULTIS.FTN' REAL TILT(2) CHARACTER*12 PRNAME TWOPI=6.2831853 TWOKR=0.5*WAVEL MY=MESHY/2 A2=CELL2R(1)*CELL2R(1)
Multislice.docx