PLUTO
|
Basic interface definition for the PVTE_LAW
EoS.
More...
#include "pluto.h"
Go to the source code of this file.
Macros | |
#define | HELIUM_IONIZATION NO |
#define | DEG_x 0 /* hydrogen ionization degree */ |
#define | DEG_y 1 /* molecular hydrogen dissociation degree */ |
#define | DEG_z1 2 /* helium single ionization degree */ |
#define | DEG_z2 3 /* helium double ionization degree */ |
Functions | |
void | GetFuncDum (double, double *) |
static void | GetSahaHFracs (double, double, double *) |
double | InternalEnergyFunc (double *v, double T) |
void | GetMu (double T, double rho, double *mu) |
double | Gamma1 (double *v) |
Basic interface definition for the PVTE_LAW
EoS.
Collect the basic set of functions required by the PVTE_LAW
equation of state:
Auxiliary functions (needed by the the previous ones) are also included here.
The current version implements the EoS given by D'Angelo (2013).
Reference
Definition in file pvte_law_dAngelo.c.
#define DEG_x 0 /* hydrogen ionization degree */ |
Definition at line 33 of file pvte_law_dAngelo.c.
#define DEG_y 1 /* molecular hydrogen dissociation degree */ |
Definition at line 34 of file pvte_law_dAngelo.c.
#define DEG_z1 2 /* helium single ionization degree */ |
Definition at line 35 of file pvte_law_dAngelo.c.
#define DEG_z2 3 /* helium double ionization degree */ |
Definition at line 36 of file pvte_law_dAngelo.c.
#define HELIUM_IONIZATION NO |
Definition at line 31 of file pvte_law_dAngelo.c.
double Gamma1 | ( | double * | v | ) |
Calculate the value of the first adiabatic index:
where p
and rho
are in c.g.s units. Note that if species are evolved explicitly (non-equilibrium chemistry), we set chi=1
.
The heat capacity at constant volume, cV
, is defined as the derivative of specific internal energy with respect to temperature:
and it is computed numerically using a centered derivative.
This function is needed (at present) only when computing the sound speed in the Riemann solver. Since this is only needed for an approximated value, 5/3 (upper bound) should be ok.
Reference
[in] | v | 1D array of primitive quantities |
Definition at line 231 of file pvte_law_dAngelo.c.
void GetFuncDum | ( | double | T, |
double * | funcdum_val | ||
) |
Interpolate the value of a function of zetaR
from the table that is used to estimate the value of EH2.
[in] | T | Value of temperature in kelvin. |
[out] | *funcdum_val | Pointer to the value of function of zetaR |
Reference: D'Angelo, G. et al, ApJ 778 2013.
Definition at line 16 of file zeta_tables.c.
void GetMu | ( | double | T, |
double | rho, | ||
double * | mu | ||
) |
Calculate the mean molecular weight for the case in which hydrogen fractions are estimated using Saha Equations.
[in] | T | Gas temperature in Kelvin. |
[in] | rho | Gas density (code units) |
[out] | mu | Mean molecular weight |
Reference
Definition at line 115 of file pvte_law_dAngelo.c.
|
static |
Compute degree of ionization and dissociation using Saha Equations. The quadratic equation ay^2 + by + c = 0 is solved using a = 1, c = -b (for hydrogen). A similar expression is used for Helium.
[in] | T | Gas temperature in Kelvin. |
[in] | rho | Gas density (in code units) |
[out] | fdeg | array of ionization/dissociation degrees. |
Reference
Definition at line 142 of file pvte_law_dAngelo.c.
double InternalEnergyFunc | ( | double * | v, |
double | T | ||
) |
Compute the gas internal energy as a function of temperature and fractions (or density):
rhoe = rhoe(T,rho)
in LTE or CIE; rhoe = rhoe(T,X)
in non-equilibrium chemistry.[in] | v | 1D Array of primitive variables containing density and species. Other variables are ignored. |
[in] | T | Gas temperature |
rhoe
) in code units. Definition at line 47 of file pvte_law_dAngelo.c.