Baym-Pethick-Sutherland equation of state. More...
#include <eos_crust.h>
This calculates the equation of state of electrons and nuclei using the approach of Baym71tg (based on the discussion in Shapiro83) between about and
. 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
where
if the nucleus is odd-odd (plus sign) or even-even (minus sign) and 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
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).
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.
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 fermion & | get_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. | |
![]() | |
virtual void | set_thermo (thermo &th) |
Set class thermo object. | |
virtual const thermo & | get_thermo () |
Get class thermo object. | |
Public Attributes | |
nucmass_semi_empirical | def_mass |
Default mass formula. | |
fermion | e |
The electron thermodynamics. More... | |
![]() | |
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_funct > | gs |
A solver to solve Eq. 2.7.4. | |
nucmass * | nmp |
The nuclear mass formula. | |
![]() | |
thermo * | eos_thermo |
A pointer to the thermo object. | |
|
virtual |
This calculates the equation of state as a function of the baryon number density in , returning the representative nucleus with proton number
Z
and atomic number A
. The pressure and energy density are returned in th
in .
|
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 . The energy density is also returned in
in
th
.
|
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.
fermion o2scl::eos_crust::e |
Definition at line 151 of file eos_crust.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).