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. | |
Public Member Functions inherited from o2scl::eos_base | |
| 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... | |
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_funct > | gs |
| A solver to solve Eq. 2.7.4. | |
| nucmass * | nmp |
| The nuclear mass formula. | |
Protected Attributes inherited from o2scl::eos_base | |
| 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).