A base class for the supernova EOSs [abstract]. More...
#include <eos_sn.h>
This class is experimental.
See also the general description in the Finite-temperature Equation of State Tables section of the User's guide.
Add option to rescale energies and chemical potentials to different masses.
Create a o2scl::table object, possibly using tensor_grid::vector_slice.
Show how matrix_slice and vector_slice can be used with this object.
Add option to load and store a separate lepton/photon EOS
Add pions?
Create a standard output format? Output to stellarcollapse.org HDF5 format?
Classes | |
class | slice |
A slice of data from eos_sn_base for one index fixed. More... | |
Public Types | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::matrix< double > | ubmatrix |
Public Member Functions | |
void | check_composition (double &max1, double &max2) |
Check the table composition entries. | |
void | check_free_energy (double &avg) |
Test the free energy and store results in tm . More... | |
virtual void | beta_eq_sfixed (double nB, double entr, double &Ye, double &T) |
Compute properties of matter in beta equilibrium at fixed entropy per baryon. More... | |
virtual void | beta_eq_Tfixed (double nB, double T, double &Ye) |
Compute the electron fraction for beta-equilibrium at fixed density and temperature. More... | |
bool | is_loaded () |
Return true if data has been loaded. | |
void | free () |
Free allocated memory. | |
bool | data_with_leptons () |
Return true if data with lepton information has been loaded. | |
bool | data_baryons_only () |
Return true if data with only baryon information has been loaded. | |
virtual void | load (std::string fname) |
virtual void | output (std::string fname) |
Interpolation | |
void | set_interp_type (size_t interp_type) |
Set the interpolation type of all the o2scl::tensor_grid3 objects to type interp_type . More... | |
Public Attributes | |
int | verbose |
Verbosity parameter (default 1) | |
std::vector< std::string > | oth_names |
Labels for the extra data sets included in current EOS. | |
std::vector< std::string > | oth_units |
Units for the extra data sets included in current EOS. | |
Data | |
tensor_grid3 | F |
Total free energy per baryon in MeV (without baryon rest masses but including electron rest mass) More... | |
tensor_grid3 | Fint |
Free energy per baryon without lepton and photon contributions in MeV. More... | |
tensor_grid3 | E |
Total internal energy per baryon in MeV (without baryon rest masses but including electron rest mass) More... | |
tensor_grid3 | Eint |
Internal energy per baryon without lepton and photon contributions in MeV. More... | |
tensor_grid3 | P |
Total pressure in ![]() | |
tensor_grid3 | Pint |
Pressure without lepton and photon contributions in ![]() | |
tensor_grid3 | S |
Total entropy per baryon. | |
tensor_grid3 | Sint |
Entry per baryon without lepton and photon contributions. | |
tensor_grid3 | mun |
Neutron chemical potential in MeV. More... | |
tensor_grid3 | mup |
Proton chemical potential in MeV. More... | |
tensor_grid3 | Z |
Proton number. | |
tensor_grid3 | A |
Mass number. | |
tensor_grid3 | Xn |
Neutron baryon fraction. | |
tensor_grid3 | Xp |
Proton baryon fraction. | |
tensor_grid3 | Xalpha |
Alpha particle baryon fraction. | |
tensor_grid3 | Xnuclei |
Heavy nuclei baryon fraction. | |
tensor_grid3 | other [30] |
Other data sets. | |
tensor_grid3 * | arr [n_base+30] |
List of pointers to data. | |
Nucleon masses | |
double | m_neut |
Neutron mass in ![]() | |
double | m_prot |
Proton mass in ![]() | |
Protected Member Functions | |
Memory allocation | |
void | alloc () |
Allocate memory. | |
Protected Attributes | |
convert_units & | cu |
Unit conversion object (set automatically in constructor) | |
bool | loaded |
If true, a EOS table was successfully loaded (default false) | |
bool | with_leptons_loaded |
True if thermodynamics with leptons has been loaded. | |
bool | baryons_only_loaded |
True if baryon-only thermodynamics has been loaded. | |
Grid and data sizes | |
size_t | n_nB |
Size of baryon density grid. | |
size_t | n_Ye |
Size of electron fraction grid. | |
size_t | n_T |
Size of temperature grid. | |
std::vector< double > | nB_grid |
Baryon density grid (in ![]() | |
std::vector< double > | Ye_grid |
Electron fraction grid. | |
std::vector< double > | T_grid |
Temperature grid (in ![]() | |
size_t | n_oth |
Number of additional data sets. | |
static const size_t | n_base =16 |
Number of base data sets. | |
Electron and photon contribution | |
boson | photon |
Photon. | |
fermion | electron |
Electron. | |
fermion | muon |
Muon. | |
bool | include_muons |
If true, include muons. | |
fermion_rel | relf |
Relativistic fermion thermodynamics. | |
virtual void | compute_eg () |
Compute the electron and photon contribution for the full grid. More... | |
virtual void | compute_eg_point (double nB, double Ye, double T, thermo &th) |
Compute lepton contribution at one point. | |
virtual double | check_eg () |
Check electrons and photons. More... | |
|
virtual |
This function just does a simple hard-coded linear interpolation.
The temperature is returned in units of MeV.
|
virtual |
This function just uses linear interpolation to interpolate in baryon density and temperature and the uses a quadratic to determine the minimum of the free energy.
If data_with_leptons() is false
, then compute_eg() is used to compute the leptons.
|
virtual |
This checks that the electron and photon thermodynamics generated by O2scl is consistent with the data in E
, Eint
, F
, Fint
, P
, Pint
, S
, and Sint
.
Reimplemented in o2scl::eos_sn_ls.
void o2scl::eos_sn_base::check_free_energy | ( | double & | avg | ) |
This checks that the data in Fint
is consistent with that in Eint
and Sint
(if baryons_only_loaded is true) and that F
is consistent with that in E
and S
(if with_leptons_loaded is true).
|
virtual |
If baryons_only_loaded is true, this function computes the data for E, P, S,
and F
by adding electrons and photons to the baryon contributions stored in Eint, Pint, Sint,
and Fint
. Otherwise, this function computes Eint, Pint, Sint,
and Fint
by subtracting electron and photon contributions from E, P, S,
and F
.
The electron contribution to the internal energy and free energy computed by this function includes the electron rest mass.
void o2scl::eos_sn_base::set_interp_type | ( | size_t | interp_type | ) |
tensor_grid3 o2scl::eos_sn_base::E |
tensor_grid3 o2scl::eos_sn_base::Eint |
tensor_grid3 o2scl::eos_sn_base::F |
tensor_grid3 o2scl::eos_sn_base::Fint |
tensor_grid3 o2scl::eos_sn_base::mun |
tensor_grid3 o2scl::eos_sn_base::mup |
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).