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

43 lines
1.7 KiB
Fortran

FUNCTION GAUNT(I,FR)
C ====================
C
C Hydrogenic bound-free Gaunt factor for the principal quantum
C number I and frequency FR
C
INCLUDE 'PARAMS.FOR'
X=FR/2.99793E14
GAUNT=1.
IF(I.EQ.1) THEN
GAUNT=1.2302628+X*(-2.9094219E-3+X*(7.3993579E-6-8.7356966E-9*X))
*+(12.803223/X-5.5759888)/X
ELSE IF(I.EQ.2) THEN
GAUNT=1.1595421+X*(-2.0735860E-3+2.7033384E-6*X)+(-1.2709045+
*(-2.0244141/X+2.1325684)/X)/X
ELSE IF(I.EQ.3) THEN
GAUNT=1.1450949+X*(-1.9366592E-3+2.3572356E-6*X)+(-0.55936432+
*(-0.23387146/X+0.52471924)/X)/X
ELSE IF(I.EQ.4) THEN
GAUNT=1.1306695+X*(-1.3482273E-3+X*(-4.6949424E-6+2.3548636E-8*X))
*+(-0.31190730+(0.19683564-5.4418565E-2/X)/X)/X
ELSE IF(I.EQ.5) THEN
GAUNT=1.1190904+X*(-1.0401085E-3+X*(-6.9943488E-6+2.8496742E-8*X))
*+(-0.16051018+(5.5545091E-2-8.9182854E-3/X)/X)/X
ELSE IF(I.EQ.6) THEN
GAUNT=1.1168376+X*(-8.9466573E-4+X*(-8.8393133E-6+3.4696768E-8*X))
*+(-0.13075417+(4.1921183E-2-5.5303574E-3/X)/X)/X
ELSE IF(I.EQ.7) THEN
GAUNT=1.1128632+X*(-7.4833260E-4+X*(-1.0244504E-5+3.8595771E-8*X))
*+(-9.5441161E-2+(2.3350812E-2-2.2752881E-3/X)/X)/X
ELSE IF(I.EQ.8) THEN
GAUNT=1.1093137+X*(-6.2619148E-4+X*(-1.1342068E-5+4.1477731E-8*X))
*+(-7.1010560E-2+(1.3298411E-2 -9.7200274E-4/X)/X)/X
ELSE IF(I.EQ.9) THEN
GAUNT=1.1078717+X*(-5.4837392E-4+X*(-1.2157943E-5+4.3796716E-8*X))
*+(-5.6046560E-2+(8.5139736E-3-4.9576163E-4/X)/X)/X
ELSE IF(I.EQ.10) THEN
GAUNT=1.1052734+X*(-4.4341570E-4+X*(-1.3235905E-5+4.7003140E-8*X))
*+(-4.7326370E-2+(6.1516856E-3-2.9467046E-4/X)/X)/X
END IF
RETURN
END