bps_eos Class Reference

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

#include <bps_eos.h>

Inheritance diagram for bps_eos:

eos

Detailed Description

This calculates the equation of state of electrons and nuclei using the approach of Baym71 (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 Baym71 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?
Idea for future:
Convert to a hadronic_eos object and offer an associated interface?

Definition at line 83 of file bps_eos.h.


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.
virtual int calc_pressure (thermo &th, double &barn, int &Z, int &A)
 Calculate the equation of state as a function of the pressure.
virtual double lattice_energy (int Z)
 The electron lattice energy.
virtual fermionget_electron ()
 Get a pointer to the electron.
virtual double mass_formula (int Z, int A)
 The mass formula.
virtual const char * type ()
 Return string denoting type ("bps_eos").
int set_mass_formula (nuclear_mass &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.

Data Fields

semi_empirical_mass def_mass
 Default mass formula.
fermion e
 The electron thermodynamics.

Protected Member Functions

virtual int eq274 (size_t nv, const ovector_base &nx, ovector_base &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

gsl_mroot_hybrids< int,
mm_funct< int > > 
gs
 A solver to solve Eq. 2.7.4.
nuclear_massnmp
 The nuclear mass formula.

Member Function Documentation

virtual int 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}$.

virtual int 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.

virtual double 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.


Field Documentation

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

Definition at line 149 of file bps_eos.h.


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

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page