diff --git a/fortran/trimspNL.F b/fortran/trimspNL.F index 7388214..6c7426b 100644 --- a/fortran/trimspNL.F +++ b/fortran/trimspNL.F @@ -2459,74 +2459,10 @@ C & CK,NJ,ZT,MT,CO,SBE,ED,BE,CH1,CH2,CH3,CH4,CH5,TI, & ZARG,VELC,EMX,MAXNL,MAXEL,seconds_start_total) - WRITE(21,1430) HLM,HLMT,SU,SUT,XC,RT,SFE,INEL,L,LJ - 1430 FORMAT(//17X,'HLM',7X,'HLMT',8X,'SU',7X,'SUT',8X,'XC',8X,'RT',7X - & ,'SFE',6X,'INEL',9X,'L',8X,'LJ'/ - & 10X,1F11.4,1F10.3,1F10.4,1F10.3,1F10.4,1F10.3,1F10.2,3I10) - WRITE(21,1432) NPROJ,KIB,KIT,MAXA,NALL,NPA,NSA,KIS,KIST - 1432 FORMAT(//16X,'NPROJ',7X,'KIB',7X,'KIT',6X,'MAXA',6X,'NALL',7X - & ,'NPA',7X,'NSA',7X,'KIS',6X,'KIST'/11X,9I10) - WRITE(21,470) - 470 FORMAT(//12X,'EPS0(I)',7X,'Z2(I)',7X,'M2(I)',5X,'ARHO(I)' ,7X - & ,'LM(I)',5X,'PDMAX(I)',5X,'ASIG(I)',7X,'SB(I)',7X,'XX(I)' ,8X - & ,'NJ(I)') - DO I=1,L - WRITE(21,473) I,EPS0(I),Z2(I),M2(I),ARHO(I),LM(I),PDMAX(I) - & ,ASIG(I),SB(I),XX(I),NJ(I) - 473 FORMAT(/1X,I3,6H.LAYER,1X,9E12.4,I10) - ENDDO - WRITE(21,474) - 474 FORMAT(//13X, - & 'A1(1)',3X,'A1(2)',3X,'A1(3)',3X,'A1(4)',3X,'A1(5)',3X, - & 'A1(6)',3X,'A1(7)',3X,'A1(8)',3X,'A1(9)',2X,'A1(10)',2X, - & 'A1(11)',2X,'A1(12)',2X,'A1(13)',2X,'A1(14)',2X,'A1(15)',2X, - & 'A1(16)',2X,'A1(17)',2X,'A1(18)',2X,'A1(19)',2X,'A1(20)',2X, - & 'A1(21)',2X,'A1(22)',2X,'A1(23)',2X,'A1(24)',2X,'A1(25)',2X, - & 'A1(26)',2X,'A1(27)',2X,'A1(28)',2X,'A1(29)',2X,'A1(30)',2X, - & 'A1(31)',2X,'A1(32)',2X,'A1(33)',2X,'A1(34)',2X,'A1(35)') - DO 475 I=1,LJ - WRITE(21,471) A1(I) - 471 FORMAT(/1X,9X,35F8.5) - 475 CONTINUE - WRITE(21,484) - 484 FORMAT(//11X, - & 'KOR1(1)',1X,'KOR1(2)',1X,'KOR1(3)',1X,'KOR1(4)',1X,'KOR1(5)', - & 1X,'KOR1(6)',1X,'KOR1(7)',1X,'KOR1(8)',1X,'KOR1(9)',1X,'KOR1(A)', - & 1X,'KOR1(B)',1X,'KOR1(C)',1X,'KOR1(D)',1X,'KOR1(E)',1X,'KOR1(F)', - & 1X,'KOR1(G)',1X,'KOR1(H)',1X,'KOR1(I)',1X,'KOR1(J)',1X,'KOR1(K)', - & 1X,'KOR1(L)',1X,'KOR1(M)',1X,'KOR1(N)',1X,'KOR1(O)',1X,'KOR1(P)', - & 1X,'KOR1(Q)',1X,'KOR1(R)',1X,'KOR1(S)',1X,'KOR1(T)',1X,'KOR1(U)', - & 1X,'KOR1(V)',1X,'KOR1(W)',1X,'KOR1(X)',1X,'KOR1(Y)',1X,'KOR1(Z)') - DO 486 I=1,LJ - WRITE(21,489) KOR1(I) - 489 FORMAT(/1X,9X,35F8.5) - 486 CONTINUE - WRITE(21,476) - 476 FORMAT(//12X, - & 'A(I,1)',2X,'A(I,2)',2X,'A(I,3)',2X,'A(I,4)',2X,'A(I,5)',2X, - & 'A(I,6)',2X,'A(I,7)',2X,'A(I,8)',2X,'A(I,9)',1X,'A(I,10)',1X, - & 'A(I,11)',1X,'A(I,12)',1X,'A(I,13)',1X,'A(I,14)',1X,'A(I,15)',1X, - & 'A(I,16)',1X,'A(I,17)',1X,'A(I,18)',1X,'A(I,19)',1X,'A(I,20)',1X, - & 'A(I,21)',1X,'A(I,22)',1X,'A(I,23)',1X,'A(I,24)',1X,'A(I,25)',1X, - & 'A(I,26)',1X,'A(I,27)',1X,'A(I,28)',1X,'A(I,29)',1X,'A(I,30)',1X, - & 'A(I,31)',1X,'A(I,32)',1X,'A(I,33)',1X,'A(I,34)',1X,'A(I,35)') - DO I=1,LJ - WRITE(21,477) (A(I,J),J=1,LJ) - 477 FORMAT(/1X,9X,35F8.5) - ENDDO - WRITE(21,490) - 490 FORMAT(//11X, - & 'KOR(,1)',1X,'KOR(,2)',1X,'KOR(,3)',1X,'KOR(,4)',1X,'KOR(,5)',1X, - & 'KOR(,6)',1X,'KOR(,7)',1X,'KOR(,8)',1X,'KOR(,9)',1X,'KOR(,A)',1X, - & 'KOR(,B)',1X,'KOR(,C)',1X,'KOR(,D)',1X,'KOR(,E)',1X,'KOR(,F)',1X, - & 'KOR(,G)',1X,'KOR(,H)',1X,'KOR(,I)',1X,'KOR(,J)',1X,'KOR(,K)',1X, - & 'KOR(,L)',1X,'KOR(,M)',1X,'KOR(,N)',1X,'KOR(,O)',1X,'KOR(,P)',1X, - & 'KOR(,Q)',1X,'KOR(,R)',1X,'KOR(,S)',1X,'KOR(,T)',1X,'KOR(,U)',1X, - & 'KOR(,V)',1X,'KOR(,W)',1X,'KOR(,X)',1X,'KOR(,Y)',1X,'KOR(,Z)') - DO I=1,LJ - WRITE(21,492) (KOR(I,J),J=1,LJ) - 492 FORMAT(/1X,9X,35F8.5) - ENDDO + call writeTargetSetupSummary(HLM,HLMT,SU,SUT,XC,RT,SFE,INEL, + & L,LJ,NPROJ,KIB,KIT,MAXA,NALL,NPA,NSA,KIS,KIST,EPS0,Z2, + & M2,ARHO,LM,PDMAX,ASIG,SB,XX,NJ,A1,KOR1,A,KOR,MAXNL, + & MAXNL5) C C INTEGRAL IMPLANTATION , SPUTTERING , BACKSCATTERING , TRANSMISSION C @@ -4089,6 +4025,116 @@ C How many seconds are needed for the simulation ?? RETURN END + +C======================================================================= +C WRITE TARGET SETUP AND PRECOMPUTED TABLES +C======================================================================= + subroutine writeTargetSetupSummary(hlm,hlmt,su,sut,xc,rt,sfe, + & inelasticMode,nLayers,nSpecies,nProj,kib,kit,maxActive,nAll, + & nPrimary,nSecondary,kis,kist,layerEps0,layerZ,layerMass, + & layerArealDensity,layerLm,layerPdMax,layerASig,layerBinding, + & layerBoundary,nElements,a1,kor1,a,kor,maxNl,maxSpecies) + implicit none + integer maxNl,maxSpecies + integer*4 inelasticMode,nLayers,nSpecies,nProj,kib,kit + integer*4 maxActive,nAll,nPrimary,nSecondary,kis,kist + integer*4 nElements(maxNl) + integer i,j + real*8 hlm,hlmt,su,sut,xc,rt,sfe + real*8 layerEps0(maxNl),layerZ(maxNl),layerMass(maxNl) + real*8 layerArealDensity(maxNl),layerLm(maxNl) + real*8 layerPdMax(maxNl),layerASig(maxNl) + real*8 layerBinding(maxNl),layerBoundary(maxNl) + real*8 a1(maxSpecies),kor1(maxSpecies) + real*8 a(maxSpecies,maxSpecies),kor(maxSpecies,maxSpecies) +C +C This block reports the layer setup and precomputed pair tables used +C by the transport calculation. It is output-only and must not change +C the simulation state. +C + write(21,1430) hlm,hlmt,su,sut,xc,rt,sfe,inelasticMode, + & nLayers,nSpecies + 1430 format(//17X,'HLM',7X,'HLMT',8X,'SU',7X,'SUT',8X,'XC',8X, + & 'RT',7X,'SFE',6X,'INEL',9X,'L',8X,'LJ'/10X,1F11.4, + & 1F10.3,1F10.4,1F10.3,1F10.4,1F10.3,1F10.2,3I10) + write(21,1432) nProj,kib,kit,maxActive,nAll,nPrimary, + & nSecondary,kis,kist + 1432 format(//16X,'NPROJ',7X,'KIB',7X,'KIT',6X,'MAXA',6X, + & 'NALL',7X,'NPA',7X,'NSA',7X,'KIS',6X,'KIST'/11X,9I10) + write(21,470) + 470 format(//12X,'EPS0(I)',7X,'Z2(I)',7X,'M2(I)',5X, + & 'ARHO(I)' ,7X,'LM(I)',5X,'PDMAX(I)',5X,'ASIG(I)',7X, + & 'SB(I)',7X,'XX(I)' ,8X,'NJ(I)') + do i=1,nLayers + write(21,473) i,layerEps0(i),layerZ(i),layerMass(i), + & layerArealDensity(i),layerLm(i),layerPdMax(i), + & layerASig(i),layerBinding(i),layerBoundary(i), + & nElements(i) + 473 format(/1X,I3,6H.LAYER,1X,9E12.4,I10) + enddo + write(21,474) + 474 format(//13X, + & 'A1(1)',3X,'A1(2)',3X,'A1(3)',3X,'A1(4)',3X, + & 'A1(5)',3X,'A1(6)',3X,'A1(7)',3X,'A1(8)',3X, + & 'A1(9)',2X,'A1(10)',2X,'A1(11)',2X,'A1(12)',2X, + & 'A1(13)',2X,'A1(14)',2X,'A1(15)',2X,'A1(16)',2X, + & 'A1(17)',2X,'A1(18)',2X,'A1(19)',2X,'A1(20)',2X, + & 'A1(21)',2X,'A1(22)',2X,'A1(23)',2X,'A1(24)',2X, + & 'A1(25)',2X,'A1(26)',2X,'A1(27)',2X,'A1(28)',2X, + & 'A1(29)',2X,'A1(30)',2X,'A1(31)',2X,'A1(32)',2X, + & 'A1(33)',2X,'A1(34)',2X,'A1(35)') + do 475 i=1,nSpecies + write(21,471) a1(i) + 471 format(/1X,9X,35F8.5) + 475 continue + write(21,484) + 484 format(//11X, + & 'KOR1(1)',1X,'KOR1(2)',1X,'KOR1(3)',1X,'KOR1(4)',1X, + & 'KOR1(5)',1X,'KOR1(6)',1X,'KOR1(7)',1X,'KOR1(8)',1X, + & 'KOR1(9)',1X,'KOR1(A)',1X,'KOR1(B)',1X,'KOR1(C)',1X, + & 'KOR1(D)',1X,'KOR1(E)',1X,'KOR1(F)',1X,'KOR1(G)',1X, + & 'KOR1(H)',1X,'KOR1(I)',1X,'KOR1(J)',1X,'KOR1(K)',1X, + & 'KOR1(L)',1X,'KOR1(M)',1X,'KOR1(N)',1X,'KOR1(O)',1X, + & 'KOR1(P)',1X,'KOR1(Q)',1X,'KOR1(R)',1X,'KOR1(S)',1X, + & 'KOR1(T)',1X,'KOR1(U)',1X,'KOR1(V)',1X,'KOR1(W)',1X, + & 'KOR1(X)',1X,'KOR1(Y)',1X,'KOR1(Z)') + do 486 i=1,nSpecies + write(21,489) kor1(i) + 489 format(/1X,9X,35F8.5) + 486 continue + write(21,476) + 476 format(//12X, + & 'A(I,1)',2X,'A(I,2)',2X,'A(I,3)',2X,'A(I,4)',2X, + & 'A(I,5)',2X,'A(I,6)',2X,'A(I,7)',2X,'A(I,8)',2X, + & 'A(I,9)',1X,'A(I,10)',1X,'A(I,11)',1X,'A(I,12)',1X, + & 'A(I,13)',1X,'A(I,14)',1X,'A(I,15)',1X,'A(I,16)',1X, + & 'A(I,17)',1X,'A(I,18)',1X,'A(I,19)',1X,'A(I,20)',1X, + & 'A(I,21)',1X,'A(I,22)',1X,'A(I,23)',1X,'A(I,24)',1X, + & 'A(I,25)',1X,'A(I,26)',1X,'A(I,27)',1X,'A(I,28)',1X, + & 'A(I,29)',1X,'A(I,30)',1X,'A(I,31)',1X,'A(I,32)',1X, + & 'A(I,33)',1X,'A(I,34)',1X,'A(I,35)') + do i=1,nSpecies + write(21,477) (a(i,j),j=1,nSpecies) + 477 format(/1X,9X,35F8.5) + enddo + write(21,490) + 490 format(//11X, + & 'KOR(,1)',1X,'KOR(,2)',1X,'KOR(,3)',1X,'KOR(,4)',1X, + & 'KOR(,5)',1X,'KOR(,6)',1X,'KOR(,7)',1X,'KOR(,8)',1X, + & 'KOR(,9)',1X,'KOR(,A)',1X,'KOR(,B)',1X,'KOR(,C)',1X, + & 'KOR(,D)',1X,'KOR(,E)',1X,'KOR(,F)',1X,'KOR(,G)',1X, + & 'KOR(,H)',1X,'KOR(,I)',1X,'KOR(,J)',1X,'KOR(,K)',1X, + & 'KOR(,L)',1X,'KOR(,M)',1X,'KOR(,N)',1X,'KOR(,O)',1X, + & 'KOR(,P)',1X,'KOR(,Q)',1X,'KOR(,R)',1X,'KOR(,S)',1X, + & 'KOR(,T)',1X,'KOR(,U)',1X,'KOR(,V)',1X,'KOR(,W)',1X, + & 'KOR(,X)',1X,'KOR(,Y)',1X,'KOR(,Z)') + do i=1,nSpecies + write(21,492) (kor(i,j),j=1,nSpecies) + 492 format(/1X,9X,35F8.5) + enddo + return + end + C======================================================================= C WRITE GUI SEQUENCE SUMMARY FILE C=======================================================================