Wiki

Clone wiki

KROME / physics3

5.2 Adiabatic index

The adiabatic index is related to the degrees of freedom \(f\) in the gas by the following equation \(\gamma = 1 + \frac{2}{f}\), that for a diatom can be written as \(\frac{1}{\gamma-1}=\left[3+f_{rot}(T)+f_{vib}(T)\right]/2\) (e.g. see Omukai+1998, http://iopscience.iop.org/0004-637X/508/1/141), where the first term represents the translational degrees of freedom, while the second and the third are the rotational and the vibrational degrees of freedom respectively, which are functions of the gas temperature \(T\). For an atom we have only the first term, having only 3 translational degrees of freedom.

5.2.1 Exact adiabatic index

To determine the two temperature dependent functions we need to know the vibrational and the rotational partition functions \(z(T)\). With this quantity we obtain first the mean thermodynamic energy via \(\langle E\rangle=T^2\,\frac{\partial \ln(z)}{\partial T}\), and then we obtain the specific heat \(C_v=\frac{\partial \langle E\rangle}{\partial T}\) which is related to the adiabatic index as \(\frac{1}{\gamma-1}=C_v\).

The partition function for the vibrational component is (see e.g. Atkins' Physical Chemistry, Sect. 17.2) \(z_v(T) = \frac{1}{1-e^{-\theta_v/T}}\), where \(\theta_v\) is the vibrational temperature of the given molecule. The final contribution (after the two derivatives indicated above) is \(f_{vib}(T)=2\,x^2\,\frac{e^x}{\left(e^x-1\right)^2}\), where \(x=\frac{\theta_v}{T}\).

The rotational partition function is more complicated since the sum over the J states does not converge to an analytic function. For this reason we must deal with a truncated series like \(z_r(T)=\sum_{J=0}^{J_{max}}(2J+1)\exp\left[-B/T\,J(J+1)\right]\). In this case \(C_v\) is computed numerically applying finite differences with \(h=\mathrm dT = 10^{-6}T\).

For H2 we should note that it can be ortho- and para-flavoured. Since there are 3 ortho spin permutations for each para, the partition function is then \(z_r(T)=\sum_{J=even}^{J_{max}}\eta(J) + 3\sum_{J=odd}^{J_{max}}\eta(J)\), where \(\eta(J)=(2J+1)\exp\left[-B/T\,J(J+1)\right]\).

When the ratio ortho/para is \(b/a\) we have (see Boley+2007, http://iopscience.iop.org/1538-4357/656/2/L89/fulltext/21082.text.html) \(z_r=z_p^\frac{a}{a+b}z_o^\frac{b}{a+b}\), where \(z_p\) ins the para partition function and \(z_o\) is the ortho partition functions that should be multiplied by \(exp(2\theta/T)\), with \(\theta=8.4 K\). Note here that the spin permutations are always 3 ortho and 1 para, while the ortho/para ratio could be different from the standard 3/1 ratio.

The final expression for adiabatic index is \(\gamma=1+{\sum_i n_i}/{\sum_i \frac{n_i}{\gamma_i-1}}\), where \(n_i\) are the number densities of the gas species. Note that \(\gamma=5/3\) for atoms, while for H2 and other diatomic molecule one should follow the above prescriptions.

This treatment can be enabled by using the flag -gamma=EXACT in the command line. You can also use only the rotational part with -gamma=ROT that keeps \(f_{vib}=0\), and -gamma=VIB that computes the vibrational part and use a constant \(f_{rot}=2\). Finally, note that this approach is slower if compared to the one described below in Sect.6.3.2, and also note the series are truncated to \(J_{max}=10\) which is a good compromise between accuracy and computational cost.

5.2.2 Temperature independent adiabatic index

KROME also uses a chemistry-dependent, but temperature-independent, adiabatic index that is given simply by \(\gamma=\frac{5\sum_{i\in atoms}n_i+7\sum_{i\in molecules}n_i}{3\sum_{i\in atoms}n_i+5\sum_{i\in molecules}n_i}\), as described in the KROME paper and Grassi+2011 (http://arxiv.org/abs/1012.1142). This can be enabled by using the flag -gamma=FULL in the command line.

5.2.3 Other

The default value is \(\gamma=5/3\), but you can provide your own adiabatic index by using any Fortran expression, e.g. -full="1.4d0" or -full="my_custom_function(Tgas)". Note that if you use your own function it must be defined in the krome_user_commons.f90 file.

Updated