diff --git a/fortran/trimspNL.F b/fortran/trimspNL.F index db1ca19..4c50383 100644 --- a/fortran/trimspNL.F +++ b/fortran/trimspNL.F @@ -2677,120 +2677,9 @@ C C C FORWARD SPUTTERING : MATRICES , ENERGY - ANGLE CORRELATIONS C - IF(ISPAT.LT.10000) GO TO 2000 - JTJ=JT(3) - IF(L.EQ.3) JTJ=LJ-NJ(1) - DO J=1,JTJ - EASTL(2,J)=DBLE(MEASTL(2,21,J))/(DBLE(NH)*0.1D0) - DO IESLOG=3,74 - EASTL(IESLOG,J)=DBLE(MEASTL(IESLOG,21,J))/(TEMPNH*10.D0 - & **((IESLOG-1)/12.D0)) - ENDDO - ENDDO - IF(L.EQ.3) GO TO 1953 - DO 1952 J=1,NJ(1) - WRITE(21,1954) J - 1954 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', - & '(FORWARD SPUTTERED PARTICLES) ', - & ', 1. LAYER , SPECIES',I2/) - do ima = 74,2,-1 - if(meastl(ima,21,j).ne.0) goto 1955 - enddo - ima = 1 - 1955 ima = min(ima+2,74) - do ies = 1, ima - write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21), - & eastl(ies,j) - enddo - write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21),eastl(75,j) - WRITE(21,1984) J - 1984 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) ', - & '(FORWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) - do ima = MAXD1,1,-1 - if(meast(ima,22,j).ne.0) goto 1983 - enddo - ima = 1 - 1983 ima = min(ima+2,MAXD1) - write (6, 1886) ((meast(iesp,iags,j),iags=1,22),iesp=1,ima) - write (6, 1886) (meast(102,iags,j),iags=1,22) - WRITE(21,1988) J - 1988 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) ', - & ' (FORWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) - WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) - 1952 CONTINUE - 1953 CONTINUE - IF(L.EQ.1) GO TO 2000 - IF(L.EQ.3) GO TO 1961 - JTK=NJ(1)+1 - JTL=JT(3) - GO TO 1963 - 1961 JTK=1 - JTL=NJ(2) - 1963 DO 1962 J=JTK,JTL - WRITE(21,1964) J-JTK+1 - 1964 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', - & '(FORWARD SPUTTERED PARTICLES) ,', - & ' 2. LAYER , SPECIES',I2/) - do ima = 74,1,-1 - if(meastl(ima,21,j).ne.0) goto 1965 - enddo - ima = 1 - 1965 ima = min(ima+2,74) - do ies = 1, ima - write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21), - & eastl(ies,j) - enddo - write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21) , - & eastl(75,j) - WRITE(21,1994) J-JTK+1 - 1994 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) (FORWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES',I2/) - do ima = MAXD1,1,-1 - if(meast(ima,22,j).ne.0) goto 1995 - enddo - ima = 1 - 1995 ima = min(ima+2,MAXD1) - WRITE(21,1886)((meast(iesp,iags,j),iags=1,22),iesp=1,ima) - WRITE(21,1886)(meast(102,iags,j),iags=1,22) - WRITE(21,1998) J-JTK+1 - 1998 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) (FORWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES',I2/) - WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) - 1962 CONTINUE - IF(L.LT.3) GO TO 2000 - DO 1972 J=NJ(2)+1,LJ-NJ(1) - WRITE(21,1974) J-NJ(2) - 1974 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', - & '(FORWARD SPUTTERED PARTICLES) , 3. LAYER , SPECIES',I2/) - do ima = 74,1,-1 - if(meastl(ima,21,j).ne.0) goto 1973 - enddo - ima = 1 - 1973 ima = min(ima+2,74) - do ies = 1, ima - write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21) , - & eastl(ies,j) - end do - write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21) , - & eastl(75,j) - WRITE(21,1975) J-NJ(2) - 1975 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) (FORWARD SPUTTERED PARTICLES) , 3.LAYER , SPECIES',I2/) - do ima = MAXD1,1,-1 - if(meast(ima,22,j).ne.0) goto 1977 - enddo - ima = 1 - 1977 ima = min(ima+2,MAXD1) - WRITE(21,1886)((meast(iesp,iags,j),iags=1,22),iesp=1,ima) - WRITE(21,1886)(meast(102,iags,j),iags=1,22) - WRITE(21,1978) J-NJ(2) - 1978 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', - & '(0.05) (FORWARD SPUTTERED PARTICLES) , 3.LAYER , SPECIES',I2/) - WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) - 1972 CONTINUE - 2000 CONTINUE + call writeForwardSputterMatrixSummary(ISPAT,NH,JT,NJ,LJ, + & EASTL,MEASTL,TEMPNH,ELOG,MEAST,MAXD1,MAGST,L,MAXNL, + & MAXD2,MAXNLm15) C C BACKSCATTERING : MATRICES , ENERGY - ANGULAR CORRELATIONS C @@ -2952,6 +2841,141 @@ C======================================================================= C OUTPUT WRITER SUBROUTINES C======================================================================= +C +C Write forward sputtering matrix and energy-angle correlation tables. +C + subroutine writeForwardSputterMatrixSummary(ISPAT,NH,JT,NJ,LJ, + & EASTL,MEASTL,TEMPNH,ELOG,MEAST,MAXD1,MAGST,L,MAXNL, + & MAXD2,MAXNLm15) + implicit none + integer*4 ISPAT,NH,LJ,MAXD1,L,MAXNL,MAXD2,MAXNLm15 + integer*4 J,JTJ,JTK,JTL,IESLOG,IMA,IES,IAS,IESP,IAGS,IG + integer*4 JT(MAXNL),NJ(MAXNL) + integer*4 MEASTL(75,21,MAXNLm15) + integer*4 MEAST(MAXD2,22,MAXNLm15) + integer*4 MAGST(62,22,MAXNLm15) + real*8 EASTL(75,MAXNLm15),TEMPNH,ELOG(75) + + IF(ISPAT.LT.10000) GO TO 2000 + JTJ=JT(3) + IF(L.EQ.3) JTJ=LJ-NJ(1) + DO J=1,JTJ + EASTL(2,J)=DBLE(MEASTL(2,21,J))/(DBLE(NH)*0.1D0) + DO IESLOG=3,74 + EASTL(IESLOG,J)=DBLE(MEASTL(IESLOG,21,J))/(TEMPNH*10.D0 + & **((IESLOG-1)/12.D0)) + ENDDO + ENDDO + IF(L.EQ.3) GO TO 1953 + DO 1952 J=1,NJ(1) + WRITE(21,1954) J + 1954 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', + & '(FORWARD SPUTTERED PARTICLES) ', + & ', 1. LAYER , SPECIES',I2/) + do ima = 74,2,-1 + if(meastl(ima,21,j).ne.0) goto 1955 + enddo + ima = 1 + 1955 ima = min(ima+2,74) + do ies = 1, ima + write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21), + & eastl(ies,j) + enddo + write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21),eastl(75,j) + 1858 FORMAT(1X,1E12.4,20I5,I6,1E12.4) + WRITE(21,1984) J + 1984 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) ', + & '(FORWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) + do ima = MAXD1,1,-1 + if(meast(ima,22,j).ne.0) goto 1983 + enddo + ima = 1 + 1983 ima = min(ima+2,MAXD1) + write (6, 1886) ((meast(iesp,iags,j),iags=1,22),iesp=1,ima) + write (6, 1886) (meast(102,iags,j),iags=1,22) + 1886 FORMAT(1X,I3,20I6,I8) + WRITE(21,1988) J + 1988 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) ', + & ' (FORWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) + WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1952 CONTINUE + 1953 CONTINUE + IF(L.EQ.1) GO TO 2000 + IF(L.EQ.3) GO TO 1961 + JTK=NJ(1)+1 + JTL=JT(3) + GO TO 1963 + 1961 JTK=1 + JTL=NJ(2) + 1963 DO 1962 J=JTK,JTL + WRITE(21,1964) J-JTK+1 + 1964 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', + & '(FORWARD SPUTTERED PARTICLES) ,', + & ' 2. LAYER , SPECIES',I2/) + do ima = 74,1,-1 + if(meastl(ima,21,j).ne.0) goto 1965 + enddo + ima = 1 + 1965 ima = min(ima+2,74) + do ies = 1, ima + write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21), + & eastl(ies,j) + enddo + write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21) , + & eastl(75,j) + WRITE(21,1994) J-JTK+1 + 1994 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) (FORWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES',I2/) + do ima = MAXD1,1,-1 + if(meast(ima,22,j).ne.0) goto 1995 + enddo + ima = 1 + 1995 ima = min(ima+2,MAXD1) + WRITE(21,1886)((meast(iesp,iags,j),iags=1,22),iesp=1,ima) + WRITE(21,1886)(meast(102,iags,j),iags=1,22) + WRITE(21,1998) J-JTK+1 + 1998 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) (FORWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES',I2/) + WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1962 CONTINUE + IF(L.LT.3) GO TO 2000 + DO 1972 J=NJ(2)+1,LJ-NJ(1) + WRITE(21,1974) J-NJ(2) + 1974 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', + & '(FORWARD SPUTTERED PARTICLES) , 3. LAYER , SPECIES',I2/) + do ima = 74,1,-1 + if(meastl(ima,21,j).ne.0) goto 1973 + enddo + ima = 1 + 1973 ima = min(ima+2,74) + do ies = 1, ima + write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21) , + & eastl(ies,j) + end do + write (6, 1858) elog(75), (meastl(75,ias,j),ias=1,21) , + & eastl(75,j) + WRITE(21,1975) J-NJ(2) + 1975 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) (FORWARD SPUTTERED PARTICLES) , 3.LAYER , SPECIES',I2/) + do ima = MAXD1,1,-1 + if(meast(ima,22,j).ne.0) goto 1977 + enddo + ima = 1 + 1977 ima = min(ima+2,MAXD1) + WRITE(21,1886)((meast(iesp,iags,j),iags=1,22),iesp=1,ima) + WRITE(21,1886)(meast(102,iags,j),iags=1,22) + WRITE(21,1978) J-NJ(2) + 1978 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + & '(0.05) (FORWARD SPUTTERED PARTICLES) , 3.LAYER , SPECIES',I2/) + WRITE(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1972 CONTINUE + 2000 CONTINUE + + return + end + C C Write backward sputtering matrix and energy-angle correlation tables. C