Zero-temperature EOS from a table. More...
This assumes a symmetry energy which depends quadratically on the isospin asymmetry in order to construct an EOS from a table of baryon density and energy per baryon for both nuclear and pure neutron matter.
Note: If using a tabulated EOS to compute derivatives (like the compressibility which effectively requires a second derivative), it is important to tabulated the EOS precisely enough to ensure that the derivatives are accurate. In the case of ensuring that the compressibility at saturation density is well reproduced, I have needed the EOS to be specified with at least 6 digits of precision on a grid at least as small as 0.002 .
Definition at line 55 of file eos_had_tabulated.h.
#include <eos_had_tabulated.h>
Public Member Functions | |
virtual int | calc_e (fermion &ne, fermion &pr, thermo &th) |
Equation of state as a function of density. | |
template<class vec_t > | |
int | set_eos (size_t n, vec_t &rho, vec_t &Enuc, vec_t &Eneut) |
Set the EOS through vectors specifying the densities and energies. | |
template<class vec_t > | |
int | set_eos (size_t n_nuc, vec_t &rho_nuc, vec_t &E_nuc, size_t n_neut, vec_t &rho_neut, vec_t &E_neut) |
Set the EOS through vectors specifying the densities and energies. | |
table & | get_nuc_table () |
Return the internal table. | |
table & | get_neut_table () |
Return the internal table. | |
![]() | |
virtual int | calc_p (fermion &n, fermion &p, thermo &th) |
Equation of state as a function of the chemical potentials. | |
![]() | |
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. More... | |
virtual double | fesym_slope (double nb, double delta=0.0) |
The symmetry energy slope parameter. More... | |
virtual double | fesym_curve (double nb, double delta=0.0) |
The curvature of the symmetry energy. | |
virtual double | fesym_skew (double nb, double delta=0.0) |
The skewness of the symmetry energy. | |
virtual double | fesym_diff (double nb) |
Calculate symmetry energy of matter as energy of neutron matter minus the energy of nuclear matter. More... | |
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 using calc_e() More... | |
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 effective mass. | |
virtual double | f_effm_prot (double nb, double delta=0.0) |
Proton 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=0.0) |
Vector effective mass. More... | |
virtual double | fn0 (double delta, double &leoa) |
Calculate saturation density using calc_e() More... | |
virtual void | saturation () |
Calculates some of the EOS properties at the saturation density. 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... | |
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 | 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_thermo (thermo &th) |
Set class thermo object. | |
virtual const thermo & | get_thermo () |
Get class thermo object. | |
Protected Member Functions | |
void | free_table () |
Free the table memory. | |
![]() | |
double | t1_fun (double barn) |
Compute t1 for gradient_qij(). | |
double | t2_fun (double barn) |
Compute t2 for gradient_qij(). | |
Protected Attributes | |
bool | table_alloc |
True if the table has been allocated. | |
bool | one_table |
If true, then tnuc and tneut point to the same table. | |
The EOS tables | |
table * | tnuc |
table * | tneut |
Strings for the column names | |
std::string | srho_nuc |
std::string | srho_neut |
std::string | snuc |
std::string | sneut |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
typedef boost::numeric::ublas::vector < double > | ubvector |
![]() | |
double | eoa |
Binding energy. | |
double | comp |
Compression modulus. | |
double | esym |
Symmetry energy. | |
double | n0 |
Saturation density. | |
double | msom |
Effective mass (neutron) | |
double | kprime |
Skewness. | |
fermion | def_neutron |
The defaut neutron. More... | |
fermion | def_proton |
The defaut proton. More... | |
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... | |
![]() | |
thermo | def_thermo |
The default thermo object. | |
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).
Hosted at
.