Class eos_had_temp_base (o2scl)

O2scl : Class List

class eos_had_temp_base : public o2scl::eos_had_base

A finite temperature hadronic EOS [abstract base].

Subclassed by o2scl::eos_had_temp_eden_base, o2scl::eos_had_temp_pres_base

Computing finite-temperature integrals

fermion_rel def_fet

Default fermion thermodynamics object.

inline virtual void set_fermion_thermo(fermion_thermo &f)

Set the object for computing finite-temperature fermions (default is def_fet)

Basic usage

virtual int calc_e(fermion &n, fermion &p, thermo &th) = 0

Equation of state as a function of density.

virtual int calc_temp_e(fermion &n, fermion &p, double T, thermo &th) = 0

Equation of state as a function of densities at finite temperature.

virtual int calc_p(fermion &n, fermion &p, thermo &th) = 0

Equation of state as a function of the chemical potentials.

virtual int calc_temp_p(fermion &n, fermion &p, double T, thermo &th) = 0

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

Liquid-gas transition functions

virtual int calc_liqgas_dens_temp_e(fermion &n1, fermion &p1, fermion &n2, fermion &p2, double T, thermo &th1, thermo &th2)

Compute liquid-gas phase transition densities using eos_had_temp_base::calc_temp_e() .

At fixed baryon number density for n1, this determines the baryon number densities for p1, n2, and p2 which give chemical and mechanical equilibrium at a fixed temperature T. The thermodynamic quantities assuming bulk matter for each set is stored in th1 and th2.

virtual int calc_liqgas_temp_e(fermion &n1, fermion &p1, fermion &n2, fermion &p2, double nB, double Ye, double T, thermo &th1, thermo &th2, double &chi)

Compute the liquid-gas phase transition using eos_had_temp_base::calc_temp_e() .

At fixed baryon number density, nB, fixed electron fraction, Ye, and fixed temperature, T, this function determines the baryon number densities for n1, p1, n2, and p2 which give chemical and mechanical equilibrium. The thermodynamic quantities assuming bulk matter for each set is stored in th1 and th2, and the volume fraction of phase 1 is stored in chi.

virtual int calc_liqgas_beta_temp_e(fermion &n1, fermion &p1, fermion &n2, fermion &p2, double nB, double T, thermo &th1, thermo &th2, double &Ye, double &chi)

Compute the liquid-gas phase transition in beta-equilibrium using eos_had_temp_base::calc_temp_e() .

At fixed baryon number density, nB, and fixed temperature, T, this function determines the baryon number densities for n1, p1, n2, and p2 which give chemical and mechanical equilibrium assuming beta-equilibrium with electrons. The thermodynamic quantities assuming bulk matter for each set is stored in th1 and th2, the electron fraction is stored in Ye, and the volume fraction of phase 1 is stored in chi.

virtual double fesym_T(double nb, double T, double delta = 0.0)

Compute the symmetry energy at finite temperature.

virtual double fsyment_T(double nb, double T, double delta = 0.0)

Compute the symmetry entropy at finite temperature.

Helper functions

virtual double calc_temp_mun_e(double nn, double np, double T)

Neutron chemical potential as a function of the densities.

virtual double calc_temp_mup_e(double nn, double np, double T)

Proton chemical potential as a function of the densities.

virtual double calc_temp_nn_p(double mun, double mup, double T)

Neutron density as a function of the chemical potentials.

virtual double calc_temp_np_p(double mun, double mup, double T)

Proton density as a function of the chemical potentials.

double calc_fr(double nn, double np, double T)

Compute the free energy as a function of the temperature and the densities.

Susceptibilities

virtual void f_number_suscept_T(double mun, double mup, double T, double &dPdnn, double &dPdnp, double &dPdpp)

Compute the number susceptibilities as a function of the chemical potentials, \( \partial^2 P / \partial \mu_i \mu_j \) at a fixed temperature.

virtual void f_inv_number_suscept_T(double mun, double mup, double T, double &dednn, double &dednp, double &dedpp)

Compute the ‘inverse’ number susceptibilities as a function of the densities, \( \partial^2 \varepsilon / \partial n_i n_j \) at a fixed temperature.

Consistency check

void check_en(fermion &n, fermion &p, double T, thermo &th, double &en_deriv, double &en_err)

Check the entropy by computing the derivative numerically.

void check_mu_T(fermion &n, fermion &p, double T, thermo &th, double &mun_deriv, double &mup_deriv, double &mun_err, double &mup_err)

Check the chemical potentials at finite temperature by computing the derivative numerically.

Public Functions

inline eos_had_temp_base()
inline virtual ~eos_had_temp_base()

Protected Functions

int nuc_matter_temp_e(size_t nv, const ubvector &x, ubvector &y, double nn0, double np0, double T)

Solve for nuclear matter at finite temperature given density.

int nuc_matter_temp_p(size_t nv, const ubvector &x, ubvector &y, double mun0, double mup0, double T)

Solve for nuclear matter at finite temperature given mu.

int liqgas_dens_solve(size_t nv, const ubvector &x, ubvector &y, fermion &n1, fermion &p1, fermion &n2, fermion &p2, double T, thermo &th1, thermo &th2)

Solve for the liquid gas phase transition as a function of the densities.

int liqgas_solve(size_t nv, const ubvector &x, ubvector &y, fermion &n1, fermion &p1, fermion &n2, fermion &p2, double nB0, double Ye0, double T, thermo &th1, thermo &th2)

Solve for the liquid-gas phase transition at fixed baryon density and electron fraction.

int liqgas_beta_solve(size_t nv, const ubvector &x, ubvector &y, fermion &n1, fermion &p1, fermion &n2, fermion &p2, double nB0, double T, thermo &th1, thermo &th2, fermion &e)

Solve for the liquid-gas phase transition in beta-equilibrium.

double calc_entropy_delta(double delta, double nb, double T)

Compute the entropy.

double calc_dmu_delta_T(double delta, double nb, double T)

Compute the difference between the neutron and proton chemical potentials.

Protected Attributes

fermion_thermo *fet

Fermion thermodynamics (default is def_fet)