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

41 lines
1.6 KiB
Fortran

FUNCTION FEAUTR(FREQ,ID)
C ========================
C
C LYMAN-ALPHA STARK BROADENING AFTER N.FEAUTRIER
C
INCLUDE 'PARAMS.FOR'
INCLUDE 'MODELP.FOR'
DIMENSION DL(20),F05(20),F10(20),F20(20),F40(20),X(4)
DATA F05 / 0.0537, 0.0964, 0.1330, 0.3105, 0.4585, 0.6772, 0.8229,
* 0.8556, 0.9250, 0.9618, 0.9733, 1.1076, 1.0644, 1.0525,
* 0.8841, 0.8282, 0.7541, 0.7091, 0.7164, 0.7672/
DATA F10 / 0.1986, 0.2764, 0.3959, 0.5740, 0.7385, 0.9448, 1.0292,
* 1.0317, 0.9947, 0.8679, 0.8648, 0.9815, 1.0660, 1.0793,
* 1.0699, 1.0357, 0.9245, 0.8603, 0.8195, 0.7928/
DATA F20 / 0.4843, 0.5821, 0.7003, 0.8411, 0.9405, 1.0300, 1.0029,
* 0.9753, 0.8478, 0.6851, 0.6861, 0.8554, 0.9916, 1.0264,
* 1.0592, 1.0817, 1.0575, 1.0152, 0.9761, 0.9451/
DATA F40 / 0.7862, 0.8566, 0.9290, 0.9915, 1.0066, 0.9878, 0.8983,
* 0.8513, 0.6881, 0.5277, 0.5302, 0.6920, 0.8607, 0.9111,
* 0.9651, 1.0793, 1.1108, 1.1156, 1.1003, 1.0839/
DATA DL / -150., -120., -90., -60., -40., -20., -10., -8., -4.,
* -2., 2., 4., 8., 10., 20., 40., 60., 90., 120., 150./
DLAM=2.997925E18/FREQ-1215.685
DO 10 I=2,20
IF(DLAM.LE.DL(I)) GO TO 20
10 CONTINUE
I=20
20 J=I-1
C=DL(J)-DL(I)
A=(DLAM-DL(I))/C
B=(DL(J)-DLAM)/C
X(1)=F05(J)*A+F05(I)*B
X(2)=F10(J)*A+F10(I)*B
X(3)=F20(J)*A+F20(I)*B
X(4)=F40(J)*A+F40(I)*B
J=JT(ID)
Y=TI0(ID)*X(J)+TI1(ID)*X(J-1)+TI2(ID)*X(J-2)
FEAUTR=0.5*(Y+1.)
RETURN
END