Extract the next .out block into a new output subroutine.

This commit is contained in:
2026-06-18 10:38:45 +02:00
parent 4bc2697695
commit cc1c2ca56c
+114 -68
View File
@@ -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=======================================================================