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

78 lines
3.1 KiB
Fortran

FUNCTION VERN18(E,IZZ)
C ======================
C
C Photoionization cross-sections for ground states
C of all Argon ions.
C Verner D.A. et al. 1996, ApJ 465
C Verner & Yakovlev 1995, A&AS 109, 125
C
INCLUDE 'IMPLIC.FOR'
INCLUDE 'BASICS.FOR'
PARAMETER (T18=1.D-18,MVER=18)
DIMENSION S0(MVER),E0(MVER),EMX(MVER)
DIMENSION Y0(MVER),Y1(MVER),YW(MVER),YA(MVER),PV(MVER)
DIMENSION S95(MVER),E95(MVER),Y95(MVER),YW95(MVER),P95(MVER)
C
DATA S0/2.106D1,2.503D1,3.58D1,2.035D1,9.946D0,1.080D0,3.693D0,
+ 3.295D1,8.279D-1,8.204D0,1.76D3,7.018D-1,2.459D-2,
+ 4.997D-2,2.571D4,2.135D1,3.108D1,1.69D2/
DATA E0/17.09,24.94,14.17,6.953,10.31,0.544,0.02966,3.844,
+ 0.1926,10.4,0.1257,5.31,0.3209,1.557,18.88,41.54,
+ 446.8,139.9/
DATA EMX/249.2,266.2,280.1,298.7,320.,342.6,366.7,392.5,3361.,
+ 3446.,3523.,3613.,3702.,3798.,3898.,3988.,5.D4,5.D4/
DATA Y0/1.688,0.9299,2.384,7.501,6.406,1.7D2,4.383D-4,0.,38.14,
+ 38.04,3.286D-3,1.099D2,2.068D3,4.552D2,2.445D-2,0.,0.,0./
DATA Y1/0.8943,0.7195,1.794,0.1806,3.659D-3,15.87,2.513,0.,4.649,
+ 0.639,0.3226,0.2202,21.13,6.459,1.054D-2,0.,0.,0./
DATA YW/0.4185,0.5108,0.6316,0.8842,0.4885,11.07,1.363D-2,0.,
+ 1.434,9.203D-4,1.975,0.4987,0.6692,0.2938,29.09,0.,0.,0./
DATA YA/2.645D2,1.272D2,3.776D1,1.4D1,7.444D1,9.419D2,9.951D3,
+ 7.082D2,2.392D2,1.495D1,1.579D3,1.001D2,2.285D3,5.031D2,
+ 1.475D0,4.118D1,3.039D1,3.288D1/
DATA PV/4.796,4.288,5.742,9.595,6.261,7.582,7.313,4.645,11.21,
+ 11.15,6.714,8.939,8.81,8.966,26.34,4.945,2.092,2.963/
DATA S95/8.372D1,1.937D2,2.281D2,2.007D2,2.474D2,2.786D2,3.204D2,
+ 4.198D2,2.931D1,1.585D1,2.796D1,1.666D1,2.888D1,2.874D1,
+ 2.883D1,3.003D1,3.108D1,1.69D2/
DATA E95/164.7,108.5,102.5,107.3,98.35,92.33,85.63,73.68,467.9,
+ 612.6,478.9,602.8,473.1,474.9,475.6,468.,466.8,139.9/
DATA Y95/54.52,70.,43.8,70.,42.84,42.2,42.3,44.19,17.44,50.,
+ 19.17,50.,20.42,22.35,26.15,28.54,30.39,32.88/
DATA YW95/0.627,0.1,7.167D-3,0.1,7.283D-3,7.408D-3,7.258D-3,
+ 7.712D-3,10*0./
DATA P95/3.328,3.7,4.046,3.7,4.125,4.227,4.329,4.492,2.362,
+ 1.65,2.271,1.65,2.234,2.171,2.074,2.037,2.092,2.963/
C
VERN18=0.
IVER=IZZ
C
C 1996 Expression
C
IF(E.LT.EMX(IVER)) THEN
XX=E/E0(IVER)-Y0(IVER)
YY=SQRT(XX*XX+Y1(IVER)*Y1(IVER))
AA=(XX-UN)*(XX-UN)+YW(IVER)*YW(IVER)
BB=YY**(HALF*PV(IVER)-5.5)
CC=(UN+SQRT(YY/YA(IVER)))**PV(IVER)
FY=AA*BB/CC
VERN18=S0(IVER)*T18*FY
ELSE
C
C 1995 Expression for high energies
C (ionization of inner shell electron)
C
YY=E/E95(IVER)
XL=0.
IF(IZZ.LE.8) XL=UN
Q=HALF*P95(IVER)-5.5-XL
AA=(YY-UN)*(YY-UN)+YW95(IVER)*YW95(IVER)
BB=YY**Q
CC=(UN+SQRT(YY/Y95(IVER)))**P95(IVER)
FY=AA*BB/CC
VERN18=S95(IVER)*T18*FY
END IF
C
RETURN
END