1 Commits

Author SHA1 Message Date
6a03b7aec1 Bump version and keep and old copy of original spaghetti of loops. 2023-01-27 14:12:12 +01:00
4 changed files with 4900 additions and 242 deletions

View File

@@ -115,7 +115,7 @@ C NJ(I) is the number of elements in layer I
INTEGER*4 ICSUM,ICSUMS,ICDI,ISPA,ISPAT INTEGER*4 ICSUM,ICSUMS,ICDI,ISPA,ISPAT
INTEGER*4 KK0,KK0R,KK2,KKR,KDEE1,KDEE2 INTEGER*4 KK0,KK0R,KK2,KKR,KDEE1,KDEE2
INTEGER*4 NE,NA,NG,NA1,NG1 INTEGER*4 NE,NA,NG,NA1,NG1
INTEGER*4 JMAX,LJ,INEL,IH,IH1,IY,IY2,IY3 INTEGER*4 LJ,INEL,IH,IH1,IY,IY2,IY3
INTEGER*4 JL,KK1,IVMIN,IVMAX,NPA,IREC1,IREC,MAXA,NALL,NSA,KIS INTEGER*4 JL,KK1,IVMIN,IVMAX,NPA,IREC1,IREC,MAXA,NALL,NSA,KIS
INTEGER*4 IA,IAG,IAGS,IG,IESP,IESLOG INTEGER*4 IA,IAG,IAGS,IG,IESP,IESLOG
INTEGER*4 IPOT,IPOTR,IRL,ICDIR,ICSBR,ICSUMR,KOI,IGG,KIST INTEGER*4 IPOT,IPOTR,IRL,ICDIR,ICSBR,ICSUMR,KOI,IGG,KIST
@@ -397,13 +397,9 @@ C if there is no input argument take defailt file names
write (*,*) innam write (*,*) innam
C LMAX is maximum number of layers and JMAX is maximum number of
C elements per layer.
JMAX=5
C This part reads the input file (new format) C This part reads the input file (new format)
OPEN(UNIT=99,file=errnam,STATUS='replace') OPEN(UNIT=99,file=errnam,STATUS='replace')
OPEN(UNIT=11,file=innam,STATUS='unknown',ERR=1359) OPEN(UNIT=11,file=innam,STATUS='unknown',ERR=8000)
C First line: properties of projectile C First line: properties of projectile
C Ordered as: Z, mass number (amu), imp. energy, dist. of imp. energy, angle, dist. angles, C Ordered as: Z, mass number (amu), imp. energy, dist. of imp. energy, angle, dist. angles,
READ(11,*) Z1,M1,E0,Esig,ALPHA,ALPHASIG,EF,ESB,SHEATH,ERC READ(11,*) Z1,M1,E0,Esig,ALPHA,ALPHASIG,EF,ESB,SHEATH,ERC
@@ -445,12 +441,12 @@ C value A-5 of the ziegler tables
read(11,*) (CH5(I,j), j = 1, NJ(I)) read(11,*) (CH5(I,j), j = 1, NJ(I))
ENDDO ENDDO
1359 CLOSE(UNIT=11) CLOSE(UNIT=11)
C open statement for output files, removed from line 2449 ff to here C open statement for output files, removed from line 2449 ff to here
OPEN(UNIT=21,FILE=outnam) OPEN(UNIT=21,FILE=outnam)
6001 OPEN(UNIT=22,FILE=rgenam,STATUS='replace') OPEN(UNIT=22,FILE=rgenam,STATUS='replace')
WRITE(21,1000) WRITE(21,1000)
1000 FORMAT(1H1/,6X,'* TrimSPNL v1.1.0 *') 1000 FORMAT(1H1/,6X,'* TrimSPNL v1.1.0 *')
@@ -530,9 +526,12 @@ C Loop over all defined layers
Z2(I)=Z2(I)+CO(I,J)*ZT(I,J) Z2(I)=Z2(I)+CO(I,J)*ZT(I,J)
M2(I)=M2(I)+CO(I,J)*MT(I,J) M2(I)=M2(I)+CO(I,J)*MT(I,J)
ENDDO ENDDO
C this is the atomic density
ARHO(I) = RHO(I)*AN/M2(I) ARHO(I) = RHO(I)*AN/M2(I)
C this is the mean free path
LM(I) = ARHO(I)**(-1.D0/3.D0) LM(I) = ARHO(I)**(-1.D0/3.D0)
ASIG(I) = LM(I)*ARHO(I) ASIG(I) = LM(I)*ARHO(I)
C this is the maximum impact parameter
PDMAX(I) = LM(I)/DSQRT(PI) PDMAX(I) = LM(I)/DSQRT(PI)
K2(I) = .133743D0*Z2(I)**(2.D0/3.D0)/DSQRT(M2(I)) K2(I) = .133743D0*Z2(I)**(2.D0/3.D0)/DSQRT(M2(I))
AM(I) = CA*ABC*(Z2(I)**(-1.D0/3.D0)) AM(I) = CA*ABC*(Z2(I)**(-1.D0/3.D0))
@@ -635,12 +634,11 @@ C ZBL POTENTIAL (IPOTR=3)
ALPHA = CVMGT( .001D0, ALPHA, EQUAL(ALPHA,0.D0)) ALPHA = CVMGT( .001D0, ALPHA, EQUAL(ALPHA,0.D0))
ALPHA = CVMGT( 179.999D0, ALPHA, EQUAL(ALPHA,180.D0)) ALPHA = CVMGT( 179.999D0, ALPHA, EQUAL(ALPHA,180.D0))
IF(ALPHA.GE.90.0.AND.X0.LE.0.0) GO TO 8881 IF(ALPHA.GE.90.0.AND.X0.LE.0.0) then
GO TO 8882 WRITE(*,*) 'ERROR : If ALPHA>=90 then X0 must be <=0.'
8881 WRITE(6,8883) C Exit program
8883 FORMAT(1X,'ERROR : IF ALPHA.GE.90. THEN IT MUST BE X0.LE.0.')
GOTO 8000 GOTO 8000
8882 CONTINUE endif
C SET CONSTANT DISTANCES C SET CONSTANT DISTANCES
@@ -660,17 +658,15 @@ C SET CONSTANT DISTANCES
RT = TT-RD RT = TT-RD
IF(E0.GE.0.D0) GO TO 51 IF(E0.LT.0.D0) then
C
C SET CONSTANTS FOR MAXWELLIAN DISTRIBUTION C SET CONSTANTS FOR MAXWELLIAN DISTRIBUTION
C
TI = -1.D0*E0 TI = -1.D0*E0
ZARG = DSQRT(TI/(M1*2.D0)) ZARG = DSQRT(TI/(M1*2.D0))
VELC = SHEATH/M1 VELC = SHEATH/M1
C endif
C NUMBERS FOR VECTORIZED LOOPS C NUMBERS FOR VECTORIZED LOOPS
C NUM = MIN( 64, NH)
51 NUM = MIN( 64, NH)
IH = NUM IH = NUM
IH1 = NUM IH1 = NUM
C C

4662
fortran/trimspNLv1.0.1.F Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "TrimSP", "name": "TrimSP",
"version": "1.0.1", "version": "1.1.0",
"description": "Trim.SP simulation to calculate stopping profile of implanted probes.", "description": "Trim.SP simulation to calculate stopping profile of implanted probes.",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
@@ -13,7 +13,7 @@
"SRIM" "SRIM"
], ],
"author": "Zaher Salman", "author": "Zaher Salman",
"license": "GPL2", "license": "GPL3",
"devDependencies": { "devDependencies": {
"@electron-forge/cli": "^6.0.0-beta.57", "@electron-forge/cli": "^6.0.0-beta.57",
"@electron-forge/maker-deb": "^6.0.0-beta.57", "@electron-forge/maker-deb": "^6.0.0-beta.57",

BIN
trimspNL

Binary file not shown.