Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::eos_had_potential Class Reference

Generalized potential model equation of state. More...

#include <eos_had_potential.h>

Inheritance diagram for o2scl::eos_had_potential:
o2scl::eos_had_eden_base o2scl::eos_had_base o2scl::eos_base o2scl::eos_had_sym4_mdi

Public Member Functions

virtual int calc_e (fermion &ne, fermion &pr, thermo &lt)
 Equation of state as a function of density.
 
int set_mu_deriv (deriv_base<> &de)
 Set the derivative object to calculate the chemical potentials.
 
virtual const char * type ()
 Return string denoting type ("eos_had_potential")
 
- 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 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 $.
 
virtual void 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...
 
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

int form
 Form of potential.
 
deriv_gsl def_mu_deriv
 The default derivative object for calculating chemical potentials.
 
The parameters for the various interactions
double x
 
double Au
 
double Al
 
double rho0
 
double B
 
double sigma
 
double Cl
 
double Cu
 
double Lambda
 
double A
 
double x0
 
double x3
 
double Bp
 
double C1
 
double z1
 
double Lambda2
 
double C2
 
double z2
 
double bpal_esym
 
int sym_index
 
- 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.
 

Static Public Attributes

static const int mdi_form =1
 The "momentum-dependent-interaction" form from Das03.
 
static const int bgbd_form =2
 The modifed GBD form.
 
static const int bpal_form =3
 The form from Prakash88 as formulated in Bombaci01.
 
static const int sl_form =4
 The "SL" form. See Bombaci01.
 
static const int gbd_form =5
 The Gale, Bertsch, Das Gupta from Gale87.
 
static const int pal_form =6
 The form from Prakash88.
 

Protected Member Functions

double mom_integral (double pft, double pftp)
 Compute the momentum integral for mdi_form.
 
double energy (double x)
 Compute the energy.
 
- 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().
 

Protected Attributes

fermion_nonrel nrf
 Non-relativistic fermion thermodyanmics.
 
bool mu_deriv_set
 True of the derivative object has been set.
 
deriv_basemu_deriv_ptr
 The derivative object.
 
- 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.
 

The mode for the energy() function [protected]

int mode
 
static const int nmode =1
 
static const int pmode =2
 
static const int normal =0
 

Additional Inherited Members

- Public Types inherited from o2scl::eos_had_base
typedef boost::numeric::ublas::vector< double > ubvector
 

Detailed Description

The single particle energy is defined by the functional derivative of the energy density with respect to the distribution function

\[ e_{\tau} = \frac{\delta \varepsilon}{\delta f_{\tau}} \]

The effective mass is defined by

\[ \frac{m^{*}}{m} = \left( \frac{m}{k} \frac{d e_{\tau}}{d k} \right)^{-1}_{k=k_F} \]

In all of the models, the kinetic energy density is $\tau_n+\tau_p$ where

\[ \tau_i = \frac{2}{(2 \pi)^3} \int d^3 k~ \left(\frac{k^2}{2 m}\right)f_i(k,T) \]

and the number density is

\[ \rho_i = \frac{2}{(2 \pi)^3} \int d^3 k~f_i(k,T) \]

When form is equal to mdi_form or gbd_form, the potential energy density is given by Das03 :

\[ V(\rho,\delta) = \frac{Au}{\rho_0} \rho_n \rho_p + \frac{A_l}{2 \rho_0} \left(\rho_n^2+\rho_p^2\right)+ \frac{B}{\sigma+1} \frac{\rho^{\sigma+1}}{\rho_0^{\sigma}} \left(1-x \delta^2\right)+V_{mom}(\rho,\delta) \]

where $\delta=1-2 \rho_p/(\rho_n+\rho_p)$. If form is equal to mdi_form, then

\[ V_{mom}(\rho,\delta)= \frac{1}{\rho_0} \sum_{\tau,\tau^{\prime}} C_{\tau,\tau^{\prime}} \int \int d^3 k d^3 k^{\prime} \frac{f_{\tau}(\vec{k}) f_{{\tau}^{\prime}} (\vec{k}^{\prime})} {1-(\vec{k}-\vec{k}^{\prime})^2/\Lambda^2} \]

where $C_{1/2,1/2}=C_{-1/2,-1/2}=C_{\ell}$ and $C_{1/2,-1/2}=C_{-1/2,1/2}=C_{u}$. Later parameterizations in this form are given in Chen05.

Otherwise if form is equal to gbd_form, then

\[ V_{mom}(\rho,\delta)= \frac{1}{\rho_0}\left[ C_{\ell} \left( \rho_n g_n + \rho_p g_p \right)+ C_u \left( \rho_n g_p + \rho_p g_n \right) \right] \]

where

\[ g_i=\frac{\Lambda^2}{\pi^2}\left[ k_{F,i}-\Lambda \mathrm{tan}^{-1} \left(k_{F,i}/\Lambda\right) \right] \]

Otherwise, if form is equal to bgbd_form, bpal_form or sl_form, then the potential energy density is given by Bombaci01 :

\[ V(\rho,\delta) = V_A+V_B+V_C \]

\[ V_A = \frac{2 A}{3 \rho_0} \left[ \left(1+\frac{x_0}{2}\right)\rho^2- \left(\frac{1}{2}+x_0\right)\left(\rho_n^2+\rho_p^2\right)\right] \]

\[ V_B=\frac{4 B}{3 \rho_0^{\sigma}} \frac{T}{1+4 B^{\prime} T / \left(3 \rho_0^{\sigma-1} \rho^2\right)} \]

where

\[ T = \rho^{\sigma-1} \left[ \left( 1+\frac{x_3}{2} \right) \rho^2 - \left(\frac{1}{2}+x_3\right)\left(\rho_n^2+\rho_p^2\right)\right] \]

The term $V_C$ is:

\[ V_C=\sum_{i=1}^{i_{\mathrm{max}}} \frac{4}{5} \left(C_{i}+2 z_i\right) \rho (g_{n,i}+g_{p,i})+\frac{2}{5}\left(C_i -8 z_i\right) (\rho_n g_{n,i} + \rho_p g_{p,i}) \]

where

\[ g_{\tau,i} = \frac{2}{(2 \pi)^3} \int d^3 k f_{\tau}(k,T) g_i(k) \]

For form is equal to bgbd_form or form is equal to bpal_form, the form factor is given by

\[ g_i(k) = \left(1+\frac{k^2}{\Lambda_i^2}\right)^{-1} \]

while for form is equal to sl_form, the form factor is given by

\[ g_i(k) = 1-\frac{k^2}{\Lambda_i^2} \]

where $\Lambda_1$ is specified in the parameter Lambda when necessary.

Bug:
The BGBD and SL EOSs do not work.
Idea for Future:
Calculate the chemical potentials analytically.

Definition at line 158 of file eos_had_potential.h.


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