Virial EOS for neutrons, protons, deuterons, and alpha particles. More...
#include <eos_crust_virial.h>
Virial EOS from Horowitz06 and Horowitz06b .
Definition at line 56 of file eos_crust_virial.h.
Public Member Functions | |
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 Horowitz06), 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. More... | |
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. | |
![]() | |
virtual int | calc_e (fermion &n, fermion &p, thermo &th) |
Equation of state as a function of density. | |
virtual int | calc_temp_e (fermion &n, fermion &p, double T, thermo &th) |
Equation of state as a function of densities at finite temperature. | |
![]() | |
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() . More... | |
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() . More... | |
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() . More... | |
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. | |
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. | |
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, ![]() | |
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, ![]() | |
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. | |
virtual void | set_fermion_thermo (fermion_thermo &f) |
Computing finite-temperature integrals. More... | |
![]() | |
virtual double | fcomp (double nb, double delta=0.0) |
Calculate the incompressibility in ![]() | |
virtual double | fcomp_err (double nb, double delta, double &unc) |
Compute the incompressibility and its uncertainty. More... | |
virtual double | feoa (double nb, double delta=0.0) |
Calculate the energy per baryon in ![]() | |
virtual double | fesym (double nb, double delta=0.0) |
Calculate symmetry energy of matter in ![]() | |
virtual double | fesym_err (double nb, double delta, double &unc) |
Calculate symmetry energy of matter and its uncertainty in ![]() | |
virtual double | fesym_slope (double nb, double delta=0.0) |
The symmetry energy slope parameter in ![]() | |
virtual double | fesym_curve (double nb, double delta=0.0) |
The curvature of the symmetry energy in ![]() | |
virtual double | fesym_skew (double nb, double delta=0.0) |
The skewness of the symmetry energy in ![]() | |
virtual double | fesym_diff (double nb) |
Calculate symmetry energy of matter as energy of neutron matter minus the energy of nuclear matter in ![]() | |
virtual double | feta (double nb) |
The strength parameter for quartic terms in the symmetry energy. | |
virtual double | feta_prime (double nb) |
The derivative of the strength parameter for quartic terms in the symmetry energy. | |
virtual double | fkprime (double nb, double delta=0.0) |
Calculate skewness of nuclear matter in ![]() | |
virtual double | fmsom (double nb, double delta=0.0) |
Calculate reduced neutron effective mass using calc_e() More... | |
virtual double | f_effm_neut (double nb, double delta=0.0) |
Neutron (reduced) effective mass. | |
virtual double | f_effm_prot (double nb, double delta=0.0) |
Proton (reduced) effective mass. | |
virtual double | f_effm_scalar (double nb, double delta=0.0) |
Scalar effective mass. More... | |
virtual double | f_effm_vector (double nb, double delta=1.0) |
Vector effective mass. More... | |
virtual double | fn0 (double delta, double &leoa) |
Calculate saturation density using calc_e() More... | |
virtual void | f_number_suscept (double mun, double mup, double &dPdnn, double &dPdnp, double &dPdpp) |
Compute the number susceptibilities as a function of the chemical potentials, ![]() | |
virtual void | f_inv_number_suscept (double mun, double mup, double &dednn, double &dednp, double &dedpp) |
Compute the 'inverse' number susceptibilities as a function of the densities, ![]() | |
virtual int | saturation () |
Calculates some of the EOS properties at the saturation density. More... | |
double | calc_mun_e (double nn, double np) |
Compute the neutron chemical potential at fixed density. More... | |
double | calc_ed (double nn, double np) |
Compute the energy density as a function of the nucleon densities. | |
double | calc_pr (double nn, double np) |
Compute the pressure as a function of the nucleon chemical potentials. | |
double | calc_mup_e (double nn, double np) |
Compute the proton chemical potential at fixed density. More... | |
double | calc_nn_p (double mun, double mup) |
Compute the neutron density at fixed chemical potential. More... | |
double | calc_np_p (double mun, double mup) |
Compute the proton density at fixed chemical potential. More... | |
double | calc_dmu_delta (double delta, double nb) |
Compute the difference between neutron and proton chemical potentials as a function of the isospin asymmetry. More... | |
double | calc_musum_delta (double delta, double nb) |
Compute the sum of the neutron and proton chemical potentials as a function of the isospin asymmetry. More... | |
double | calc_pressure_nb (double nb, double delta=0.0) |
Compute the pressure as a function of baryon density at fixed isospin asymmetry. More... | |
double | calc_edensity_nb (double nb, double delta=0.0) |
Compute the energy density as a function of baryon density at fixed isospin asymmetry. More... | |
void | const_pf_derivs (double nb, double pf, double &dednb_pf, double &dPdnb_pf) |
Compute derivatives at constant proton fraction. | |
double | calc_press_over_den2 (double nb, double delta=0.0) |
Calculate pressure / baryon density squared in nuclear matter as a function of baryon density at fixed isospin asymmetry. More... | |
double | calc_edensity_delta (double delta, double nb) |
Calculate energy density as a function of the isospin asymmetry at fixed baryon density. More... | |
int | nuc_matter_p (size_t nv, const ubvector &x, ubvector &y, double nn0, double np0) |
Solve for the chemical potentials given the densities. More... | |
int | nuc_matter_e (size_t nv, const ubvector &x, ubvector &y, double mun0, double mup0) |
Solve for the densities given the chemical potentials. More... | |
void | gradient_qij (fermion &n, fermion &p, thermo &th, double &qnn, double &qnp, double &qpp, double &dqnndnn, double &dqnndnp, double &dqnpdnn, double &dqnpdnp, double &dqppdnn, double &dqppdnp) |
Calculate coefficients for gradient part of Hamiltonian. More... | |
virtual const char * | type () |
Return string denoting type ("eos_had_base") | |
virtual void | set_mroot (mroot<> &mr) |
Set class mroot object for use in calculating chemical potentials from densities. More... | |
virtual void | set_sat_root (root<> &mr) |
Set class mroot object for use calculating saturation density. More... | |
virtual void | set_sat_deriv (deriv_base<> &de) |
Set deriv_base object to use to find saturation properties. | |
virtual void | set_sat_deriv2 (deriv_base<> &de) |
Set the second deriv_base object to use to find saturation properties. More... | |
virtual void | set_n_and_p (fermion &n, fermion &p) |
Set neutron and proton. | |
void | check_mu (fermion &n, fermion &p, thermo &th, double &mun_deriv, double &mup_deriv, double &mun_err, double &mup_err) |
Check the chemical potentials by computing the derivatives numerically. | |
void | check_den (fermion &n, fermion &p, thermo &th, double &nn_deriv, double &np_deriv, double &nn_err, double &np_err) |
Check the densities by computing the derivatives numerically. | |
![]() | |
virtual void | set_thermo (thermo &th) |
Set class thermo object. | |
virtual const thermo & | get_thermo () |
Get class thermo object. | |
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 () | |
virtual | ~eos_crust_virial () |
virtual int | calc_p (fermion &ne, fermion &pr, thermo &th) |
Equation of state as a function of the chemical potentials. | |
Additional Inherited Members | |
![]() | |
typedef boost::numeric::ublas::vector< double > | ubvector |
![]() | |
fermion_eff | def_fet |
Default fermion thermodynamics object. | |
![]() | |
double | eoa |
Binding energy (without the rest mass) in ![]() | |
double | comp |
Compression modulus in ![]() | |
double | esym |
Symmetry energy in ![]() | |
double | n0 |
Saturation density in ![]() | |
double | msom |
Effective mass (neutron) | |
double | kprime |
Skewness in ![]() | |
bool | err_nonconv |
If true, call the error handler if msolve() or msolve_de() does not converge (default true) | |
deriv_gsl | def_deriv |
The default object for derivatives. More... | |
deriv_gsl | def_deriv2 |
The second default object for derivatives. More... | |
mroot_hybrids | def_mroot |
The default solver. More... | |
root_cern | def_sat_root |
The default solver for calculating the saturation density. More... | |
fermion | def_neutron |
The defaut neutron. More... | |
fermion | def_proton |
The defaut proton. More... | |
![]() | |
thermo | def_thermo |
The default thermo object. | |
![]() | |
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. More... | |
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. More... | |
![]() | |
double | t1_fun (double barn) |
Compute t1 for gradient_qij(). | |
double | t2_fun (double barn) |
Compute t2 for gradient_qij(). | |
![]() | |
fermion_thermo * | fet |
Fermion thermodynamics (default is def_fet) | |
![]() | |
mroot * | eos_mroot |
The EOS solver. | |
root * | sat_root |
The solver to compute saturation properties. | |
deriv_base * | sat_deriv |
The derivative object for saturation properties. | |
deriv_base * | sat_deriv2 |
The second derivative object for saturation properties. | |
fermion * | neutron |
The neutron object. | |
fermion * | proton |
The proton object. | |
![]() | |
thermo * | eos_thermo |
A pointer to the thermo object. | |
|
virtual |
As in o2scl::eos_had_temp_base::calc_temp_p() the temperature argument should be in , even though the virial coefficient functions take their temperature arguments in MeV.
Implements o2scl::eos_had_temp_pres_base.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).