Class eos_crust_virial (o2scl)

O2scl : Class List

class eos_crust_virial : public o2scl::eos_had_temp_pres_base

Virial EOS for neutrons, protons, deuterons, and alpha particles.

Virial EOS from [Horowitz06] and [Horowitz06b].

Note

This class likely fails for temperatures smaller than 1 MeV and larger than 20 MeV.

Warning

This class is implemented as a o2scl::eos_had_temp_pres_base object because it might be helpful to be able to use o2scl::eos_had_temp_pres_base::calc_temp_e(), but because of the alpha particles and deuterons, some of the other o2scl::eos_had_base methods don’t have the correct interpretation.

Interpolation objects for virial coefficients

std::vector<double> Tv
std::vector<double> bnv
std::vector<double> Tbnpv
std::vector<double> bpnv
std::vector<double> Tbpnpv
std::vector<double> banv
std::vector<double> Tbanpv
std::vector<double> bav
std::vector<double> Tbapv
interp_vec<std::vector<double>> ibn
interp_vec<std::vector<double>> iTbnp
interp_vec<std::vector<double>> ibpn
interp_vec<std::vector<double>> iTbpnp
interp_vec<std::vector<double>> iban
interp_vec<std::vector<double>> iTbanp
interp_vec<std::vector<double>> iba
interp_vec<std::vector<double>> iTbap
boson alpha

Internal alpha particle.

boson deuteron

Internal deuteron.

eos_crust_virial()
inline virtual ~eos_crust_virial()
inline virtual int calc_p(fermion &ne, fermion &pr, thermo &th)

Equation of state as a function of the chemical potentials.

The virial coefficients and their temperature derivatives

These functions assume that the temperature is specified in MeV. Note that the temperature derivative functions are multiplied by the temperature after taking the derivative to make them unitless (as in Horowitz et al. (2006)), thus all of these functions return values without units.

virtual double bn(double T)
virtual double ban(double T)
virtual double ba(double T)
virtual double bpn(double T)
virtual double Tbn_prime(double T)
virtual double Tban_prime(double T)
virtual double Tba_prime(double T)
virtual double Tbpn_prime(double T)
virtual int calc_temp_p(fermion &n, fermion &p, double T, thermo &th)

Equation of state as a function of the chemical potentials at finite temperature.

As in o2scl::eos_had_temp_base::calc_temp_p() the temperature argument should be in \( \mathrm{fm}^{-1} \), even though the virial coefficient functions take their temperature arguments in MeV.

virtual int calc_temp_p_alpha(fermion &n, fermion &p, boson &d, boson &a, double T, thermo &th)

Equation of state as a function of the chemical potentials at finite temperature with alpha particles and deuterons.

void fit()

Fit the virial coefficients to analytical functions.