CPPSIMU – molecular data

Lamda file format

New version of Cppsimu can read files in the format used by the Leiden Atomic and Molecular Database, Lamda. However, the input file must be modified to have after the number of collision temperatures on the same line a second number that gives the relative weight for collisions with that collision partner. The number must be always be included but its value is important only when the input file contains collisional coefficients for collisions with several partners. The filename is specified by the keywoard molecule in the ini-file. The Lamda site contains files for a number of molecules.

The old file format

Files *.mol

Cppsimu reads the molecular data (apart from the collision coefficients) from a file molecule.mol where molecule is the name given in the parameter file using the keyword molecule. The filename should contain lower case letters only. The file is in plain ascii format. The file may contain any number of lines that are commented out using the character ‘#’ or the character ‘!’ in the first column. The type of the molecule is defined on the first line. Valid values are ro (for rational spectrum) and generic.

Any molecule can be described using the generic type. The energy levels are numbered in arbitrary order starting from zero. The energies are listed after keyword energies: each line contains the number of the energy level followed by the energy in units of Hz. The Einstein’s coefficients for spontaneous emission are listed after a line containing the keyword A: each line contains indices of the upper and lower level of the transition followed by the value of the coefficient in units 1/s. Statistical weights are listed after a line containing ‘<tt>G</tt>’ with each line containing the index of the level followed by the value of the statistical weight. For an example see the file [hcn.mol]

If the type is ro energies can be given as above using the energies keyword. Energies do not have to be listed if the rotational constant of the molecule is given with the keyword B followed on the same line by the value in units of MHz. Higher order correction factors can be given with keywords D and H (see source code for the exact formula). Einstein’s coefficient can be given as above or alternatively the program can calculate the coefficients provided the permanent dipole moment is given with the keyword dipole. See for example file co.mol. For molecule of the ro type index of an energy level equals the quantum number J.

Keyword weight followed by numerical value defines the mass of the molecule in atomic mass units.

Collisional coefficients

Cppsimu needs the transition rates for the collisions between the studied molecule (X) and the major collision partners. Coefficients must exist at least for X-H2 collisions but the coefficients for collisions X-He may also be given.

The filenames are formed from the name of the molecule (as given in the parameter file) and the name of the collision partner. For example, the files used in CO calculations would be co.h2 and co.he. The filenames should contain lower case letters only.

The files for the collision coefficients are in plain ascii format. The file may contain any number of lines that are commented out using the character ‘#’ or the character ‘!’ in the first column. The number of kinetic temperatures for which the coefficients are given is given on a line by itself and it is followed by the kinetic temperature values one per line. The rest of the file consists of lines where the indices of the initial and the final energy levels of a transition are followed by as many coefficients as there are kinetic temperatures. Note that the relations between energy level indices and the values of the quantum numbers are defined in the molecule file. If molecule type is ro the level index is the same as the rotational quantum number J.

If a collision coefficient is given in one direction only (e.g. for a downward transition) the coefficient for the reverse transition will be calculated from the equilibrium condition. Some coefficients are allowed to be missing although in that case warning messages will be generated.

For an example see the file co.h2.