next up previous contents index
Next: Setting up the model Up: Generalising the STENHOLM program Previous: New features

     
Source of the Einstein Coefficients

For linear molecules a simple formula can be used to calculate all the needed input data for the modelling and this was done within the original version of the program. Since this is not possible for some of the more complex molecules the program is now fed a group of files containing the Einstein coefficients and other parameters for the molecule to be modelled. An extra program has been provided which given some initial data will calculate the required values and place them in the correct files. linefreq.f needs to be told the name of the molecule for which a file is required, the highest level for which output is required (this will usually be the highest level for which collision coefficients are available), the dipole moment, $\mu$ and the rotation constant, $B$. Note that the rotation constant must be entered in Hertz (ie. not MHz or GHz). From these data linfreq.f then calculates the frequency, $\nu_{J+1,J}$ for all transitions $J+1 \rightarrow J$ as well as the Einstein coefficients $A_{J+1,J}$ and $B_{J+1,J}$. To do this it uses:

 \begin{displaymath}\nu_{J+1,J}=2\left(J+1\right)B
\end{displaymath} (4.1)


  
$\displaystyle A_{J+1,J}$ $\textstyle =$ $\displaystyle \frac{J+1}{2J+3}\frac{16\pi^3\mu^2}{3\epsilon_0c^3h}\nu_{J+1,J}^3$ (4.2)
  $\textstyle =$ $\displaystyle \frac{\left(J+1\right)^4}{2J+3}\frac{16hB^3}{c^2}\frac{8\pi^3\mu^2}{3\epsilon_0ch}$ (4.3)

Where equation 4.3 simply substitutes equation 4.1 in for $\nu_{J+1,J}$ in equation 4.2.

\begin{displaymath}B_{J+1,J}=\frac{J+1}{2J+3}\frac{8\pi^2}{3\epsilon_0c}\left(\frac{\mu^2}{h}\right)^2\end{displaymath}

Finally, it also returns the value of $g_J$, the degeneracy, which is given by:

\begin{displaymath}g_J=2J+1\end{displaymath}

For non linear molecules it is a non-trivial task to calculate any of these values and it is therefore preferable to use data that has already been calculated. In the case of formaldehyde this data is taken from [15]. The program freqsortc.f takes the Einstein A coefficients and the frequencies for each transition as given in the input files h2co_acoefs_ortho.txt and h2co_acoefs_para.txt. These files are scanned in versions of the tables given in Kegel [15] and present the data in rows, where each row represents one transition in the format:

\begin{displaymath}J \hspace*{5em} \tau \hspace*{5em} J' \hspace*{5em} \tau' \hspace*{5em} \nu_{J,I}
\hspace*{5em} A_{J,I}\end{displaymath}

The format used here for labelling the different levels is slightly different to the usual $j,k,k'$ and is also different to the labelling system used in the collision coefficients file, which uses a $j,k,L/U$ system where $L$ stands for lower and $U$ for upper. In terms of the usual $j,k,k'$ system $\tau=k-k'$ and $k'=j-k+1$ for a Lower transition and $k'=j-k$ for an upper transition. Using these data and also the energy of each level, taken from ortho.txt and para.txt the program calculates the Einstein B coefficient using the equation of detailed balance:

\begin{displaymath}B_{J,I}=\frac{c^2A_{J,I}}{2h\nu_{J,I}^3}\end{displaymath}

(this is simply equation 2.24 re-arranged). Where necessary the main STEN program then calculates $B_{I,J}$ from:

\begin{displaymath}B_{I,J}=B_{J,I}\frac{g_J}{g_I}\end{displaymath}

As before $g=2J+1$. The energy data (which is used to calculate $\nu_{J,I}$ by the use of $E_{I,J}=h\nu$ where $E$ is the energy difference between two levels) is multiplied by $10^6\frac{h}{k}$($h=$Planck's constant, $k=$Boltzmann's constant) in order to change the units from those given in the input file to those required by the STEN program. It is also worth noting that the ortho.txt and para.txt files include a list of numbers in the first column that give each level a label running from one to however many levels there happen to be. These numbers are the level numbers that the main STEN program refers to. The data on the $j,k,k'$ values is never passed to the main program which also relies on the input file FREQ.*** to know how many transitions are possible and which level numbers the transitions link. This information is also calculated by the freqsortc.f program which considers all possible transitions in the range for which there are data. It then rules out all forbidden transitions and all those which are absorption transitions. All the remaining possibilities should then have data available in the h2co_acoefs_ortho.txt (or the para equivalent) file. These data are then written into the FREQ.*** file.


next up previous contents index
Next: Setting up the model Up: Generalising the STENHOLM program Previous: New features

1999-04-12