bps_eos Class Reference

#include <bps_eos.h>

Inheritance diagram for bps_eos:

eos

Detailed Description

Baym-Pethick-Sutherland equation of state.

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

Todo:
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 84 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.

Protected Member Functions

virtual int eq274 (size_t nv, const ovector_view &nx, ovector_view &ny, void *&pa)
 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< void
*, mm_funct< void * > > 
gs
 A solver to solve Eq. 2.7.4.
fermion e
 The electron thermodynamics.
nuclear_massnmp
 The nuclear mass formula.

Member Function Documentation

virtual int calc_density ( double  barn,
thermo th,
int &  Z,
int &  A 
) [virtual]

Calculate the equation of state as a function of the baryon number density barn.

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]

Calculate the equation of state as a function of the pressure.

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 mass formula.

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.


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