Extract the matrix table axis setup block
This commit is contained in:
+111
-72
@@ -2658,78 +2658,10 @@ C End of per-run summary file
|
||||
C
|
||||
C TOP AND FRONT LINES FOR MATRICES
|
||||
C
|
||||
JE=DE
|
||||
JA=DA
|
||||
JG=DG
|
||||
DO J=2,NG1
|
||||
MAGB(J,1) = (J-1)*JG
|
||||
MAGT(J,1) = (J-1)*JG
|
||||
EMA(J,1)=DBLE(J-1)*DG
|
||||
EMAT(J,1)=DBLE(J-1)*DG
|
||||
ENDDO
|
||||
DO J=2,21
|
||||
MEAB(1,J) = J-1
|
||||
MEAT(1,J) = J-1
|
||||
MAGB(1,J) = J-1
|
||||
MAGT(1,J) = J-1
|
||||
EMA(1,J) = J-1
|
||||
EMAT(1,J) = J-1
|
||||
ENDDO
|
||||
DO J=2,MAXD1
|
||||
MEAB(J,1) = J-1
|
||||
MEAT(J,1) = J-1
|
||||
MEPB(J,1) = J-1
|
||||
MEPB(1,J) = J-1
|
||||
MEPT(J,1) = J-1
|
||||
MEPT(1,J) = J-1
|
||||
ENDDO
|
||||
DO K=1,JT(3)
|
||||
DO J=2,NG1
|
||||
MAGS(J,1,K) = (J-1)*JG
|
||||
MAGST(J,1,K) = (J-1)*JG
|
||||
MAGSA(J,1,K) = (J-1)*JG
|
||||
ENDDO
|
||||
DO J=2,NA1
|
||||
MAGSA(1,J,K) = (J-1)*JA
|
||||
ENDDO
|
||||
DO J=2,21
|
||||
MEAS(1,J,K) = J-1
|
||||
MEAST(1,J,K) = J-1
|
||||
MAGS(1,J,K) = J-1
|
||||
MAGST(1,J,K) = J-1
|
||||
ENDDO
|
||||
DO J=2,MAXD1
|
||||
MEAS(J,1,K) = J-1
|
||||
MEAST(J,1,K) = J-1
|
||||
ENDDO
|
||||
DO J=1,20
|
||||
MEASL(1,J,K)=J
|
||||
MEASTL(1,J,K)=J
|
||||
ENDDO
|
||||
DO IG2=1,NGIK,1
|
||||
DO J=2,21
|
||||
MEAGS(1,IG2,J,K) = J-1
|
||||
ENDDO
|
||||
DO J=2,MAXD1
|
||||
MEAGS(J,IG2,1,K) = J-1
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO IG2=1,NGIK,1
|
||||
DO J=2,21
|
||||
MEAGB(1,IG2,J) = J-1
|
||||
MEAGT(1,IG2,J) = J-1
|
||||
ENDDO
|
||||
DO J=2,MAXD1
|
||||
MEAGB(J,IG2,1) = J-1
|
||||
MEAGT(J,IG2,1) = J-1
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO I=2,74
|
||||
ELOG(I)=10.D0**(I/12.D0)*10.D0**(-7.D0/6.D0)
|
||||
ENDDO
|
||||
TEMP=(10.D0**(1.D0/12.D0)-1.D0)*10.D0**(-7.D0/6.D0)
|
||||
TEMPNH=TEMP*DBLE(NH)
|
||||
call setupMatrixTableAxes(DE,DA,DG,NH,NG1,NA1,NGIK,MAXD1,
|
||||
& JT,MEAB,MAGB,EMA,MEAT,MAGT,EMAT,MEPB,MEPT,MAGS,
|
||||
& MAGST,MAGSA,MEAS,MEAST,MEASL,MEASTL,MEAGS,MEAGB,
|
||||
& MEAGT,ELOG,TEMPNH,MAXNL,MAXD2,MAXNLm15)
|
||||
C
|
||||
C BACKWARD SPUTTERING : MATRICES , ENERGY - ANGLE CORRELATIONS
|
||||
C
|
||||
@@ -4557,6 +4489,113 @@ C
|
||||
return
|
||||
end
|
||||
|
||||
C=======================================================================
|
||||
C SET UP MATRIX TABLE AXES
|
||||
C=======================================================================
|
||||
subroutine setupMatrixTableAxes(energyBinWidth,angleBinWidth,
|
||||
& polarBinWidth,nProjectiles,nPolarBinsMinusOne,
|
||||
& nAngleBinsMinusOne,nAzimuthBins,maxDepthBin,jt,meab,magb,
|
||||
& ema,meat,magt,emat,mepb,mept,mags,magst,magsa,meas,
|
||||
& meast,measl,meastl,meags,meagb,meagt,energyLog,
|
||||
& tempNh,maxNl,maxD2,maxSpeciesMinusFirstLayer)
|
||||
implicit none
|
||||
integer nProjectiles,nPolarBinsMinusOne,nAngleBinsMinusOne
|
||||
integer nAzimuthBins,maxDepthBin,maxNl,maxD2
|
||||
integer maxSpeciesMinusFirstLayer
|
||||
integer j,k,azimuthBin
|
||||
integer jt(maxNl)
|
||||
integer meab(maxD2,22),magb(62,22),meagb(maxD2,36,22)
|
||||
integer meat(maxD2,22),magt(62,22),meagt(maxD2,36,22)
|
||||
integer mepb(maxD2,maxD2),mept(maxD2,maxD2)
|
||||
integer meas(maxD2,22,maxSpeciesMinusFirstLayer)
|
||||
integer meast(maxD2,22,maxSpeciesMinusFirstLayer)
|
||||
integer mags(62,22,maxSpeciesMinusFirstLayer)
|
||||
integer magst(62,22,maxSpeciesMinusFirstLayer)
|
||||
integer magsa(62,32,maxSpeciesMinusFirstLayer)
|
||||
integer measl(75,21,maxSpeciesMinusFirstLayer)
|
||||
integer meastl(75,21,maxSpeciesMinusFirstLayer)
|
||||
integer meags(maxD2,12,22,maxSpeciesMinusFirstLayer)
|
||||
real*8 energyBinWidth,angleBinWidth,polarBinWidth
|
||||
real*8 ema(62,22),emat(62,22),energyLog(75),tempNh
|
||||
real*8 logBinWidth
|
||||
C
|
||||
C Fill the first row/column labels used by the matrix-style output
|
||||
C tables. The simulation accumulates matrix entries during transport;
|
||||
C this routine only sets the printable axes before those tables are
|
||||
C written.
|
||||
C
|
||||
do j=2,nPolarBinsMinusOne
|
||||
magb(j,1) = (j-1)*polarBinWidth
|
||||
magt(j,1) = (j-1)*polarBinWidth
|
||||
ema(j,1)=DBLE(j-1)*polarBinWidth
|
||||
emat(j,1)=DBLE(j-1)*polarBinWidth
|
||||
enddo
|
||||
do j=2,21
|
||||
meab(1,j) = j-1
|
||||
meat(1,j) = j-1
|
||||
magb(1,j) = j-1
|
||||
magt(1,j) = j-1
|
||||
ema(1,j) = j-1
|
||||
emat(1,j) = j-1
|
||||
enddo
|
||||
do j=2,maxDepthBin
|
||||
meab(j,1) = j-1
|
||||
meat(j,1) = j-1
|
||||
mepb(j,1) = j-1
|
||||
mepb(1,j) = j-1
|
||||
mept(j,1) = j-1
|
||||
mept(1,j) = j-1
|
||||
enddo
|
||||
do k=1,jt(3)
|
||||
do j=2,nPolarBinsMinusOne
|
||||
mags(j,1,k) = (j-1)*polarBinWidth
|
||||
magst(j,1,k) = (j-1)*polarBinWidth
|
||||
magsa(j,1,k) = (j-1)*polarBinWidth
|
||||
enddo
|
||||
do j=2,nAngleBinsMinusOne
|
||||
magsa(1,j,k) = (j-1)*angleBinWidth
|
||||
enddo
|
||||
do j=2,21
|
||||
meas(1,j,k) = j-1
|
||||
meast(1,j,k) = j-1
|
||||
mags(1,j,k) = j-1
|
||||
magst(1,j,k) = j-1
|
||||
enddo
|
||||
do j=2,maxDepthBin
|
||||
meas(j,1,k) = j-1
|
||||
meast(j,1,k) = j-1
|
||||
enddo
|
||||
do j=1,20
|
||||
measl(1,j,k)=j
|
||||
meastl(1,j,k)=j
|
||||
enddo
|
||||
do azimuthBin=1,nAzimuthBins,1
|
||||
do j=2,21
|
||||
meags(1,azimuthBin,j,k) = j-1
|
||||
enddo
|
||||
do j=2,maxDepthBin
|
||||
meags(j,azimuthBin,1,k) = j-1
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
do azimuthBin=1,nAzimuthBins,1
|
||||
do j=2,21
|
||||
meagb(1,azimuthBin,j) = j-1
|
||||
meagt(1,azimuthBin,j) = j-1
|
||||
enddo
|
||||
do j=2,maxDepthBin
|
||||
meagb(j,azimuthBin,1) = j-1
|
||||
meagt(j,azimuthBin,1) = j-1
|
||||
enddo
|
||||
enddo
|
||||
do j=2,74
|
||||
energyLog(j)=10.D0**(j/12.D0)*10.D0**(-7.D0/6.D0)
|
||||
enddo
|
||||
logBinWidth=(10.D0**(1.D0/12.D0)-1.D0)*10.D0**(-7.D0/6.D0)
|
||||
tempNh=logBinWidth*DBLE(nProjectiles)
|
||||
return
|
||||
end
|
||||
|
||||
C=======================================================================
|
||||
C WRITE GUI SEQUENCE SUMMARY FILE
|
||||
C=======================================================================
|
||||
|
||||
Reference in New Issue
Block a user