Compare commits
1 Commits
testpull
...
feature/nu
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a03b7aec1 |
@@ -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
4662
fortran/trimspNLv1.0.1.F
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user