Abstract: We describe a Fortran 90 program to calculate population ratios of atomic levels. The program solves the equations of statistical equilibrium considering all possible bound-bound processes: spontaneous, collisional or radiation induced (the later either directly or by fluorescence). There is no limit on the number of levels or in the number of processes that may be taken into account. The program may find a wide range of applicability in astronomical problems, such as interpreting fine-structure absorption lines or collisionally excited emission lines (such as coronal emission lines) in the spectra of several objects, and also in calculating the cooling rates due to collisional excitation.
PACS: 95.30.Dr; 98.38.Bn; 98.58.Bz
Key words:
Level populations, statistical equilibrium equations, fine structure lines,
collisionally excited lines, coronal lines, cooling rates.
PROGRAM SUMMARY
Title of program: PopRatio
Catalogue identifier:
Program obtainable from: http://www.iagusp.usp.br/~alexsilv/popratio
Computer for which the program is designed and others on which it has been tested:
Computer: Intel Pentium Pro 200 MHz PC
Installation: Instituto Astronômico e Geofísico, Universidade de São Paulo.
Operating system under which the program has been tested: DOS, Windows 95.
Programming language used: Fortran 90.
Memory required to execute with typical data:
2,055 kbytes
No. of bits in a word: 32
No. of processors used: One
Has the code been vectorised or parallelized?: No
No. of bytes in distributed program, including test data, etc.:
981 058
Distribution format:
Keywords:
Level populations, statistical equilibrium equations, fine structure lines,
collisionally excited lines, coronal lines, cooling rates.
Nature of physical problem:
The purpose of this program it to calculate population ratios of atomic levels.
The excited level population ratios may be used to infer the physical
conditions from
observed fine-structure absorption lines or collisionally excited
emission lines
(such as coronal emission lines). Another possible use
is in calculating cooling rates due to collisional excitation of
low-lying levels.
Method of Solution:
The necessary atomic data is read from a separate input file. Next, the
rates for all
the bound-bound processes involved are evaluated and the system of
equilibrium equations is
solved. Several processes may be taken into account: spontaneous,
collisions with an arbitrary
number of particles, excitation or stimulated emission induced by
radiation fields
(either directly or by fluorescence). Built in radiation fields provided
are: a black body (such as the cosmic microwave background radiation),
the UV radiation
field of the Galaxy, the UV background of all QSOs and the hot halo
model radiation field.
Moreover, an arbitrary user-defined radiation field may also be included.
Restrictions on the complexity of the problem:
None. The code can handle an arbitrary number of processes and levels.
The required memory is dynamically allocated in run time.
Typical running time:
The following table gives the running times (in seconds) of the
testcases provided
in section 4:
System library | Distributed libraries | |
testcase #1 | 0.06 | 0.06 |
testcase #2 | 0.06 | 0.10 |
testcase #3 | 0.06 | 0.06 |
testcase #4 | 0.05 | 0.07 |
testcase #5 | 0.12 | 0.14 |
The listed values correspond to averages over 10 executions on a PC Pentium Pro 200 MHz. The column labelled "System library" gives the running times in case the routines from the MSIMSL library are used. The figures given in the next column correspond to the distributed version of PopRatio, that includes routines from the BLAS, LAPACK and PPPACK libraries. The testcases were run using unoptimized BLAS routines.
LONG WRITE-UP
Table of Contents