All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes
o2scl::eos_had_hlps Class Reference

Schematic EOS from Hebeler et al. More...

Detailed Description

From an energy per baryon of

\[ E/A = \left( 3 \pi^2 n_0/2 \right)^{2/3} \frac{1}{2 M} \left\{ \frac{3}{5} \left[ x^{5/3} + (1-x)^5/3 \right] (2 u)^{2/3}- [(2 \alpha - 4 \alpha_L) x (1-x)+\alpha_L] + \left[ (2 \eta - 4 \eta_L) x (1-x) + \eta_L \right] u^{\gamma} \right\} \]

One can fix the values of $ \alpha, \eta, $ and $ \gamma $ by the requirement that the pressure is zero at saturation and by fixing the binding energy and incompressibility.

Note that the original reference has a typo in the pressure in Eq. 3. The $ 2/5 $ factor in front should be $ 1/5 $ .

See Ref. Hebeler13 .

Definition at line 58 of file eos_had_hlps.h.

#include <eos_had_hlps.h>

Inheritance diagram for o2scl::eos_had_hlps:
o2scl::eos_had_eden_base o2scl::eos_had_base o2scl::eos_base

Public Member Functions

void fix_coeffs (double M, double B, double K)
 Fix 'alpha', 'eta' and 'gamma' from saturation properties. More...
 
void fix_neutron_matter (double M, double Eneut, double dEneut)
 Fix 'alphaL' and 'etaL' from neutron matter EOS and its derivative. More...
 
virtual int calc_e (fermion &ln, fermion &lp, thermo &lth)
 Equation of state as a function of density.
 
virtual const char * type ()
 Return string denoting type ("eos_had_hlps")
 
- Public Member Functions inherited from o2scl::eos_had_eden_base
virtual int calc_p (fermion &n, fermion &p, thermo &th)
 Equation of state as a function of the chemical potentials.
 
- Public Member Functions inherited from o2scl::eos_had_base
virtual double fcomp (double nb, double delta=0.0)
 Calculate the incompressibility in $ \mathrm{fm}^{-1} $ using calc_e() More...
 
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 $ \mathrm{fm}^{-1} $ using calc_e() More...
 
virtual double fesym (double nb, double delta=0.0)
 Calculate symmetry energy of matter in $ \mathrm{fm}^{-1} $ using calc_dmu_delta() . More...
 
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...
 
- Public Member Functions inherited from o2scl::eos_base
virtual void set_thermo (thermo &th)
 Set class thermo object.
 
virtual const thermoget_thermo ()
 Get class thermo object.
 

Data Fields

Constants (all unitless)
double gamma
 
double alpha
 
double eta
 
double alphaL
 
double etaL
 
- Data Fields inherited from o2scl::eos_had_base
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...
 
- Data Fields inherited from o2scl::eos_base
thermo def_thermo
 The default thermo object.
 

Protected Attributes

quadratic_real_coeff_gsl quad
 To solve quadratic equation for 'gamma'.
 
- Protected Attributes inherited from o2scl::eos_had_base
mrooteos_mroot
 The EOS solver.
 
rootsat_root
 The solver to compute saturation properties.
 
deriv_basesat_deriv
 The derivative object for saturation properties.
 
deriv_basesat_deriv2
 The second derivative object for saturation properties.
 
fermionneutron
 The neutron object.
 
fermionproton
 The proton object.
 
- Protected Attributes inherited from o2scl::eos_base
thermoeos_thermo
 A pointer to the thermo object.
 

Additional Inherited Members

- Public Types inherited from o2scl::eos_had_base
typedef
boost::numeric::ublas::vector
< double > 
ubvector
 
- Protected Member Functions inherited from o2scl::eos_had_base
double t1_fun (double barn)
 Compute t1 for gradient_qij().
 
double t2_fun (double barn)
 Compute t2 for gradient_qij().
 

Member Function Documentation

void o2scl::eos_had_hlps::fix_coeffs ( double  M,
double  B,
double  K 
)

All inputs must be in $ \mathrm{fm}^{-1} $. This employs a simple iterative method that may not always converge.

void o2scl::eos_had_hlps::fix_neutron_matter ( double  M,
double  Eneut,
double  dEneut 
)

The parameters M and Eneut must be in $ \mathrm{fm}^{-1} $ and dEneut must be in $ \mathrm{fm}^{2} $


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).
Hosted at Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads..