Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::eos_crust Class Reference

Baym-Pethick-Sutherland equation of state. More...

#include <eos_crust.h>

Inheritance diagram for o2scl::eos_crust:
o2scl::eos_base

Public Types

typedef boost::numeric::ublas::vector< double > ubvector
 

Public Member Functions

virtual int calc_density (double barn, thermo &th, int &Z, int &A)
 Calculate the equation of state as a function of the baryon number density barn. More...
 
virtual int calc_pressure (thermo &th, double &barn, int &Z, int &A)
 Calculate the equation of state as a function of the pressure. More...
 
virtual double lattice_energy (int Z)
 The electron lattice energy.
 
virtual const fermionget_electron ()
 Get a pointer to the electron.
 
virtual double mass_formula (int Z, int A)
 The mass formula. More...
 
virtual const char * type ()
 Return string denoting type ("eos_crust")
 
int set_mass_formula (nucmass &nm)
 Set the nuclear mass formula to be used.
 
int calc_density_fixedA (double barn, thermo &th, int &Z, int A)
 Compute the ground state assuming a fixed atomic number.
 
- 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

nucmass_semi_empirical def_mass
 Default mass formula.
 
fermion e
 The electron thermodynamics. More...
 
- Public Attributes inherited from o2scl::eos_base
thermo def_thermo
 The default thermo object.
 

Protected Member Functions

virtual int eq274 (size_t nv, const ubvector &nx, ubvector &ny, int &Zt)
 Solve Equation 2.7.4 for a given pressure.
 
double gibbs (int Z, int A)
 The Gibbs free energy.
 
double energy (double barn, int Z, int A)
 The energy density.
 

Protected Attributes

fermion_zerot fzt
 Zero-temperature thermodynamics for the electrons.
 
mroot_hybrids< mm_funct11gs
 A solver to solve Eq. 2.7.4.
 
nucmassnmp
 The nuclear mass formula.
 
- Protected Attributes inherited from o2scl::eos_base
thermoeos_thermo
 A pointer to the thermo object.
 

Detailed Description

This calculates the equation of state of electrons and nuclei using the approach of Baym71tg (based on the discussion in Shapiro83) between about $8 \times 10^{6} ~\mathrm{g}/\mathrm{cm}^3$ and $4.3 \times 10^{11} ~\mathrm{g}/\mathrm{cm}^3$. Below these densities, more complex Coulomb corrections need to be considered, and above these densities, neutron drip is important.

The default mass formula is semi-empirical

\begin{eqnarray*} M(A,Z)&=&(A-Z) m_n+Z (m_p+m_e)- 15.76 A-17.81 A^{2/3} \\ && -0.71 Z^2 /A^{1/3}- 94.8/A \left(A/2-Z\right)^2+E_{\mathrm{pair}} \end{eqnarray*}

where

\[ E_{\mathrm{pair}} = \pm 39/A^{3/4} \]

if the nucleus is odd-odd (plus sign) or even-even (minus sign) and $E_{\mathrm{pair}}$ is zero for odd-even and even-odd nuclei. The nuclei are assumed not to contribute to the pressure. The electronic contribution to the pressure is assumed to be equal to the Fermi gas contribution plus a "lattice" contribution

\[ \varepsilon_L = -1.444 Z^{2/3} e^2 n_e^{4/3} \]

This is Eq. 2.7.2 in Shapiro83. The rest mass energy of the nucleons is included in the energy density.

The original results from Baym71tg are stored as a table in file data/o2scl/bps.eos. The testing code for this class compares the calculations to the table and matches to within .2 percent for the energy density and 9 percent for the pressure (for a fixed baryon number density).

Idea for Future:

Can the pressure be made to match more closely?

Convert to a o2scl::eos_had_base object and offer an associated interface?

Definition at line 84 of file eos_crust.h.

Member Function Documentation

◆ calc_density()

virtual int o2scl::eos_crust::calc_density ( double  barn,
thermo th,
int &  Z,
int &  A 
)
virtual

This calculates the equation of state as a function of the baryon number density in $\mathrm{fm}^{-3}$, returning the representative nucleus with proton number Z and atomic number A. The pressure and energy density are returned in th in $\mathrm{fm}^{-4}$.

◆ calc_pressure()

virtual int o2scl::eos_crust::calc_pressure ( thermo th,
double &  barn,
int &  Z,
int &  A 
)
virtual

This calculates the equation of state as a function of the pressure, returning the representative nucleus with proton number Z and atomic number A and the baryon number density barn in $\mathrm{fm}^{-3}$. The energy density is also returned in $\mathrm{fm}^{-4}$ in th.

◆ mass_formula()

virtual double o2scl::eos_crust::mass_formula ( int  Z,
int  A 
)
virtual

The nuclear mass without the contribution of the rest mass of the electrons. The electron rest mass energy is included in the electron thermodynamics elsewhere.

Member Data Documentation

◆ e

fermion o2scl::eos_crust::e
Note
The electron rest mass is included by default in the energy density and the chemical potential

Definition at line 151 of file eos_crust.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).