Extract the forward/transmission sputtering matrix / energy-angle correlation block.

This commit is contained in:
2026-06-18 13:04:23 +02:00
parent d76d40ea4c
commit 8eb8d07a46
+138 -114
View File
@@ -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