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

86 lines
3.3 KiB
Fortran

FUNCTION VERN20(E,IZZ)
C ======================
C
C Photoionization cross-sections for ground states
C of all Calcium 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=20)
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/5.37D5,1.064D7,3.815D1,7.736D0,1.523D-1,7.642D1,4.76D-1,
+ 6.641D-1,2.076D2,1.437D1,9.384D-1,1.227D1,1.849D3,
+ 1.116D0,5.513D1,1.293D0,2.028D4,1.105D1,1.936D1,1.369D2/
DATA E0/12.78,15.53,24.36,4.255,0.6882,9.515,0.808,1.366,0.0552,
+ 16.05,0.2288,23.45,10.08,9.98,130.9,4.293,26.18,94.72,
+ 629.7,172.9/
DATA EMX/34.43,40.9,373.1,394.4,417.5,442.3,468.7,496.7,527.,
+ 556.9,4265.,4362.,4453.,4555.,4659.,4767.,4880.,4982.,
+ 5.D4,5.D4/
DATA Y0/1.012D-3,2.161D-3,1.802,14.67,121.,4.829,148.7,103.9,
+ 2.826D-4,0.,24.78,24.17,6.138D-3,71.04,1.833D-2,0.9363,
+ 2.402D-2,0.,0.,0./
DATA Y1/1.851D-2,6.706D-2,1.233,3.298D-2,3.876,5.824,1.283,3.329,
+ 1.657,0.,3.1,0.5469,69.31,5.311,0.9359,4.589D-2,9.323D-3,
+ 0.,0.,0./
DATA YW/0.4477,0.6453,0.3126,1.369,8.277,2.471,0.572,0.2806,
+ 1.843D-3,0.,1.39,6.842D-4,241.,3.879,9.084D-2,3.461D-5,
+ 28.03,0.,0.,0./
DATA YA/0.3162,0.779,293.1,13.55,150.2,89.73,368.2,318.8,1.79D4,
+ 698.9,254.9,13.12,1.792D4,59.18,382.8,16.91,1.456,38.18,
+ 39.21,32.88/
DATA PV/12.42,21.3,3.944,12.36,10.61,5.141,8.634,8.138,5.893,
+ 3.857,11.03,9.771,2.868,9.005,2.023,14.38,25.6,4.192,
+ 1.862,2.963/
DATA S95/9.017D1,7.314D1,1.945D2,1.542D2,1.622D2,1.855D2,2.181D2,
+ 2.788D2,1.934D2,6.616D2,1.547D1,1.324D1,1.57D1,1.384D1,
+ 1.417D1,1.665D1,1.486D1,1.82D1,1.936D1,1.369D2/
DATA E95/44.87,44.98,126.,141.3,138.4,130.3,120.8,107.,129.3,
+ 65.11,701.,750.3,698.9,739.6,734.2,686.2,723.5,664.,
+ 629.7,172.9/
DATA Y95/14.65,18.98,68.19,99.06,88.11,69.93,58.16,47.68,70.,
+ 43.71,31.97,50.,32.18,50.,50.,34.43,50.,39.79,39.21,
+ 32.88/
DATA YW95/0.2754,0.2735,4.791D-4,1.107D-3,4.384D-4,1.4D-5,
+ 4.346D-6,4.591D-6,0.1,7.881D-6,10*0./
DATA P95/7.498,7.152,3.77,3.446,3.521,3.707,3.907,4.2,3.7,4.937,
+ 1.858,1.65,1.851,1.65,1.65,1.823,1.65,1.777,1.862,
+ 2.963/
C
VERN20=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
VERN20=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.10) 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
VERN20=S95(IVER)*T18*FY
END IF
C
RETURN
END