Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | List of all members
o2scl::eos_had_rmf_delta Class Reference

Field-theoretical EOS with scalar-isovector meson, $ \delta $. More...

#include <eos_had_rmf_delta.h>

Inheritance diagram for o2scl::eos_had_rmf_delta:
o2scl::eos_had_rmf o2scl::eos_had_temp_pres_base o2scl::eos_had_temp_base o2scl::eos_had_base o2scl::eos_base

Public Member Functions

virtual int calc_e (fermion &ne, fermion &pr, thermo &lth)
 Equation of state as a function of density.
 
virtual int calc_p (fermion &neu, fermion &p, double sig, double ome, double rho, double delta, double &f1, double &f2, double &f3, double &f4, thermo &th)
 Equation of state as a function of chemical potentials.
 
int calc_temp_p (fermion &ne, fermion &pr, double temper, double sig, double ome, double lrho, double delta, double &f1, double &f2, double &f3, double &f4, thermo &lth)
 Finite temperature (unfinished)
 
virtual int set_fields (double sig, double ome, double lrho, double delta)
 Set a guess for the fields for the next call to calc_e(), calc_p(), or saturation()
 
virtual void saturation ()
 Calculate saturation properties for nuclear matter at the saturation density. More...
 
- Public Member Functions inherited from o2scl::eos_had_rmf
virtual const char * type ()
 Return string denoting type ("eos_had_rmf")
 
virtual int calc_p (fermion &ne, fermion &pr, thermo &lth)
 Equation of state as a function of chemical potential. More...
 
virtual int calc_eq_p (fermion &neu, fermion &p, double sig, double ome, double rho, double &f1, double &f2, double &f3, thermo &th)
 Equation of state and meson field equations as a function of chemical potentials. More...
 
virtual int calc_eq_temp_p (fermion &ne, fermion &pr, double temper, double sig, double ome, double rho, double &f1, double &f2, double &f3, thermo &th)
 Equation of state and meson field equations as a function of chemical potentials at finite temperature. More...
 
virtual int calc_temp_p (fermion &ne, fermion &pr, double T, thermo &lth)
 Equation of state as a function of chemical potential. More...
 
int calc_temp_e (fermion &ne, fermion &pr, double T, thermo &lth)
 Equation of state as a function of densities at finite temperature.
 
int fix_saturation (double guess_cs=4.0, double guess_cw=3.0, double guess_b=0.001, double guess_c=-0.001)
 Calculate cs, cw, cr, b, and c from the saturation properties. More...
 
double fesym_fields (double sig, double ome, double nb)
 Calculate symmetry energy assuming the field equations have already been solved. More...
 
double fcomp_fields (double sig, double ome, double nb)
 Calculate the compressibility assuming the field equations have already been solved. More...
 
void fkprime_fields (double sig, double ome, double nb, double &k, double &kprime)
 Calculate compressibilty and kprime assuming the field equations have already been solved. More...
 
int field_eqs (size_t nv, const ubvector &x, ubvector &y)
 A function for solving the field equations. More...
 
int field_eqsT (size_t nv, const ubvector &x, ubvector &y)
 A function for solving the field equations at finite temperature. More...
 
int get_fields (double &sig, double &ome, double &lrho)
 Return the most recent values of the meson fields. More...
 
void check_naturalness (eos_had_rmf &re)
 Set the coefficients of a eos_had_rmf object to their limits from naturalness. More...
 
void naturalness_limits (double value, eos_had_rmf &re)
 Provide the maximum values of the couplings assuming a limit on naturalness. More...
 
virtual int set_sat_mroot (mroot< mm_funct11, ubvector, jac_funct11 > &mrx)
 Set class mroot object for use calculating saturation density.
 
- Public Member Functions inherited from o2scl::eos_had_temp_base
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, $ \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.
 
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_eval_thermo (fermion_eval_thermo &f)
 Computing finite-temperature integrals. More...
 
- 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 in $ \mathrm{fm}^{-1} $. More...
 
virtual double fesym_slope (double nb, double delta=0.0)
 The symmetry energy slope parameter in $ \mathrm{fm}^{-1} $. More...
 
virtual double fesym_curve (double nb, double delta=0.0)
 The curvature of the symmetry energy in $ \mathrm{fm}^{-1} $.
 
virtual double fesym_skew (double nb, double delta=0.0)
 The skewness of the symmetry energy in $ \mathrm{fm}^{-1} $.
 
virtual double fesym_diff (double nb)
 Calculate symmetry energy of matter as energy of neutron matter minus the energy of nuclear matter in $ \mathrm{fm}^{-1} $. 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 in $ \mathrm{fm}^{-1} $ 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 (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, $ \partial^2 P / \partial \mu_i \mu_j $.
 
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, $ \partial^2 \varepsilon / \partial n_i n_j $.
 
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...
 
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...
 
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.
 
- 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.
 

Public Attributes

double md
 The mass of the scalar-isovector field.
 
double cd
 The coupling of the scalar-isovector field to the nucleons.
 
double del
 The value of the scalar-isovector field.
 
- Public Attributes inherited from o2scl::eos_had_rmf
size_t calc_e_steps
 The number of separate calls to the solver that the calc_e functions take (default 20) More...
 
bool calc_e_relative
 If true, solve for relative densities rather than absolute densities (default false) More...
 
bool zm_mode
 Modifies method of calculating effective masses (default false)
 
int verbose
 Verbosity parameter. More...
 
bool err_nonconv
 If true, throw exceptions when the function calc_e() does not converge (default true)
 
double mnuc
 The scale $ M $. More...
 
double ms
 $ \sigma $ mass (in $ \mathrm{fm}^{-1} $ )
 
double mw
 $ \omega $ mass (in $ \mathrm{fm}^{-1} $ )
 
double mr
 $ \rho $ mass (in $ \mathrm{fm}^{-1} $ )
 
double cs
 
double cw
 
double cr
 
double b
 
double c
 
double zeta
 
double xi
 
double a1
 
double a2
 
double a3
 
double a4
 
double a5
 
double a6
 
double b1
 
double b2
 
double b3
 
mroot_hybrids def_sat_mroot
 The default solver for calculating the saturation density. More...
 
- Public Attributes inherited from o2scl::eos_had_temp_base
fermion_eff def_fet
 Default fermion thermodynamics object.
 
- Public Attributes inherited from o2scl::eos_had_base
double eoa
 Binding energy (without the rest mass) in $ \mathrm{fm}^{-1} $.
 
double comp
 Compression modulus in $ \mathrm{fm}^{-1} $.
 
double esym
 Symmetry energy in $ \mathrm{fm}^{-1} $.
 
double n0
 Saturation density in $ \mathrm{fm}^{-3} $.
 
double msom
 Effective mass (neutron)
 
double kprime
 Skewness in $ \mathrm{fm}^{-1} $.
 
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...
 
- Public Attributes inherited from o2scl::eos_base
thermo def_thermo
 The default thermo object.
 

Protected Member Functions

virtual int calc_e_solve_fun (size_t nv, const ubvector &ex, ubvector &ey)
 The function for calc_e()
 
virtual int zero_pressure (size_t nv, const ubvector &ex, ubvector &ey)
 Compute matter at zero pressure (for saturation())
 
- Protected Member Functions inherited from o2scl::eos_had_rmf
int fix_saturation_fun (size_t nv, const ubvector &x, ubvector &y)
 The function for fix_saturation()
 
virtual int calc_temp_e_solve_fun (size_t nv, const ubvector &ex, ubvector &ey)
 The function for calc_temp_e()
 
int calc_cr (double sig, double ome, double nb)
 Calculate the cr coupling given sig and ome at the density 'nb'. More...
 
- Protected Member Functions inherited from o2scl::eos_had_temp_base
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 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().
 

Private Member Functions

virtual int set_fields (double sig, double ome, double lrho)
 Forbid setting the guesses to the fields unless all four fields are specified.
 

Additional Inherited Members

- Public Types inherited from o2scl::eos_had_base
typedef boost::numeric::ublas::vector< double > ubvector
 
- Protected Attributes inherited from o2scl::eos_had_rmf
double n_baryon
 Temporary baryon density.
 
double n_charge
 Temporary charge density. More...
 
double fe_temp
 Temperature for solving field equations at finite temperature.
 
bool ce_neut_matter
 For calc_e(), if true, then solve for neutron matter.
 
bool ce_prot_matter
 For calc_e(), if true, then solve for proton matter.
 
bool guess_set
 True if a guess for the fields has been given.
 
mroot< mm_funct11, ubvector, jac_funct11 > * sat_mroot
 The solver to compute saturation properties.
 
double ce_temp
 Temperature storage for calc_temp_e()
 
double sigma
 
double omega
 
double rho
 
- Protected Attributes inherited from o2scl::eos_had_temp_base
fermion_eval_thermofet
 Fermion thermodynamics (default is def_fet)
 
- 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.
 

Detailed Description

This essentially follows the notation in Kubis97, except that our definitions of b and c follow their $ \bar{b} $ and $ \bar{c} $, respectively.

Also discussed in Gaitanos04, where they take $ m_{\delta}=980 $ MeV.

The full Lagragian is:

\[ {\cal L} = {\cal L}_{Dirac} + {\cal L}_{\sigma} + {\cal L}_{\omega} + {\cal L}_{\rho} + {\cal L}_{\delta} \]

\begin{eqnarray*} {\cal L}_{Dirac} &=& \bar{\Psi} \left[ i {{\partial}\!\!\!{\slash}} - g_{\omega} {{\omega}\!\!\!{\slash}} - \frac{g_{\rho}}{2} {{\vec{\rho}}\!\!\!{\slash}}~ \vec{\tau} - M + g_{\sigma} \sigma - \frac{e}{2} \left( 1 + \tau_3 \right) A_{\mu} \right] \Psi \nonumber \\ {\cal L}_{\sigma} &=& {\textstyle \frac{1}{2}} \left( \partial_{\mu} \sigma \right)^2 - {\textstyle \frac{1}{2}} m^2_{\sigma} \sigma^2 - \frac{b M}{3} \left( g_{\sigma} \sigma\right)^3 - \frac{c}{4} \left( g_{\sigma} \sigma\right)^4 \nonumber \\ {\cal L}_{\omega} &=& - {\textstyle \frac{1}{4}} f_{\mu \nu} f^{\mu \nu} + {\textstyle \frac{1}{2}} m^2_{\omega}\omega^{\mu}\omega_{\mu} + \frac{\zeta}{24} g_{\omega}^4 \left(\omega^\mu \omega_\mu\right)^2 \nonumber \\ {\cal L}_{\rho} &=& - {\textstyle \frac{1}{4}} \vec{B}_{\mu \nu} \cdot \vec{B}^{\mu \nu} + {\textstyle \frac{1}{2}} m^2_{\rho} \vec{\rho}^{~\mu} \cdot \vec{\rho}_{~\mu} + \frac{\xi}{24} g_{\rho}^4 \left(\vec{\rho}^{~\mu}\right) \cdot \vec{\rho}_{~\mu} + g_{\rho}^2 f (\sigma, \omega) \vec{\rho}^{~\mu} \cdot \vec{\rho}_{~\mu} \nonumber \\ \end{eqnarray*}

where the additional terms are

\[ {\cal L}_{\delta} = \bar{\Psi} \left( g_{\delta} \vec{\delta} \cdot \vec{\tau} \right) \Psi + \frac{1}{2} (\partial_{\mu} \vec{\delta})^2 - \frac{1}{2} m_{\delta}^2 \vec{\delta}^{~2} \]

The new field equation for the delta meson is

\[ m_{\delta}^2 \delta = g_{\delta} (n_{s,p} - n_{s,n}) \]

Idea for Future:
Finish the finite temperature EOS

Definition at line 95 of file eos_had_rmf_delta.h.

Member Function Documentation

◆ saturation()

virtual void o2scl::eos_had_rmf_delta::saturation ( )
virtual

This requires initial guesses to the chemical potentials, etc.

Reimplemented from o2scl::eos_had_rmf.


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).