SpectraRust/synspec/extracted/starkir.f
2026-03-19 14:05:33 +08:00

34 lines
926 B
Fortran

FUNCTION STARKIR(II,JJ,T,ANE,BETA)
C ==================================
C
INCLUDE 'PARAMS.FOR'
PARAMETER (PI=3.14159265,PI2=2.*PI,
* OS0=0.026564,RYD=3.28805E15,
* Y2CON=PI*PI*0.5/OS0/CL)
C
DEL=BETA/DBETA
HKT=HK/T
XII=II
XJJ=JJ
XX=XII/XJJ
DD=2.*XJJ*RYD/DEL
Y1=XJJ*DEL*0.5*HKT
Y2=Y2CON*DEL**2/ANE
QSTAT=1.5+.5*(Y1**2-1.384)/(Y1**2+1.384)
QIMPA=0.
IF(Y1.GT.8..OR.Y1.GE.Y2) GO TO 10
EXY2=0.
IF(Y2.LE.8.) EXY2=EXPINT(Y2)
QIMPA=1.438*SQRT(Y1*(1.-XX))*(.4*EXP(-Y1)+EXPINT(Y1)-.5*EXY2)
10 IF(BETA.GT.20.) GO TO 20
PROF=8./(80.+BETA**3)
RATIO=QSTAT+QIMPA
GO TO 30
20 PROF=1.5/BETA/BETA/SQRT(BETA)
DIOI=PI2*1.48E-25*DD*ANE*(SQRT(DD)*
* (1.3*QSTAT+.3*QIMPT)-3.9*RYD*HKT)
RATIO=QSTAT*MIN(1.+DIOI,1.25)+QIMPA
30 STARKIR=PROF*RATIO
RETURN
END