26 #ifndef EOS_NSE_FULL_H 27 #define EOS_NSE_FULL_H 29 #include <boost/numeric/ublas/vector.hpp> 31 #include <o2scl/constants.h> 33 #include <o2scl/classical.h> 34 #include <o2scl/fermion_rel.h> 35 #include <o2scl/fermion_deriv_rel.h> 37 #include <o2scl/nucmass_densmat.h> 38 #include <o2scl/mroot_hybrids.h> 39 #include <o2scl/root_cern.h> 41 #include <o2scl/eos_had_skyrme.h> 43 #include <o2scl/mmin_simp2.h> 45 #ifndef DOXYGEN_NO_O2NS 104 std::string func_name);
125 std::vector<o2scl::nucleus> *
ad;
199 virtual int solve_fixnp(
size_t n,
const ubvector &x, ubvector &y,
206 double &mup_low,
double &mup_high,
229 double mup_for_Ye(
double mup,
double &mun_low,
403 O2SCL_ERR2(
"Homogeneous matter EOS not specified in ",
412 if (ehtp==0)
return false;
429 #ifdef O2SCL_NEVER_DEFINED 443 #ifndef DOXYGEN_NO_O2NS o2scl::fermion_deriv_rel snf
Relativistic fermions with derivatives.
std::vector< o2scl::nucleus > * ad
The full distribution of all nuclei to consider.
bool inc_prot_coul
If true, include dripped protons and neutrons in the nuclear mass (default true)
virtual void check_dm(o2scl::dense_matter &dm)
Check the o2scl::dense_matter object to see if the rest masses are correctly included or not...
void set_mass(o2scl::nucmass_densmat &m)
Set nuclear mass formula.
virtual double solve_mun(double mun, dense_matter &dm)
Fix the baryon density by varying the neutron chemical potential.
virtual double free_energy(const ubvector &n_nuc, dense_matter &dm)
Compute the free energy from a vector of densities of the nuclei.
o2scl::classical cla
Compute particle properties assuming classical thermodynamics.
int verbose
Verbose parameter.
virtual int calc_density_saha(dense_matter &dm)
Compute properties of matter for baryon density and electron fraction using the Saha equation...
void set_eos(o2scl::eos_had_temp_base &e)
Set homogeneous matter EOS.
mroot_hybrids def_mroot
Default solver.
root_cern def_root
Lepton solver.
A finite temperature hadronic EOS [abstract base].
void set_dist(std::vector< o2scl::nucleus > &dist)
Set distribution of nuclei.
bool err_nonconv
If true, call the error handler if calc_density() does not converge (default true) ...
virtual int calc_density_by_min(dense_matter &dm)
Compute the free energy for a fixed composition by minimization.
o2scl::nucmass_densmat * massp
Mass formula (points to nuc_dens by default)
EOS for nuclear statistical equilibrium with interactions.
o2scl::eos_had_temp_base * ehtp
Nucleonic EOS (0 by default)
virtual int density_match(dense_matter &dm)
Adjust the particle densities to match specified density and electron fraction.
o2scl::nucmass_densmat nuc_dens
Compute nuclei in dense matter.
o2scl::fermion_rel relf
Relativistic fermions.
static const int invalid_config
The integer return value which indicates an invalid configuration.
double mup_for_Ye(double mup, double &mun_low, double &mun_high, dense_matter &dm)
Fix electron fraction by varying proton chemical potential.
#define O2SCL_ERR2(d, d2, n)
virtual int solve_fixnp(size_t n, const ubvector &x, ubvector &y, dense_matter &dm, bool from_densities=true)
Function which is solved by calc_density_saha()
o2scl::eos_had_temp_base & get_eos()
Get homogeneous matter EOS.
virtual int calc_density_fixnp(dense_matter &dm, bool from_densities=true)
Compute the properties of matter from neutron and proton densities, using the Saha equation...
o2scl::mmin_simp2 def_mmin
The default minimizer.
bool include_muons
If true, include muons (default false)
virtual void output(dense_matter &dm, int output_level)
Output properties of a o2scl::dense_matter object to std::cout.
virtual int bracket_mu_solve(double &mun_low, double &mun_high, double &mup_low, double &mup_high, dense_matter &dm)
Solve matter at fixed chemical potential by bracketing.
bool inc_lept_phot
If true, include electrons and photons (default true)
virtual void verb_output(o2scl::dense_matter &dm, std::string func_name)
Output a o2scl::dense_matter object according to the setting of verbose for function specified in fun...
virtual double charge_neutrality(double mu_e, double np_tot, dense_matter &dm)
Solve for charge neutrality assuming the specified electron chemical potential and proton number dens...
bool is_eos_set()
Return true if an EOS was specified.
virtual int calc_density_noneq(dense_matter &dm)
Compute the properties of matter from the densities, not presuming equilibrium.