Class eos_crust (o2scl)¶
-
class
o2scl
::
eos_crust
: public o2scl::eos_base¶ Baym-Pethick-Sutherland equation of state.
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{split}\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*}\end{split}\]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?
- Idea for Future:
Convert to a o2scl::eos_had_base object and offer an associated interface?
Public Types
-
typedef boost::numeric::ublas::vector<double>
ubvector
¶
Public Functions
-
eos_crust
()¶
-
~eos_crust
()¶
-
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
.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 numberA
. The pressure and energy density are returned inth
in \(\mathrm{fm}^{-4}\).
-
int
calc_pressure
(thermo &th, double &barn, int &Z, int &A)¶ 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 numberA
and the baryon number densitybarn
in \(\mathrm{fm}^{-3}\). The energy density is also returned in \(\mathrm{fm}^{-4}\) inth
.
-
double
lattice_energy
(int Z)¶ The electron lattice energy.
-
const fermion &
get_electron
()¶ Get a pointer to the electron.
-
double
mass_formula
(int Z, int A)¶ 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.
-
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 Members
-
nucmass_semi_empirical
def_mass
¶ Default mass formula.
-
fermion
e
¶ The electron thermodynamics.
- Note
The electron rest mass is included by default in the energy density and the chemical potential