Calculate collisional ionization equilibrium ion balance.
result = ionbal(Z, ion, temperature)
`ionbal' calculates the fractional abundance of an ion in
collisional ionization equilibrium at a particular temperature
or temperatures. By default, the ionization balance of
Mazzotta et al. (1998, A&AS, v133, p403) is used.
ionbal is a GUIDE routine, which must be initialized using
the require("guide") command in chips or sherpa.
GUIDE uses the optional ATOMDB database,
and this command will fail if the ATOMDB is not available on
your system.
sherpa> require("guide")
GUIDE Initialized using ATOMDB v1.3.0
sherpa> o7 = ionbal(8,7,1.e6)
sherpa> print(o7)
0.986722
sherpa> o8 = ionbal(8,8,1.e6)
sherpa> print(o8)
0.00876597
Puts the fractional abundance of O VII in collisional
equilibrium at T = 1.e6 K into the S-lang variable o7, and
the fractional abundance of O VIII at the same temperature
into the variable o8. The variable name is arbitrary.
This demonstrates that observing an O VII line in a 1.e6 K
plasma is not unusual, but a strong O VIII would be unexpected.
chips> require("guide")
GUIDE Initialized using ATOMDB v1.3.0
chips> T = [1.e5:1.e7:1.e4]
chips> fe17 = ionbal(26, 17, T)
chips> curve(T,fe17)
This shows how to set up a vector of temperatures T(from
1.e5 to 1.e7 K, in steps of 1.e4 K) and then calculate the
fractional abundance of Fe XVII at those temperatures,
putting the result into the S-lang variable fe17.
Alternatively, a logarithmically spaced temperature vector could
be created with
T = 10^[5:7:0.1].
The ionization balance
is then plotted using the command "curve( T, fe17 )".
Z |
integer |
input |
1 |
28 |
|
yes |
Ion |
integer |
input |
1 |
28 |
|
yes |
T |
float |
input |
1.E4 |
1.E9 |
K |
yes |
Parameter=Z (integer required filetype=input min=1 max=28)
The atomic number for the element of interest.
Parameter=Ion (integer required filetype=input min=1 max=28)
The ion number (starting at 1 for the neutral ion) for the
ion of interest.
Parameter=T (float required filetype=input min=1.E4 max=1.E9 units=K)
The temperature(s) (in K or keV) of interest. Values below
100 are assumed to be in keV; values above this are in K.
Data are only available between 10^4 - 10^9 K.
|