From d075ce5ceed54940e107511a15b29f5f3e9def32 Mon Sep 17 00:00:00 2001 From: salman Date: Thu, 18 Jun 2026 14:58:25 +0200 Subject: [PATCH] Modernise style --- fortran/trimspNL.F | 754 ++++++++++++++++++++++----------------------- 1 file changed, 377 insertions(+), 377 deletions(-) diff --git a/fortran/trimspNL.F b/fortran/trimspNL.F index 8e7ec46..d502aae 100644 --- a/fortran/trimspNL.F +++ b/fortran/trimspNL.F @@ -2828,18 +2828,18 @@ C real*8 backLogEnergy(75),tempNh,energyLog(75),alpha real*8 azimuthBinWidth,EEE,initialEnergy,backEnergy(62,22) - IF(nBackscatter.LT.10000) GO TO 2100 - DO J=1,20 + if(nBackscatter.lt.10000) go to 2100 + do J=1,20 backLogMatrix(1,J)=J - ENDDO - backLogEnergy(2)=DBLE(backLogMatrix(2,21))/(DBLE(nPrimary) + enddo + backLogEnergy(2)=dble(backLogMatrix(2,21))/(dble(nPrimary) & *0.1D0) - DO IERLOG=3,74 - backLogEnergy(IERLOG)=DBLE(backLogMatrix(IERLOG,21))/(tempNh + do IERLOG=3,74 + backLogEnergy(IERLOG)=dble(backLogMatrix(IERLOG,21))/(tempNh & *10.D0**((IERLOG-1)/12.D0)) - ENDDO - WRITE(21,2006) - 2006 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', + enddo + write(21,2006) + 2006 format(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', & '(BACKSCATTERED PROJECTILES)'/) do ima = 74,1,-1 if(backLogMatrix(ima,21).ne.0) goto 2005 @@ -2847,16 +2847,16 @@ C ima = 1 2005 ima = min(ima+2,74) do ies = 1, ima - WRITE(21,1858)energyLog(ies),(backLogMatrix(ies,iag), + write(21,1858)energyLog(ies),(backLogMatrix(ies,iag), & iag=1,21),backLogEnergy(ies) - end do - WRITE(21,1858)energyLog(75),(backLogMatrix(75,iag),iag=1,21), + enddo + write(21,1858)energyLog(75),(backLogMatrix(75,iag),iag=1,21), & backLogEnergy(75) - IF(alpha.LT.1.) GO TO 2010 - DO IG2=1,nAzimuthBins,1 + if(alpha.lt.1.) go to 2010 + do IG2=1,nAzimuthBins,1 EEE = IG2*azimuthBinWidth - WRITE(21,2014) EEE - 2014 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + write(21,2014) EEE + 2014 format(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) AT AZIMUTHAL ANGLE =',F5.1, & ' (BACKSCATTERED PROJECTILES)'/) do ima = maxDepthBins,1,-1 @@ -2867,15 +2867,15 @@ C write (6, 1886) ((backEnergyAngle(ie,ig2,iagb),iagb=1,22), & ie=1,ima) write (6, 1886) (backEnergyAngle(102,ig2,iagb),iagb=1,22) - ENDDO - 2010 CONTINUE - IF(initialEnergy.LT.0.) GO TO 2052 - WRITE(21,2016) - 2016 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + enddo + 2010 continue + if(initialEnergy.lt.0.) go to 2052 + write(21,2016) + 2016 format(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) (BACKSCATTERED PROJECTILES)'/) - GO TO 2054 - 2052 WRITE(21,2056) - 2056 FORMAT(//,' ENERGY(E IN 0.1*TI) - POLAR ANGLE IN COS-INTERVALS ', + go to 2054 + 2052 write(21,2056) + 2056 format(//,' ENERGY(E IN 0.1*TI) - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) (BACKSCATTERED PROJECTILES)'/) do ima = maxDepthBins,1,-1 if(backEnergyPolar(ima,22).ne.0) goto 2017 @@ -2886,31 +2886,31 @@ C & ie=1,ima) write (6, 1886) (backEnergyPolar(102,iagb),iagb=1,22) 2054 continue - WRITE(21,2018) - 2018 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + write(21,2018) + 2018 format(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) (BACKSCATTERED PROJECTILES)'/) - WRITE(21,1886) ((backAngleMatrix(IG,IAGB),IAGB=1,22),IG=1,62) - WRITE(21,2022) - 2022 FORMAT(//,' AZIMUTH.ANGLE - POLAR ANGLE IN COS-INTERVALS ', + write(21,1886) ((backAngleMatrix(IG,IAGB),IAGB=1,22),IG=1,62) + write(21,2022) + 2022 format(//,' AZIMUTH.ANGLE - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) (BACKSCATTERED ENERGY)'/) - WRITE(21,2027) (backEnergy(01,IAGB),IAGB=1,11) - WRITE(21,2025) ((backEnergy(IG,IAGB),IAGB=1,11), + write(21,2027) (backEnergy(01,IAGB),IAGB=1,11) + write(21,2025) ((backEnergy(IG,IAGB),IAGB=1,11), & IG=2,nPolarBins) - WRITE(21,2028) - WRITE(21,2031) backEnergy(1,1),(backEnergy(1,IAGB), + write(21,2028) + write(21,2031) backEnergy(1,1),(backEnergy(1,IAGB), & IAGB=12,22) - DO IG=2,nPolarBins - WRITE(21,2026) backEnergy(IG,1),(backEnergy(IG,IAGB), + do IG=2,nPolarBins + write(21,2026) backEnergy(IG,1),(backEnergy(IG,IAGB), & IAGB=12,22) - ENDDO - 1858 FORMAT(1X,1E12.4,20I5,I6,1E12.4) - 1886 FORMAT(1X,I3,20I6,I8) - 2025 FORMAT(1X,1F5.0,10E11.4) - 2026 FORMAT(1X,1F5.0,11E11.4) - 2027 FORMAT(1X,1F5.0,10F11.0) - 2028 FORMAT(/) - 2031 FORMAT(1H1,1X,1F5.0,11F11.0) - 2100 CONTINUE + enddo + 1858 format(1X,1E12.4,20I5,I6,1E12.4) + 1886 format(1X,I3,20I6,I8) + 2025 format(1X,1F5.0,10E11.4) + 2026 format(1X,1F5.0,11E11.4) + 2027 format(1X,1F5.0,10F11.0) + 2028 format(/) + 2031 format(1H1,1X,1F5.0,11F11.0) + 2100 continue return end @@ -2929,20 +2929,20 @@ C integer*4 MAGST(62,22,MAXNLm15) real*8 EASTL(75,MAXNLm15),TEMPNH,ELOG(75) - IF(ISPAT.LT.10000) GO TO 2000 + 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 + 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) ', + 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 @@ -2955,9 +2955,9 @@ C & 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 ', + 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 @@ -2967,24 +2967,24 @@ C 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 ', + 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 + 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 + 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) ', + 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 @@ -2998,25 +2998,25 @@ C 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 ', + 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 ', + 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) ', + 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 @@ -3026,25 +3026,25 @@ C do ies = 1, ima write (6, 1858) elog(ies), (meastl(ies,ias,j),ias=1,21) , & eastl(ies,j) - end do + enddo 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 ', + 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 ', + 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 + write(21,1886) ((MAGST(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1972 continue + 2000 continue return end @@ -3064,17 +3064,17 @@ C integer*4 MAGSA(62,32,MAXNLm15),MAGS(62,22,MAXNLm15) real*8 EASL(75,MAXNLm15),TEMPNH,ELOG(75),ALPHA,DGI,EEE - IF(ISPA.LT.10000) GO TO 1900 - DO J=1,JT(3) - EASL(2,J)=DBLE(MEASL(2,21,J))/(DBLE(NH)*0.1) - DO IESLOG=3,74 - EASL(IESLOG,J)=DBLE(MEASL(IESLOG,21,J))/(TEMPNH*10.D0 + if(ISPA.lt.10000) go to 1900 + do J=1,JT(3) + EASL(2,J)=dble(MEASL(2,21,J))/(dble(NH)*0.1) + do IESLOG=3,74 + EASL(IESLOG,J)=dble(MEASL(IESLOG,21,J))/(TEMPNH*10.D0 & **((IESLOG-1)/12.D0)) - ENDDO - ENDDO - DO 1852 J=1,NJ(1) - WRITE(21,1854) J - 1854 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) (BAC + enddo + enddo + do 1852 J=1,NJ(1) + write(21,1854) J + 1854 format(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) (BAC &KWARD SPUTTERED PARTICLES) ; 1. LAYER ; SPECIES',I2/) do ima = 74,2,-1 if(measl(ima,21,j).ne.0) goto 1855 @@ -3086,9 +3086,9 @@ C & easl(ies,j) enddo write (6, 1858) elog(75), (measl(75,ias,j),ias=1,21),easl(75,j) - 1858 FORMAT(1X,1E12.4,20I5,I6,1E12.4) - WRITE(21,1884) J - 1884 FORMAT(//,' ENERGY(E/E0 IN %) - ', + 1858 format(1X,1E12.4,20I5,I6,1E12.4) + write(21,1884) J + 1884 format(//,' ENERGY(E/E0 IN %) - ', & 'POLAR ANGLE IN COS-INTERVALS (0.05) ', & '(BACKWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) do ima = MAXD1,1,-1 @@ -3098,12 +3098,12 @@ C 1883 ima = min(ima+2,MAXD1) write (6, 1886) ((meas(iesp,iags,j),iags=1,22),iesp=1,ima) write (6, 1886) (meas(102,iags,j),iags=1,22) - 1886 FORMAT(1X,I3,20I6,I8) - IF(ALPHA.LT.1.) GO TO 1878 - DO 1870 IG2=1,NGIK,1 + 1886 format(1X,I3,20I6,I8) + if(ALPHA.lt.1.) go to 1878 + do 1870 IG2=1,NGIK,1 EEE = IG2*DGI - WRITE(21,1872) EEE,J - 1872 FORMAT(//,' ENERGY(E/E0 IN %) - ', + write(21,1872) EEE,J + 1872 format(//,' ENERGY(E/E0 IN %) - ', & 'POLAR ANGLE IN COS-INTERVALS (0.05) ', & 'AT AZIMUTHAL ANGLE =',F5.1, & ' (BACKWARD SPUTTERED ATOMS) , 1.LAYER , SPECIES',I2/) @@ -3114,26 +3114,26 @@ C 1885 ima = min(ima+2,MAXD1) do iesp = 1, ima write (6, 1886) (meags(iesp,ig2,iags,j),iags=1,22) - end do + enddo write (6, 1886) (meags(102,ig2,iags,j),iags=1,22) - 1870 CONTINUE - WRITE(21,1889) J - 1889 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN DEGREES ', + 1870 continue + write(21,1889) J + 1889 format(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN DEGREES ', & '(BACKWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) - WRITE(21,1887) ((MAGSA(IG,IA,J),IA=1,32),IG=1,62) - 1887 FORMAT(1X,31I4,I6) - 1878 CONTINUE - WRITE(21,1888) J - 1888 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + write(21,1887) ((MAGSA(IG,IA,J),IA=1,32),IG=1,62) + 1887 format(1X,31I4,I6) + 1878 continue + write(21,1888) J + 1888 format(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) ', & ' (BACKWARD SPUTTERED PARTICLES) , 1.LAYER , SPECIES',I2/) - WRITE(21,1886) ((MAGS(IG,IAGS,J),IAGS=1,22),IG=1,62) - 1852 CONTINUE - IF(L.EQ.1) GO TO 1900 + write(21,1886) ((MAGS(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1852 continue + if(L.eq.1) go to 1900 if(ispal(2).eq.0) goto 1900 - DO 1862 J=NJ(1)+1,JT(3) - WRITE(21,1864) J-NJ(1) - 1864 FORMAT(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', + do 1862 J=NJ(1)+1,JT(3) + write(21,1864) J-NJ(1) + 1864 format(//,' LOG ENERGY - COS OF EMISSION ANGLE (0.05 STEPS) ', & '(BACKWARD SPUTTERED PARTICLES) , 2. LAYER , SPECIES',I2/) do ima = 74,1,-1 if(measl(ima,21,j).ne.0) goto 1865 @@ -3145,8 +3145,8 @@ C & easl(ies,j) enddo write (6, 1858) elog(75),(measl(75,ias,j),ias=1,21),easl(75,j) - WRITE(21,1894) J-NJ(1) - 1894 FORMAT(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', + write(21,1894) J-NJ(1) + 1894 format(//,' ENERGY(E/E0 IN %) - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) (BACKWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES', & I2/) do ima = MAXD1,1,-1 @@ -3154,15 +3154,15 @@ C enddo ima = 1 1895 ima = min(ima+2,MAXD1) - WRITE(21,1886)((meas(iesp,iags,j),iags=1,22),iesp=1,ima) - WRITE(21,1886)(meas(102,iags,j),iags=1,22) - WRITE(21,1898) J-NJ(1) - 1898 FORMAT(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', + write(21,1886)((meas(iesp,iags,j),iags=1,22),iesp=1,ima) + write(21,1886)(meas(102,iags,j),iags=1,22) + write(21,1898) J-NJ(1) + 1898 format(//,' AZIMUTHAL ANGLE - POLAR ANGLE IN COS-INTERVALS ', & '(0.05) ', 1 ' (BACKWARD SPUTTERED PARTICLES) , 2.LAYER , SPECIES',I2/) - WRITE(21,1886) ((MAGS(IG,IAGS,J),IAGS=1,22),IG=1,62) - 1862 CONTINUE - 1900 CONTINUE + write(21,1886) ((MAGS(IG,IAGS,J),IAGS=1,22),IG=1,62) + 1862 continue + 1900 continue return end @@ -3191,7 +3191,7 @@ C 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 + 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) @@ -3204,14 +3204,14 @@ C enddo 1766 continue do j=1,2 - if(ispal(j).EQ.0) go to 1754 + 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 + if(itsp(j).eq.0) go to 1756 do i=1,20 rkdstj(i,j)=kdstj(i,j)*20.D0/itsp(j) enddo @@ -3222,22 +3222,22 @@ C & '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 + if(nj(1).eq.1) go to 1778 do 1780 j=1,nj(1) - if(itsp(j).EQ.0) go to 1780 + 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 + 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 + 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 ', @@ -3255,13 +3255,13 @@ C enddo enddo do 1799 j=1,2 - if(ispalt(j+1).EQ.0) go to 1799 + 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 + 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 @@ -3271,9 +3271,9 @@ C & '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 + if(nj(2).eq.1) go to 1773 do 1775 j=1,nj(2) - if(itsp(j+nj(1)).EQ.0) go to 1775 + 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//) @@ -3286,7 +3286,7 @@ C & '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 + 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 ', @@ -3477,69 +3477,69 @@ C======================================================================= real*8 AI(20),RKADS(20),RKADSJ(20,MAXNLm15) real*8 RKADSL(20,MAXNL) C - WRITE(21,1601) - 1601 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF ALL BACKWARD ', + write(21,1601) + 1601 format(///5X,'POLAR ANGULAR DISTRIBUTION OF ALL BACKWARD ', & 'SPUTTERED PARTICLES'//) - DO I=1,20 + do I=1,20 RKADS(I)=KADS(I)*20.D0/ISPA - ENDDO - WRITE(21,1518) (AI(I),I=1,20),(KADS(I),I=1,20), + enddo + write(21,1518) (AI(I),I=1,20),(KADS(I),I=1,20), & (RKADS(I),I=1,20) - DO I=1,20 - DO J=1,NJ(1) + do I=1,20 + do J=1,NJ(1) KADSL(I,1)=KADSL(I,1)+KADSJ(I,J) - ENDDO - ENDDO - DO I=1,20 - DO J=NJ(1)+1,JT(3) + enddo + enddo + do I=1,20 + do J=NJ(1)+1,JT(3) KADSL(I,2)=KADSL(I,2)+KADSJ(I,J) - ENDDO - ENDDO - IF(ISPAL(1).EQ.0) GO TO 1614 - IF(NJ(1).EQ.1) GO TO 1614 - WRITE(21,1606) - 1606 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', + enddo + enddo + if(ISPAL(1).eq.0) go to 1614 + if(NJ(1).eq.1) go to 1614 + write(21,1606) + 1606 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', & 'PARTICLES ; LAYER 1'//) - DO I=1,20 + do I=1,20 RKADSL(I,1)=KADSL(I,1)*20.D0/ISPAL(1) - ENDDO - WRITE(21,1518) (AI(I),I=1,20),(KADSL(I,1),I=1,20), + enddo + write(21,1518) (AI(I),I=1,20),(KADSL(I,1),I=1,20), & (RKADSL(I,1),I=1,20) - DO 1618 J=1,NJ(1) - IF(IBSP(J).EQ.0) GO TO 1618 - WRITE(21,1616) J - 1616 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', + do 1618 J=1,NJ(1) + if(IBSP(J).eq.0) go to 1618 + write(21,1616) J + 1616 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', & 'PARTICLES ; LAYER 1 ; SPECIES ',I1//) - DO I=1,20 + do I=1,20 RKADSJ(I,J)=KADSJ(I,J)*20.D0/IBSP(J) - ENDDO - WRITE(21,1518) (AI(I),I=1,20),(KADSJ(I,J),I=1,20), + enddo + write(21,1518) (AI(I),I=1,20),(KADSJ(I,J),I=1,20), & (RKADSJ(I,J),I=1,20) - 1618 CONTINUE - 1614 IF(L.EQ.1) GO TO 1622 - IF(ISPAL(2).EQ.0) GO TO 1622 - WRITE(21,1610) - 1610 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', + 1618 continue + 1614 if(L.eq.1) go to 1622 + if(ISPAL(2).eq.0) go to 1622 + write(21,1610) + 1610 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', & 'PARTICLES ; LAYER 2'//) - DO I=1,20 + do I=1,20 RKADSL(I,2)=KADSL(I,2)*20.D0/ISPAL(2) - ENDDO - WRITE(21,1518) (AI(I),I=1,20),(KADSL(I,2),I=1,20), + enddo + write(21,1518) (AI(I),I=1,20),(KADSL(I,2),I=1,20), & (RKADSL(I,2),I=1,20) - IF(NJ(2).EQ.1) GO TO 1622 - DO 1624 J=NJ(1)+1,JT(3) - IF(IBSP(J).EQ.0) GO TO 1624 - WRITE(21,1626) J-NJ(1) - 1626 FORMAT(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', + if(NJ(2).eq.1) go to 1622 + do 1624 J=NJ(1)+1,JT(3) + if(IBSP(J).eq.0) go to 1624 + write(21,1626) J-NJ(1) + 1626 format(///5X,'POLAR ANGULAR DISTRIBUTION OF SPUTTERED ', & 'PARTICLES ; LAYER 2 ; SPECIES ',I1//) - DO I=1,20 + do I=1,20 RKADSJ(I,J)=KADSJ(I,J)*20.D0/IBSP(J) - ENDDO - WRITE(21,1518) (AI(I),I=1,20),(KADSJ(I,J),I=1,20), + enddo + write(21,1518) (AI(I),I=1,20),(KADSJ(I,J),I=1,20), & (RKADSJ(I,J),I=1,20) - 1624 CONTINUE - 1622 CONTINUE - 1518 FORMAT(5X,20F6.2//,5X,20I6/5X,20F6.3) + 1624 continue + 1622 continue + 1518 format(5X,20F6.2//,5X,20I6/5X,20F6.3) return end @@ -4079,58 +4079,58 @@ C======================================================================= real*8 D1,D2,Dmid logical EQUAL - 590 WRITE(21,600) - 600 FORMAT(1H1,///,5X,8HDEPTH(A),2X,9HPARTICLES,2X,10HNORM.DEPTH,1X, + 590 write(21,600) + 600 format(1H1,///,5X,8HDEPTH(A),2X,9HPARTICLES,2X,10HNORM.DEPTH,1X, & 10HPATHLENGTH,3X,10HINLOSS(EV),2X,10HTELOSS(EV),2X & ,10HELLOSS(EV), 2X,10HDAMAGE(EV),2X,10HPHONON(EV),2X & ,10HCASCAD(EV),5X,3HDPA/) - IF(depth_interval_flag.EQ.0) THEN + if(depth_interval_flag.eq.0) then C WRITE(22,*)' CALCULATED IMPLANTATION PROFILE DID NOT ', C & 'AGREE WITH LAYER THICKNESS' - WRITE(21,*)' CALCULATED IMPLANTATION PROFILE DID NOT ', + write(21,*)' CALCULATED IMPLANTATION PROFILE DID NOT ', & 'AGREE WITH LAYER THICKNESS' - ENDIF + endif #if defined (OS_WIN) - WRITE(22,6002) - 6002 FORMAT(1H1,///,5X,8HDEPTH(A),2X,9HPARTICLES) + write(22,6002) + 6002 format(1H1,///,5X,8HDEPTH(A),2X,9HPARTICLES) #else write(22,'(a)') ' DEPTH PARTICLES' #endif - IF(YH.LT.1.D0) GO TO 603 - DO I=0,MAXD1 + if(YH.lt.1.D0) go to 603 + do I=0,MAXD1 C This normalization of the implantation profile is wrong if the C simulation does not account for all implanted projectiles, C e.g. when the number of points in the profile is not enough to C reach the maximum implantation depth. - RIRP(I) = DBLE(IRP(I))/YH + RIRP(I) = dble(IRP(I))/YH C To resolve this issue we need to check whether we reached maximum C implantation or not. If not rerun calculation with larger step C size! - ENDDO + enddo 603 D1=0. D2=CW - WRITE(21,601) D1,IRP(0),RIRP(0) - 601 FORMAT(4X,3H-SU,1H-,F6.0,I10,E12.4) - DO J=1,LJ - DO I=1,MAXD + write(21,601) D1,IRP(0),RIRP(0) + 601 format(4X,3H-SU,1H-,F6.0,I10,E12.4) + do J=1,LJ + do I=1,MAXD ICDT(I)=ICDT(I)+ICD(I,J) ICDTR(I)=ICDTR(I)+ICDR(I,J) - ENDDO - ENDDO - DO K=1,NJ(1) - DO J=1,NJ(1) - DO I=1,MAXD + enddo + enddo + do K=1,NJ(1) + do J=1,NJ(1) + do I=1,MAXD ICDIRN(I,J)=ICDIRN(I,J)+ICDIRI(I,K,J) - ENDDO - ENDDO - ENDDO - DO I=0,MAXD1 + enddo + enddo + enddo + do I=0,MAXD1 IIRP=IIRP+IRP(I) TRIRP=TRIRP+RIRP(I) - ENDDO - DO I=1,MAXD + enddo + do I=1,MAXD IIPL=IIPL+IPL(I) TION=TION+ION(I) TDENT=TDENT+DENT(I) @@ -4145,29 +4145,29 @@ C size! TDMGNR=TDMGNR+DMGNR(I) TPHONR=TPHONR+PHONR(I) ICDTTR=ICDTTR+ICDTR(I) - ENDDO + enddo do im1=MAXD,1,-1 - if(ipl(im1).ne.0.or.(.NOT.EQUAL(ion(im1),0.D0))) goto 20 + if(ipl(im1).ne.0.or.(.not.EQUAL(ion(im1),0.D0))) goto 20 enddo im1=1 20 im1=min0(im1+2,MAXD) - DO I=1,im1 - WRITE(21,700) D1,D2,IRP(I),RIRP(I),IPL(I),ION(I),DENT(I), + do I=1,im1 + write(21,700) D1,D2,IRP(I),RIRP(I),IPL(I),ION(I),DENT(I), & DMGN(I),ELGD(I),PHON(I),CASMOT(I),ICDT(I) Dmid=(D2-D1)/2+D1 - WRITE(22,701) Dmid,IRP(I) - 700 FORMAT(1X,F6.0,1H-,F6.0,I10,E12.4,I10,1P1E14.4,5E12.4,I8) - 701 FORMAT(1X, F16.4, 2X, I10) + write(22,701) Dmid,IRP(I) + 700 format(1X,F6.0,1H-,F6.0,I10,E12.4,I10,1P1E14.4,5E12.4,I8) + 701 format(1X, F16.4, 2X, I10) D1=D2 D2=D2+CW - ENDDO - WRITE(21,604) D2-CW,IRP(MAXD1),RIRP(MAXD1) - 604 FORMAT(1X,F6.0,1H-,3X,3HSUT,I10,E12.4) - WRITE(21,710) IIRP,TRIRP,IIPL,TION,TDENT,TDMGN,TELGD,TPHON,TCASMO + enddo + write(21,604) D2-CW,IRP(MAXD1),RIRP(MAXD1) + 604 format(1X,F6.0,1H-,3X,3HSUT,I10,E12.4) + write(21,710) IIRP,TRIRP,IIPL,TION,TDENT,TDMGN,TELGD,TPHON,TCASMO & ,ICDTT - 710 FORMAT(/14X,I10,1P1E12.4,I10,1E14.4,5E12.4,I8) - DO J=1,NJ(1) - DO I=1,MAXD + 710 format(/14X,I10,1P1E12.4,I10,1E14.4,5E12.4,I8) + do J=1,NJ(1) + do I=1,MAXD ELET(J)=ELET(J)+ELE(I,J) ELIT(J)=ELIT(J)+ELI(I,J) ELPT(J)=ELPT(J)+ELP(I,J) @@ -4175,54 +4175,54 @@ C size! ICDJT(J)=ICDJT(J)+ICD(I,J) ICDJTR(J)=ICDJTR(J)+ICDR(I,J) ICDITR(J)=ICDITR(J)+ICDIRN(I,J) - ENDDO - ENDDO + enddo + enddo - WRITE(21,1521) - 1521 FORMAT(1H1,4X,'DEPTH(A)' + write(21,1521) + 1521 format(1H1,4X,'DEPTH(A)' & ,3X,' INLOSS(1)',3X,'ELLOSS(1)',3X,'DAMAGE(1)',3X,'PHONON(1)' & ,2X,' INLOSS(2)',3X,'ELLOSS(2)',3X,'DAMAGE(2)',3X,'PHONON(2)' & ,2X,'DPA(1)',2X,'DPA(2)'/) D1=0. D2=CW do im2=MAXD,1,-1 - if(.NOT.EQUAL(eli(im2,1),0.D0).or.(.NOT.EQUAL(eli(im2,2),0.D0)) + if(.not.EQUAL(eli(im2,1),0.D0).or.(.not.EQUAL(eli(im2,2),0.D0)) & ) goto 30 enddo im2=1 30 im2=MIN0(im2+2,MAXD) - DO 1525 I=1,im2 - WRITE(21,1523) D1,D2,ELI(I,1),ELE(I,1),ELD(I,1),ELP(I,1), + do 1525 I=1,im2 + write(21,1523) D1,D2,ELI(I,1),ELE(I,1),ELD(I,1),ELP(I,1), & ELI(I,2),ELE(I,2),ELD(I,2),ELP(I,2),ICD(I,1),ICD(I,2) - 1523 FORMAT(1X,F6.0,1H-,F6.0,1P8E12.4,2I8) + 1523 format(1X,F6.0,1H-,F6.0,1P8E12.4,2I8) D1=D2 D2=D2+CW - 1525 CONTINUE - WRITE(21,1533) ELIT(1),ELET(1),ELDT(1),ELPT(1),ELIT(2),ELET(2) + 1525 continue + write(21,1533) ELIT(1),ELET(1),ELDT(1),ELPT(1),ELIT(2),ELET(2) & ,ELDT(2),ELPT(2),ICDJT(1),ICDJT(2) - 1533 FORMAT(/14X,1P8E12.4,2I8///) - DO I=1,L-1 + 1533 format(/14X,1P8E12.4,2I8///) + do I=1,L-1 ILD(I)=IDINT(XX(I)/CW+0.01D0) - IF(ILD(I).GT.MAXD) ILD(I)=MAXD - DO J=1,ILD(I) + if(ILD(I).gt.MAXD) ILD(I)=MAXD + do J=1,ILD(I) DLI(I)=DLI(I)+DMGN(J) - ENDDO - ENDDO + enddo + enddo DLI(L)=TDMGN - DO 1493 I=L,2,-1 + do 1493 I=L,2,-1 DLI(I)=DLI(I)-DLI(I-1) - 1493 CONTINUE - DO 1494 I=1,L - WRITE(21,1495) I,DLI(I) - 1495 FORMAT(/5X,'DAMAGE IN LAYER ',I3,' : ',1P1E12.4) - 1494 CONTINUE - 1455 CONTINUE + 1493 continue + do 1494 I=1,L + write(21,1495) I,DLI(I) + 1495 format(/5X,'DAMAGE IN LAYER ',I3,' : ',1P1E12.4) + 1494 continue + 1455 continue if(irl.eq.0) goto 1497 - WRITE(21,1496) - 1496 FORMAT(1H1,/,5X,'RECOILS') - WRITE(21,1597) - 1597 FORMAT(///,5X,8HDEPTH(A), 5X,10HINLOSS(EV),3X,10HTELOSS(EV),3X + write(21,1496) + 1496 format(1H1,/,5X,'RECOILS') + write(21,1597) + 1597 format(///,5X,8HDEPTH(A), 5X,10HINLOSS(EV),3X,10HTELOSS(EV),3X & ,10HELLOSS(EV), 3X,10HDAMAGE(EV),3X,10HPHONON(EV),5X,3HDPA, & 2X,6HDPA(1),2X,6HDPA(2), 1X,5H(1-1),1X,5H(1-2),1X,5H(2-1),1X & ,5H(2-2)/) @@ -4233,17 +4233,17 @@ C size! enddo im3=1 31 im3=MIN0(im3+2,MAXD) - DO I=1,im3 - WRITE(21,1595) D1,D2,IONR(I),DENTR(I),DMGNR(I),ELGDR(I), + do I=1,im3 + write(21,1595) D1,D2,IONR(I),DENTR(I),DMGNR(I),ELGDR(I), & PHONR(I),ICDTR(I),ICDIRN(I,1),ICDIRN(I,2) & ,ICDIRI(I,1,1),ICDIRI(I,1,2),ICDIRI(I,2,1),ICDIRI(I,2,2) - 1595 FORMAT(1X,F6.0,1H-,F6.0,1P1E14.4,4E13.4,3I8,4I6) + 1595 format(1X,F6.0,1H-,F6.0,1P1E14.4,4E13.4,3I8,4I6) D1=D2 D2=D2+CW - ENDDO - WRITE(21,1596) TIONR,TDENTR,TDMGNR,TELGDR,TPHONR + enddo + write(21,1596) TIONR,TDENTR,TDMGNR,TELGDR,TPHONR & ,ICDTTR,ICDITR(1),ICDITR(2) - 1596 FORMAT(/14X,1P1E14.4,4E13.4,3I8) + 1596 format(/14X,1P1E14.4,4E13.4,3I8) 1497 continue return end @@ -4292,147 +4292,147 @@ C======================================================================= parameter (stopIcru49=4,stopZiegler=5) C How many seconds are needed for the simulation ?? - CALL TimeStamp(dayStop,monthStop,yearStop,hourStop,minStop, + call TimeStamp(dayStop,monthStop,yearStop,hourStop,minStop, & secStop,secondsStopTotal) - WRITE(21,*) - WRITE(21,10051)dayStop,monthStop,yearStop,hourStop,minStop, + write(21,*) + write(21,10051)dayStop,monthStop,yearStop,hourStop,minStop, & secStop - WRITE(*,10051)dayStop,monthStop,yearStop,hourStop,minStop, + write(*,10051)dayStop,monthStop,yearStop,hourStop,minStop, & secStop -10051 FORMAT(1x,' End: ',A2,'.',A4,1x,A4,1x,A2,':',A2,':',A2) - WRITE(21,*) - WRITE(21,10052)nProjectiles,(secondsStopTotal-secondsStartTotal) -10052 FORMAT(1x,' Simulation needed for ',I7,' projectiles ',I7, +10051 format(1x,' End: ',A2,'.',A4,1x,A4,1x,A2,':',A2,':',A2) + write(21,*) + write(21,10052)nProjectiles,(secondsStopTotal-secondsStartTotal) +10052 format(1x,' Simulation needed for ',I7,' projectiles ',I7, & ' seconds') - WRITE(21,1402)inputName - 1402 FORMAT(//30X,'* INPUT DATA *',5X,A12) - WRITE(21,1404) zProjectile,massProjectile,energy0, + write(21,1402)inputName + 1402 format(//30X,'* INPUT DATA *',5X,A12) + write(21,1404) zProjectile,massProjectile,energy0, & energySigma,alpha,alphaSigma,finalEnergy,surfaceEnergy, & sheath,recoilCutoff - 1404 FORMAT(//,7X,2HZ1,8X,2HM1,10X,2HE0,6X,4HEsig,7X,5HALPHA,7X + 1404 format(//,7X,2HZ1,8X,2HM1,10X,2HE0,6X,4HEsig,7X,5HALPHA,7X & ,8HALPHASIG,7X,2HEF,7X ,3HESB,6X,6HSHEATH,5X,3HERC/2F10.2 & ,1F13.2,7F10.2) - WRITE(21,1406) nProjectiles,ri,ri2,ri3,xStart,rd,depthBin,ca, + write(21,1406) nProjectiles,ri,ri2,ri3,xStart,rd,depthBin,ca, & kk0,kk0r,stoppingPrimary,stoppingRecoil,potentialPrimary, & potentialRecoil,recoilMode - 1406 FORMAT(/7X,2HNH,8X,2HRI,5X,3HRI2,5X,3HRI3,11X,2HX0,8X,2HRD,8X,2HCW + 1406 format(/7X,2HNH,8X,2HRI,5X,3HRI2,5X,3HRI3,11X,2HX0,8X,2HRD,8X,2HCW & ,8X,2HCA ,7X,3HKK0,3X,4HKK0R,3X,5HKDEE1,2X,5HKDEE2,2X,4HIPOT & ,3X,5HIPOTR ,3X,3HIRL/I10,3F10.2,1F13.2,3F10.2,1X,7I7) - WRITE(21,1408) - 1408 FORMAT(//13X,2HDX,6X,3HRHO,4X,2HCK,2X + write(21,1408) + 1408 format(//13X,2HDX,6X,3HRHO,4X,2HCK,2X & ,5HZ(,1),1X,5HZ(,2),1X,5HZ(,3),1X,5HZ(,4),1X,5HZ(,5),2X & ,5HM(,1),2X,5HM(,2),2X,5HM(,3),2X,5HM(,4),2X,5HM(,5),1X & ,5HC(,1),1X,5HC(,2),1X,5HC(,3),1X,5HC(,4),1X,5HC(,5)) - DO I=1,nLayers - WRITE(21,1412) I,layerThickness(I),density(I),correction(I), + do I=1,nLayers + write(21,1412) I,layerThickness(I),density(I),correction(I), & (zTarget(I,J),J=1,5),(massTarget(I,J),J=1,5), & (concentration(I,J),J=1,5) - IF(nElements(I).GT.5) THEN - WRITE(21,5113) - DO J=6,nElements(I) - WRITE(21,5111) J,zTarget(I,J),massTarget(I,J), + if(nElements(I).gt.5) then + write(21,5113) + do J=6,nElements(I) + write(21,5111) J,zTarget(I,J),massTarget(I,J), & concentration(I,J) - ENDDO - ENDIF - 1412 FORMAT(/1X,I3,6H.LAYER,1X,1F8.2,2F7.2,5F6.0,5F7.2,5F6.3) - 5113 FORMAT(6X,'ADDITIONAL ELEMENTS: J Z M C') - 5111 FORMAT(6X,23X,I3,1X,F6.0,1X,F7.2,1X,F8.5) - 5114 FORMAT(6X,'ADDITIONAL ELEMENTS: J SBE ED BE') - 5115 FORMAT(6X,23X,I3,1X,F6.2,1X,F7.2,1X,F8.2) - ENDDO - WRITE(21,1414) - 1414 FORMAT(//27X,'***',2X,'SBE(LAYER,ELEMENT)',2X,'***',5X + enddo + endif + 1412 format(/1X,I3,6H.LAYER,1X,1F8.2,2F7.2,5F6.0,5F7.2,5F6.3) + 5113 format(6X,'ADDITIONAL ELEMENTS: J Z M C') + 5111 format(6X,23X,I3,1X,F6.0,1X,F7.2,1X,F8.5) + 5114 format(6X,'ADDITIONAL ELEMENTS: J SBE ED BE') + 5115 format(6X,23X,I3,1X,F6.2,1X,F7.2,1X,F8.2) + enddo + write(21,1414) + 1414 format(//27X,'***',2X,'SBE(LAYER,ELEMENT)',2X,'***',5X & ,'***',5X,'ED(LAYER,ELEMENT)',5X,'***',5X & ,'***',3X,'BE(LAYER,ELEMENT)',2X,'***') - DO 1416 I=1,nLayers - WRITE(21,1418) I,(surfaceBinding(I,J),J=1,5), + do 1416 I=1,nLayers + write(21,1418) I,(surfaceBinding(I,J),J=1,5), & (displacementEnergy(I,J),J=1,5),(bulkBinding(I,J),J=1,5) - IF(nElements(I).GT.5) THEN - WRITE(21,5114) - DO J=6,nElements(I) - WRITE(21,5115) J,surfaceBinding(I,J), + if(nElements(I).gt.5) then + write(21,5114) + do J=6,nElements(I) + write(21,5115) J,surfaceBinding(I,J), & displacementEnergy(I,J),bulkBinding(I,J) - ENDDO - ENDIF - 1418 FORMAT(/1X,I3,6H.LAYER,17X,5F6.2,3X,5F7.2,3X,5F6.2) - 1416 CONTINUE - IF(stoppingPrimary.LT.stopIcru49) GO TO 1421 - WRITE(21,1419) - 1419 FORMAT(//30X,'CH1',10X,'CH2',10X,'CH3',10X,'CH4',10X,'CH5') - DO 1417 I=1,nLayers - DO J=1,nElements(I) - IF(J.EQ.1) THEN - WRITE(21,1415) I,ch1(I,J),ch2(I,J),ch3(I,J), + enddo + endif + 1418 format(/1X,I3,6H.LAYER,17X,5F6.2,3X,5F7.2,3X,5F6.2) + 1416 continue + if(stoppingPrimary.lt.stopIcru49) go to 1421 + write(21,1419) + 1419 format(//30X,'CH1',10X,'CH2',10X,'CH3',10X,'CH4',10X,'CH5') + do 1417 I=1,nLayers + do J=1,nElements(I) + if(J.eq.1) then + write(21,1415) I,ch1(I,J),ch2(I,J),ch3(I,J), & ch4(I,J),ch5(I,J) - ELSE - WRITE(21,1423) ch1(I,J),ch2(I,J),ch3(I,J), + else + write(21,1423) ch1(I,J),ch2(I,J),ch3(I,J), & ch4(I,J),ch5(I,J) - ENDIF - ENDDO - 1417 CONTINUE - 1415 FORMAT(/1X,I3,6H.LAYER,17X,5F13.6) - 1423 FORMAT(/25X,5F13.6) - 1421 CONTINUE - IF(potentialPrimary.EQ.potKrc) potentialName='KR-C POTENTIAL' - IF(potentialPrimary.EQ.potMoliere) potentialName='mod. MOLIERE ' - IF(potentialPrimary.EQ.potZbl) potentialName='ZBL POTENTIAL' - IF(potentialRecoil.EQ.potKrc) potentialRecoilName='KR-C POTENTIAL' - IF(potentialRecoil.EQ.potMoliere) potentialRecoilName= + endif + enddo + 1417 continue + 1415 format(/1X,I3,6H.LAYER,17X,5F13.6) + 1423 format(/25X,5F13.6) + 1421 continue + if(potentialPrimary.eq.potKrc) potentialName='KR-C POTENTIAL' + if(potentialPrimary.eq.potMoliere) potentialName='mod. MOLIERE ' + if(potentialPrimary.eq.potZbl) potentialName='ZBL POTENTIAL' + if(potentialRecoil.eq.potKrc) potentialRecoilName='KR-C POTENTIAL' + if(potentialRecoil.eq.potMoliere) potentialRecoilName= & 'MOLIERE POTENTIAL' - IF(potentialRecoil.EQ.potZbl) potentialRecoilName='ZBL POTENTIAL' - WRITE(21,1411) potentialName,potentialRecoilName - 1411 FORMAT(//7X,'INTERACTION POTENTIAL : PROJECTILE-TARGET : ',A18 + if(potentialRecoil.eq.potZbl) potentialRecoilName='ZBL POTENTIAL' + write(21,1411) potentialName,potentialRecoilName + 1411 format(//7X,'INTERACTION POTENTIAL : PROJECTILE-TARGET : ',A18 & ,' TARGET-TARGET : ',A18) - IF(stoppingPrimary.EQ.stopLs) stoppingName='LINDHARD-SCHARFF' - IF(stoppingPrimary.EQ.stopOr) stoppingName='OEN-ROBINSON' - IF(stoppingPrimary.EQ.stopMixed) stoppingName='50% LS 50% OR' - IF(stoppingPrimary.EQ.stopIcru49) stoppingName='AZ nach ICRU49' - IF(stoppingPrimary.EQ.stopZiegler) stoppingName='ZIEGLER' - IF(stoppingRecoil.EQ.stopLs) stoppingRecoilName='LINDHARD-SCHARFF' - IF(stoppingRecoil.EQ.stopOr) stoppingRecoilName='OEN-ROBINSON' - IF(stoppingRecoil.EQ.stopMixed) stoppingRecoilName='50% LS 50% OR' - WRITE(21,1413) stoppingName,stoppingRecoilName - 1413 FORMAT(//7X,'INELASTIC LOSS MODEL : PROJECTILE-TARGET : ',A18 + if(stoppingPrimary.eq.stopLs) stoppingName='LINDHARD-SCHARFF' + if(stoppingPrimary.eq.stopOr) stoppingName='OEN-ROBINSON' + if(stoppingPrimary.eq.stopMixed) stoppingName='50% LS 50% OR' + if(stoppingPrimary.eq.stopIcru49) stoppingName='AZ nach ICRU49' + if(stoppingPrimary.eq.stopZiegler) stoppingName='ZIEGLER' + if(stoppingRecoil.eq.stopLs) stoppingRecoilName='LINDHARD-SCHARFF' + if(stoppingRecoil.eq.stopOr) stoppingRecoilName='OEN-ROBINSON' + if(stoppingRecoil.eq.stopMixed) stoppingRecoilName='50% LS 50% OR' + write(21,1413) stoppingName,stoppingRecoilName + 1413 format(//7X,'INELASTIC LOSS MODEL : PROJECTILE-TARGET : ',A18 & ,' TARGET-TARGET : ',A18) - IF(energy0.GT.0.D0) GO TO 1420 - IF(alpha.LT.0.D0) GO TO 1405 - WRITE(21,1422) ti,zArg,velc,emx - 1422 FORMAT(//6X,'MAXWELLIAN DISTRIBUTION',7X,2HTI,5X,4HZARG,5X ,4HVELC + if(energy0.gt.0.D0) go to 1420 + if(alpha.lt.0.D0) go to 1405 + write(21,1422) ti,zArg,velc,emx + 1422 format(//6X,'MAXWELLIAN DISTRIBUTION',7X,2HTI,5X,4HZARG,5X ,4HVELC & ,8X,3HEMX/29X,1F10.2,2F9.4,1E14.6) - GO TO 1427 + go to 1427 1405 continue - WRITE(21,1407) ti,sheath,-alpha,emx - 1407 FORMAT(//6X,'MAXWELLIAN DISTRIBUTION (ENERGY)',7X,'TI',5X + write(21,1407) ti,sheath,-alpha,emx + 1407 format(//6X,'MAXWELLIAN DISTRIBUTION (ENERGY)',7X,'TI',5X & ,'SHEATH',5X,'ALPHAM',8X,'EMX'/38X,3F10.2,2X,1E14.6) - GO TO 1427 - 1420 IF(alpha.EQ.-1.) WRITE(21,1424) - 1424 FORMAT(//6X,'RANDOM DISTRIBUTION'/) - IF(alpha.EQ.-2.) WRITE(21,1426) - 1426 FORMAT(//6X,'COSINE DISTRIBUTION'/) - 1427 CONTINUE - IF(EQUAL(energySigma,0.D0)) THEN - WRITE(21,14271) -14271 FORMAT(//6X,'fixed PROJECTILE ENERGY'/) - ELSE - WRITE(21,14272) -14272 FORMAT(//6X,'PROJECTILE ENERGY has GAUSSIAN DISTRIBUTION '/) - ENDIF - IF(EQUAL(alphaSigma,0.D0)) THEN - WRITE(21,14273) -14273 FORMAT(//6X,'fixed PROJECTILE ANGLE'/) - ELSE - WRITE(21,14274) -14274 FORMAT(//6X,'PROJECTILE ANGLE has 1D GAUSSIAN DISTRIBUTION '/) - ENDIF - WRITE(21,1428)outputName - 1428 FORMAT(1H1,//30X,'* OUTPUT DATA *',5X,A12) + go to 1427 + 1420 if(alpha.eq.-1.) write(21,1424) + 1424 format(//6X,'RANDOM DISTRIBUTION'/) + if(alpha.eq.-2.) write(21,1426) + 1426 format(//6X,'COSINE DISTRIBUTION'/) + 1427 continue + if(EQUAL(energySigma,0.D0)) then + write(21,14271) +14271 format(//6X,'fixed PROJECTILE ENERGY'/) + else + write(21,14272) +14272 format(//6X,'PROJECTILE ENERGY has GAUSSIAN DISTRIBUTION '/) + endif + if(EQUAL(alphaSigma,0.D0)) then + write(21,14273) +14273 format(//6X,'fixed PROJECTILE ANGLE'/) + else + write(21,14274) +14274 format(//6X,'PROJECTILE ANGLE has 1D GAUSSIAN DISTRIBUTION '/) + endif + write(21,1428)outputName + 1428 format(1H1,//30X,'* OUTPUT DATA *',5X,A12) #if defined (OS_WIN) - WRITE(22,14280)rangeName -14280 FORMAT(1H1,//30X,'* RANGE DATA *',5X,A12) + write(22,14280)rangeName +14280 format(1H1,//30X,'* RANGE DATA *',5X,A12) #endif - RETURN - END + return + end C======================================================================= @@ -4652,8 +4652,8 @@ 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 + ema(j,1)=dble(j-1)*polarBinWidth + emat(j,1)=dble(j-1)*polarBinWidth enddo do j=2,21 meab(1,j) = j-1 @@ -4717,7 +4717,7 @@ C 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) + tempNh=logBinWidth*dble(nProjectiles) return end