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

35 lines
817 B
Fortran

FUNCTION SGMERG(II,ID,FR)
C =========================
C formal routine - taken from TLUSTY, but not used here
C
INCLUDE 'PARAMS.FOR'
INCLUDE 'MODELP.FOR'
INCLUDE 'SYNTHP.FOR'
PARAMETER (FRH=3.28805E15, PH2=2.815D29*2., EHB=157802.77355)
C
sgmerg=0.
c if(id.gt.0) return
IE=IEL(II)
CH=IZ(IE)*IZ(IE)
g(ii)=gmer(imrg(ii),id)
T1=1./TEMP(ID)
EX=EHB*CH*T1
II0=NQUANT(II-1)+1
SUM=0.
SUD=0.
DO 10 I=II0,NLMX
X=I
XI=1./(X*X)
FREDG=FRH*CH*XI
IF(FR.LT.FREDG) GO TO 10
EXI=EXP(EX*XI)
S=EXI*WNHINT(I,ID)*XI/X
SUM=SUM+S
c SUD=SUD+S*XI
10 CONTINUE
SG0=PH2/(FR*FR*FR*G(II))*CH*CH
SGMERG=SUM*SG0
c DSG=-SUD*SG0*EX*T1
RETURN
END