Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] adnz_v1_0.tar.gz(280 Kbytes)
Manuscript Title: PopRatio: a program to calculate atomic level populations in astrophysical plasmas.
Authors: A.I. Silva, S.M. Viegas
Program title: PopRatio
Catalogue identifier: ADNZ_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 136(2001)319
Programming language: Fortran.
Computer: Intel Pentium Pro 200MHz PC.
Operating system: DOS, Windows 95.
RAM: 2K words
Word size: 32
Keywords: Level populations, Statistical equilibrium equations, Fine structure lines, Collisionally excited lines, Coronal lines, Cooling rates, Astrophysics, Interstellar medium.
Classification: 1.8.

Nature of problem:
The purpose of this program is 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.

Solution method:
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:
None. The code can handle an arbitrary number of processes and levels. The required memory is dynamically allocated in run time.

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 labeled "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.