29 lines
828 B
Fortran
29 lines
828 B
Fortran
function HCTIon(ion,nelem)
|
|
c ion is stage of ionization, 1 for atom
|
|
c nelem is atomic number of element, 2 up to 30
|
|
c Example: O + H+ => O+ + H is HCTIon(1,8)
|
|
c integer ion , nelem
|
|
INCLUDE 'IMPLIC.FOR'
|
|
common/CTRTEMP/ te
|
|
common/CTIon/ CTIon(7,4,30)
|
|
c
|
|
c local variables
|
|
c real tused
|
|
c integer ipIon
|
|
c
|
|
ipIon = ion
|
|
c
|
|
c Make sure te is between temp. boundaries; set constant outside of range
|
|
tused = max( te,CTIon(5,ipIon,nelem) )
|
|
tused = min( tused , CTIon(6,ipIon,nelem) )
|
|
tused = tused * 1e-4
|
|
c
|
|
c the interpolation equation
|
|
HCTIon = CTIon(1,ipIon,nelem)* 1e-9 *
|
|
1 (tused**CTIon(2,ipIon,nelem)) *
|
|
2 (1. +
|
|
3 CTIon(3,ipIon,nelem) * exp(CTIon(4,ipIon,nelem)*tused) ) *
|
|
4 exp(-CTIon(7,ipIon,nelem)/tused)
|
|
c
|
|
end
|