Class eos_crust (o2scl)¶
-
class 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 Baym et al. (1971; based on the discussion in Shapiro and Teukolsky (1983)) 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 Shapiro and Teukolsky (1983). The rest mass energy of the nucleons is included in the energy density.See [Shapiro83].
The original results from Baym et al. (1971) 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?
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()¶
-
inline virtual ~eos_crust()¶
-
virtual int calc_density(double barn, 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}\).
-
virtual int calc_pressure(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
.
-
virtual double lattice_energy(int Z)¶
The electron lattice energy.
-
inline virtual const fermion &get_electron()¶
Get a pointer to the electron.
-
virtual 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.
-
inline virtual const char *type()¶
Return string denoting type (“eos_crust”)
-
int calc_density_fixedA(double barn, int &Z, int A)¶
Compute the ground state assuming a fixed atomic number.
Compute the EOS in beta-equilibrium at zero temperature.
This solves the function \ref solve_beta_eq_T0() . This function is different from \ref o2scl::nstar_cold because it is a generic interface which works for non-hadronic EOSs.
-
inline virtual int calc_temp_f_gen(double nB, double nQ, double nS, double T, thermo &th)¶
Equation of state as a function of baryon, charge, and strangeness density at finite temperature.
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