Extract the transmission sputtering angular-distribution block
This commit is contained in:
+135
-110
@@ -2635,116 +2635,9 @@ C
|
||||
C
|
||||
C TRANSMISSION SPUTTERING : ANGULAR DISTRIBUTIONS
|
||||
C
|
||||
WRITE(21,1760)
|
||||
1760 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF ALL TRANSMISSION '//
|
||||
& 'SPUTTERED PARTICLES'//)
|
||||
DO I=1,20
|
||||
RKADST(I)=KADST(I)*20.D0/ISPAT
|
||||
ENDDO
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KADST(I),I=1,20),(RKADST(I),I=1,20)
|
||||
IF(L.EQ.3) GO TO 1764
|
||||
DO I=1,20
|
||||
DO J=1,NJ(1)
|
||||
KDSTL(I,1)=KDSTL(I,1)+KDSTJ(I,J)
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO I=1,20
|
||||
DO J=NJ(1)+1,JT(3)
|
||||
KDSTL(I,2)=KDSTL(I,2)+KDSTJ(I,J)
|
||||
ENDDO
|
||||
ENDDO
|
||||
1766 CONTINUE
|
||||
DO J=1,2
|
||||
IF(ISPAL(J).EQ.0) GO TO 1754
|
||||
DO I=1,20
|
||||
RKDSTL(I,J)=KDSTL(I,J)*20.D0/ISPAL(J)
|
||||
ENDDO
|
||||
1754 CONTINUE
|
||||
ENDDO
|
||||
DO J=1,JT(3)
|
||||
IF(ITSP(J).EQ.0) GO TO 1756
|
||||
DO I=1,20
|
||||
RKDSTJ(I,J)=KDSTJ(I,J)*20.D0/ITSP(J)
|
||||
ENDDO
|
||||
1756 CONTINUE
|
||||
ENDDO
|
||||
WRITE(21,1776)
|
||||
1776 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 1'//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTL(I,1),I=1,20)
|
||||
& ,(RKDSTL(I,1),I=1,20)
|
||||
IF(NJ(1).EQ.1) GO TO 1778
|
||||
DO 1780 J=1,NJ(1)
|
||||
IF(ITSP(J).EQ.0) GO TO 1780
|
||||
WRITE(21,1782) J
|
||||
1782 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 1 , SPECIES ',I1//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTJ(I,J),I=1,20)
|
||||
& ,(RKDSTJ(I,J),I=1,20)
|
||||
1780 CONTINUE
|
||||
1778 IF(L.EQ.1) GO TO 1800
|
||||
WRITE(21,1786)
|
||||
1786 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2'//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTL(I,2),I=1,20)
|
||||
& ,(RKDSTL(I,2),I=1,20)
|
||||
IF(NJ(2).EQ.1) GO TO 1800
|
||||
DO J=NJ(1)+1,JT(3)
|
||||
WRITE(21,1790) J-NJ(1)
|
||||
1790 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2 , SPECIES ',I1//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTJ(I,J),I=1,20)
|
||||
& ,(RKDSTJ(I,J),I=1,20)
|
||||
ENDDO
|
||||
GO TO 1800
|
||||
1764 DO I=1,20
|
||||
DO J=1,NJ(2)
|
||||
KDSTL(I,1)=KDSTL(I,1)+KDSTJ(I,J)
|
||||
ENDDO
|
||||
DO J=NJ(2)+1,LJ-NJ(1)
|
||||
KDSTL(I,2)=KDSTL(I,2)+KDSTJ(I,J)
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO 1799 J=1,2
|
||||
IF(ISPALT(J+1).EQ.0) GO TO 1799
|
||||
DO I=1,20
|
||||
RKDSTL(I,J)=KDSTL(I,J)*20.D0/ISPALT(J+1)
|
||||
ENDDO
|
||||
1799 CONTINUE
|
||||
DO 1797 J=1,LJ-NJ(1)
|
||||
IF(ITSP(J+NJ(1)).EQ.0) GO TO 1797
|
||||
DO I=1,20
|
||||
RKDSTJ(I,J)=KDSTJ(I,J)*20.D0/ITSP(J+NJ(1))
|
||||
ENDDO
|
||||
1797 CONTINUE
|
||||
WRITE(21,1771)
|
||||
1771 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2'//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTL(I,1),I=1,20)
|
||||
& ,(RKDSTL(I,1),I=1,20)
|
||||
IF(NJ(2).EQ.1) GO TO 1773
|
||||
DO 1775 J=1,NJ(2)
|
||||
IF(ITSP(J+NJ(1)).EQ.0) GO TO 1775
|
||||
WRITE(21,1777) J
|
||||
1777 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2 ; SPECIES ',I1//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTJ(I,J),I=1,20)
|
||||
& ,(RKDSTJ(I,J),I=1,20)
|
||||
1775 CONTINUE
|
||||
1773 CONTINUE
|
||||
WRITE(21,1779)
|
||||
1779 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 3'//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTL(I,2),I=1,20)
|
||||
& ,(RKDSTL(I,2),I=1,20)
|
||||
IF(NJ(2).EQ.1) GO TO 1800
|
||||
DO J=NJ(2)+1,LJ-NJ(1)
|
||||
WRITE(21,1783) J-NJ(2)
|
||||
1783 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 3 ; SPECIES ',I1//)
|
||||
WRITE(21,1518) (AI(I),I=1,20),(KDSTJ(I,J),I=1,20)
|
||||
& ,(RKDSTJ(I,J),I=1,20)
|
||||
ENDDO
|
||||
call writeTransmissionSputterAngularSummary(ISPAT,L,NJ,JT,LJ,
|
||||
& ISPAL,ISPALT,ITSP,KADST,KDSTJ,KDSTL,RKADST,RKDSTJ,
|
||||
& RKDSTL,AI,MAXNL,MAXNL5,MAXNLm15)
|
||||
1800 CONTINUE
|
||||
|
||||
C
|
||||
@@ -3217,6 +3110,138 @@ C=======================================================================
|
||||
C OUTPUT WRITER SUBROUTINES
|
||||
C=======================================================================
|
||||
|
||||
C
|
||||
C Write angular distributions for transmission sputtered particles.
|
||||
C
|
||||
subroutine writeTransmissionSputterAngularSummary(ispat,nLayers,
|
||||
& nj,jt,nSpecies,ispal,ispalt,itsp,kadst,kdstj,kdstl,
|
||||
& rkadst,rkdstj,rkdstl,angleBins,maxNl,maxNl5,maxNlm15)
|
||||
implicit none
|
||||
integer maxNl,maxNl5,maxNlm15
|
||||
integer ispat,nLayers,nSpecies
|
||||
integer i,j
|
||||
integer*4 nj(maxNl),jt(maxNl)
|
||||
integer*4 ispal(maxNl),ispalt(maxNl),itsp(maxNl5)
|
||||
integer*4 kadst(20),kdstj(20,maxNlm15),kdstl(20,6)
|
||||
real*8 rkadst(20),rkdstj(20,maxNlm15),rkdstl(20,maxNl)
|
||||
real*8 angleBins(20)
|
||||
|
||||
write(21,1760)
|
||||
1760 format(///5X,'POLAR ANGULAR DISTRIBUTION OF ALL TRANSMISSION '//
|
||||
& 'SPUTTERED PARTICLES'//)
|
||||
do i=1,20
|
||||
rkadst(i)=kadst(i)*20.D0/ispat
|
||||
enddo
|
||||
write(21,1518) (angleBins(i),i=1,20),(kadst(i),i=1,20),
|
||||
& (rkadst(i),i=1,20)
|
||||
if(nLayers.EQ.3) go to 1764
|
||||
do i=1,20
|
||||
do j=1,nj(1)
|
||||
kdstl(i,1)=kdstl(i,1)+kdstj(i,j)
|
||||
enddo
|
||||
enddo
|
||||
do i=1,20
|
||||
do j=nj(1)+1,jt(3)
|
||||
kdstl(i,2)=kdstl(i,2)+kdstj(i,j)
|
||||
enddo
|
||||
enddo
|
||||
1766 continue
|
||||
do j=1,2
|
||||
if(ispal(j).EQ.0) go to 1754
|
||||
do i=1,20
|
||||
rkdstl(i,j)=kdstl(i,j)*20.D0/ispal(j)
|
||||
enddo
|
||||
1754 continue
|
||||
enddo
|
||||
do j=1,jt(3)
|
||||
if(itsp(j).EQ.0) go to 1756
|
||||
do i=1,20
|
||||
rkdstj(i,j)=kdstj(i,j)*20.D0/itsp(j)
|
||||
enddo
|
||||
1756 continue
|
||||
enddo
|
||||
write(21,1776)
|
||||
1776 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 1'//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstl(i,1),i=1,20)
|
||||
& ,(rkdstl(i,1),i=1,20)
|
||||
if(nj(1).EQ.1) go to 1778
|
||||
do 1780 j=1,nj(1)
|
||||
if(itsp(j).EQ.0) go to 1780
|
||||
write(21,1782) j
|
||||
1782 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 1 , SPECIES ',I1//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstj(i,j),i=1,20)
|
||||
& ,(rkdstj(i,j),i=1,20)
|
||||
1780 continue
|
||||
1778 if(nLayers.EQ.1) go to 1800
|
||||
write(21,1786)
|
||||
1786 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2'//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstl(i,2),i=1,20)
|
||||
& ,(rkdstl(i,2),i=1,20)
|
||||
if(nj(2).EQ.1) go to 1800
|
||||
do j=nj(1)+1,jt(3)
|
||||
write(21,1790) j-nj(1)
|
||||
1790 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2 , SPECIES ',I1//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstj(i,j),i=1,20)
|
||||
& ,(rkdstj(i,j),i=1,20)
|
||||
enddo
|
||||
go to 1800
|
||||
1764 do i=1,20
|
||||
do j=1,nj(2)
|
||||
kdstl(i,1)=kdstl(i,1)+kdstj(i,j)
|
||||
enddo
|
||||
do j=nj(2)+1,nSpecies-nj(1)
|
||||
kdstl(i,2)=kdstl(i,2)+kdstj(i,j)
|
||||
enddo
|
||||
enddo
|
||||
do 1799 j=1,2
|
||||
if(ispalt(j+1).EQ.0) go to 1799
|
||||
do i=1,20
|
||||
rkdstl(i,j)=kdstl(i,j)*20.D0/ispalt(j+1)
|
||||
enddo
|
||||
1799 continue
|
||||
do 1797 j=1,nSpecies-nj(1)
|
||||
if(itsp(j+nj(1)).EQ.0) go to 1797
|
||||
do i=1,20
|
||||
rkdstj(i,j)=kdstj(i,j)*20.D0/itsp(j+nj(1))
|
||||
enddo
|
||||
1797 continue
|
||||
write(21,1771)
|
||||
1771 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2'//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstl(i,1),i=1,20)
|
||||
& ,(rkdstl(i,1),i=1,20)
|
||||
if(nj(2).EQ.1) go to 1773
|
||||
do 1775 j=1,nj(2)
|
||||
if(itsp(j+nj(1)).EQ.0) go to 1775
|
||||
write(21,1777) j
|
||||
1777 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 2 ; SPECIES ',I1//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstj(i,j),i=1,20)
|
||||
& ,(rkdstj(i,j),i=1,20)
|
||||
1775 continue
|
||||
1773 continue
|
||||
write(21,1779)
|
||||
1779 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 3'//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstl(i,2),i=1,20)
|
||||
& ,(rkdstl(i,2),i=1,20)
|
||||
if(nj(2).EQ.1) go to 1800
|
||||
do j=nj(2)+1,nSpecies-nj(1)
|
||||
write(21,1783) j-nj(2)
|
||||
1783 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ',
|
||||
& 'PARTICLES ; LAYER 3 ; SPECIES ',I1//)
|
||||
write(21,1518) (angleBins(i),i=1,20),(kdstj(i,j),i=1,20)
|
||||
& ,(rkdstj(i,j),i=1,20)
|
||||
enddo
|
||||
1800 continue
|
||||
return
|
||||
1518 format(5X,20F6.2//,5X,20I6/5X,20F6.3)
|
||||
end
|
||||
|
||||
C
|
||||
C Write transmission sputtering yields and energy summaries.
|
||||
C
|
||||
|
||||
Reference in New Issue
Block a user