A large number of problems in plasma physics involve the consideration of several chemical species  and reactions. The solution of such problems invariably requires the ability to read, classify, sort and manipulate particles and reactions and, frequently, the evaluation of source terms in chemical kinetic equations, the energy transferred by the electrons to the other particles, the gas heating due to collisions or the photon emission spectra.
The handling of these data frequently represents a significant fraction of codes, development and maintenance time and is a source of errors. It would clearly be advantageous to have a package capable of dealing with these data independently of the number or nature of the species and chemical reactions involved and of the problem being solved or the method used. Such a package could be used as a "black box", moving the description of particles and reactions from the code to a data file, isolating the evaluation of terms related to the chemical kinetics from the remaining program, allowing the user to concentrate on the physical problem and on the algorithm to solve it. Once the code developed, it would allow an easy and fast modification and testing of chemical models. PLASMAKIN was developed to fulfill this purpose.
PLASMAKIN is a collection of routines to parse an input file describing the species and reactions present in a discharge, handle this data and compute chemical kinetics data characterizing the discharge. The library supports any number of species and reactions, is independent of the number of dimensions of the problem and can be used both in stationary and time dependent problems. Although PLASMAKIN has been written for plasma physics problems it can be used or adapted to any field dealing with chemical kinetics.
The user intervention is limited to preparation of an input file and making appropriate calls to PLASMAKIN procedures in a driver program. The input file uses a language close to the physical and chemical notation and the parser is able to detect errors in this file and to deduce the values of several properties, reducing the amount of data that must be written in the file.
A large number of species properties are supported and fully described in
CHEM_SPECIES. The properties of excited species can be deduced
from those of the parent species in the ground level and vibrational series
can be indicated in a close notation. In this case the corresponding initial
relative populations are estimated using a Gordiets-Treanor distribution
Unimolecular, bimolecular as well as termolecular reactions are supported.
Optical emission and absorption are examples of unimolecular reactions important in the plasma physics. Radiation imprisonment can also be accounted, including a constant or space dependent escape factor [Molisch98].
Cascade levels (influencing the population of lower levels by spontaneous emission but whose density is not followed) are supported and the corresponding branching ratios are automatically evaluated.
A large number of rate coefficients have an Arrhenius temperature dependence. However reactions in plasma can have more complex temperature dependencies or, as is the case for electron collision reactions, depend on the electron temperature. To accommodate this, rate coefficients with a power series dependence on the temperature in the exponential term can be used in PLASMAKIN:
As the rate coefficients for forward and reverse reactions are related by the principle of detailed balancing, PLASMAKIN automatically evaluates the reverse rates from the corresponding forward rates.
A large number of reactions with vibrational levels are formally identical, the only difference being the vibrational number(s). To avoid the need of writing all this reactions PLASMAKIN is able to read a single description of a group of reactions involving species from a vibrational series, create the corresponding individual reactions and compute the rate coefficients.
Finally, to compute rate coefficients known as a function of the reduced field E/N or mean energy (as is frequently the case for electron rate coefficients), rate coefficients depending on vibrational quantum numbers or other expressions, a user supplied routine can be used.
In termolecular reactions two types of pressure dependent reactions are included: recombination reactions and chemically activated bimolecular reactions. The reaction rates are calculated using the [Lindemann22] and [Troe83] formulation. In both cases the 3rd body concentration can be set proportional to the total pressure or to the partial pressure of a selected gas species.
Surface reaction can be included and the indication of surface names allows differentiating the reactions according to the surface.
Energy losses - The energy exchanged in reactions is calculated from the values of the formation enthalpy at the gas temperature. As the gas temperature in cold plasmas is within a few hundred degrees to T0, the formation enthalpy at gas temperature is not much higher than the standard value and is approximated by a linear expression:
A detailed description of the equations and expressions used in PLASMAKIN can be found in [Pinhão01].
The package is written in standard Fortran 95 as a MODULE unit. However, to allow an easy integration with FORTRAN 77 code only the FORTRAN 77 intrinsic data types are used for the public data so that PLASMAKIN procedures can be called by FORTRAN 77 code. The usage of Fortran standard naming conventions, error diagnostics and error messages facilitates the use of the package.
Each quantum level is considered in this manual as an independent species.