205 explicit Eos(
const char* name_i) ;
293 virtual void sauve(FILE* )
const ;
322 void calcule(
const Cmp& thermo,
int nzet,
int l_min,
323 double (
Eos::*fait)(double, const
Param*) const, const
Param* par,
Cmp& resu) const ;
706ostream& operator<<(ostream& ,
const Eos& ) ;
809 Eos_poly(
double gamma,
double kappa) ;
823 Eos_poly(
double gamma,
double kappa,
double mass) ;
841 Eos_poly(
double gamma,
double kappa,
double mass,
double mu_zero) ;
921 virtual void sauve(FILE* )
const ;
924 virtual ostream&
operator>>(ostream &)
const ;
1120 virtual void sauve(FILE* )
const ;
1123 virtual ostream&
operator>>(ostream &)
const ;
1297 virtual void sauve(FILE* )
const ;
1300 virtual ostream&
operator>>(ostream &)
const ;
1460 virtual void sauve(FILE* )
const ;
1463 virtual ostream&
operator>>(ostream &)
const ;
1610 Eos_strange(
double n0_b60_i,
double b60_i,
double ent0_i,
1611 double eps_fit_i,
double rho0_b60_i) ;
1696 virtual void sauve(FILE* )
const ;
1699 virtual ostream&
operator>>(ostream &)
const ;
1902 double eps_fit_i,
double rho0_b60_i,
1903 double ent_nd_i,
double rho_nd_i,
2007 virtual void sauve(FILE* )
const ;
2010 virtual ostream&
operator>>(ostream &)
const ;
2186 double get_m()
const ;
2201 virtual void sauve(FILE* )
const ;
2204 virtual ostream&
operator>>(ostream &)
const ;
2302 MEos(
int ndom_i,
const Eos** mono_eos_i) ;
2363 virtual void sauve(FILE* )
const ;
2366 virtual ostream&
operator>>(ostream &)
const ;
2446#include "eos_tabul.h"
2447#include "eos_compose.h"
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Degenerate ideal Fermi gas.
double get_m() const
Returns the fermion mass in eV/c2.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
int get_g_degen() const
Returns the degeneracy factor.
virtual void sauve(FILE *) const
Save in a file.
double ener_0
Energy density scale [unit: ], where ].
virtual ~Eos_Fermi()
Destructor.
void operator=(const Eos_Fermi &)
Assignment to another Eos_Fermi.
int g_s
Degeneracy parameter.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
double m_0
Individual particule mass [unit: eV/c2].
virtual bool operator==(const Eos &) const
Comparison operator (egality)
double p_0
Pressure scale [unit: ], where ].
double n_0
Number density scale [unit: ].
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
void set_auxiliary()
Computes the auxiliary quantities n_0 , ener_0.
Equation of state of incompressible matter (Newtonian case).
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the specific enthalpy.
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the specific enthalpy.
virtual ~Eos_incomp_newt()
Destructor.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the specific enthalpy.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual bool operator==(const Eos &) const
Comparison operator (egality)
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
void operator=(const Eos_incomp_newt &)
Assignment to another Eos_incomp_newt.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual void sauve(FILE *) const
Save in a file.
Equation of state of incompressible matter (relativistic case).
virtual ~Eos_incomp()
Destructor.
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
void operator=(const Eos_incomp &)
Assignment to another Eos_incomp.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual void sauve(FILE *) const
Save in a file.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
virtual bool operator==(const Eos &) const
Comparison operator (egality)
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
double ent0
Log-enthalpy threshold for setting the energy density to a non zero value (should be negative).
double rho0
Constant density .
Polytropic equation of state (Newtonian case).
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual bool operator==(const Eos &) const
Comparison operator (egality)
void operator=(const Eos_poly_newt &)
Assignment to another Eos_poly_newt.
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the specific enthalpy.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the specific enthalpy.
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual void sauve(FILE *) const
Save in a file.
virtual ~Eos_poly_newt()
Destructor.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the specific enthalpy.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the specific enthalpy.
Polytropic equation of state (relativistic case).
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double ent_0
Enthalpy at zero pressure ( )
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
double kap
Pressure coefficient (cf.
virtual void sauve(FILE *) const
Save in a file.
double get_mu_0() const
Return the relativistic chemical potential at zero pressure [unit: , with ].
double get_gam() const
Returns the adiabatic index (cf. Eq. (3))
double gam
Adiabatic index (cf. Eq. (3))
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
void operator=(const Eos_poly &)
Assignment to another Eos_poly.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
double m_0
Individual particule mass (cf.
double mu_0
Relativistic chemical potential at zero pressure [unit: , with ].
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
virtual bool operator==(const Eos &) const
Comparison operator (egality)
virtual ~Eos_poly()
Destructor.
double get_m_0() const
Return the individual particule mass (cf.
double get_kap() const
Returns the pressure coefficient (cf.
virtual ostream & operator>>(ostream &) const
Operator >>
void set_auxiliary()
Computes the auxiliary quantities gam1 , unsgam1 , gam1sgamkap from the values of gam and kap.
Strange matter EOS (MIT Bag model) with crust.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
double delent
Enthalpy shift in quark phase.
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double rho0
Energy density at zero pressure.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double get_rho0_b60() const
Returns the energy density at zero pressure divided by .
double rho_nd_nucl
Energy density at neutron drip point, defining the boundary between crust and core [unit: rho_unit ].
virtual ~Eos_strange_cr()
Destructor.
double rho_nd
Energy density at neutron drip point, defining the boundary between crust and core [unit: ].
double rho0_b60
Energy density at zero pressure divided by .
double get_ent0() const
Returns the log-enthalpy threshold for setting the energy density to a non zero value (should be nega...
double ent0
Log-enthalpy threshold for setting the energy density to a non zero value (should be negative).
double ent_nd
Log-enthalpy at neutron drip point, defining the boundary between crust and core.
double get_eps_fit() const
Returns the fitting parameter related to the square of sound velocity by .
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
double get_gam() const
Returns the adiabatic index for the crust model.
double n0_b60
Baryon density at zero pressure divided by .
double b60
Bag constant [unit: ].
double ncr_nd
Rescaled number density at neutron drip point.
double x_nd
Ratio of pressure to energy density at neutron drip point.
double get_ent_nd() const
Returns the log-enthalpy at neutron drip point, defining the boundary between crust and core.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double get_n0_b60() const
Returns the baryon density at zero pressure divided by [unit: ].
void operator=(const Eos_strange_cr &)
Assignment to another Eos_strange.
void set_auxiliary()
Computes the auxiliary quantities n0 , rh0 , b34 and fach from the values of the other parameters.
double get_rho_nd() const
Returns the energy density at neutron drip point, defining the boundary between crust and core [unit:...
virtual bool operator==(const Eos &) const
Comparison operator (egality)
virtual void sauve(FILE *) const
Save in a file.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
double eps_fit
Fitting parameter related to the square of sound velocity by .
double get_b60() const
Returns the bag constant [unit: ].
double n0
Baryon density at zero pressure.
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
double gam
Adiabatic index for the crust model.
Strange matter EOS (MIT Bag model).
double get_ent0() const
Returns the log-enthalpy threshold for setting the energy density to a non zero value (should be nega...
double rho0
Energy density at zero pressure.
double get_b60() const
Returns the bag constant [unit: ].
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
double eps_fit
Fitting parameter related to the square of sound velocity by .
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
double n0
Baryon density at zero pressure.
virtual void sauve(FILE *) const
Save in a file.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual bool operator==(const Eos &) const
Comparison operator (egality)
void set_auxiliary()
Computes the auxiliary quantities n0 , rh0 , b34 and fach from the values of the other parameters.
double b60
Bag constant [unit: ].
double get_eps_fit() const
Returns the fitting parameter related to the square of sound velocity by .
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double ent0
Log-enthalpy threshold for setting the energy density to a non zero value (should be negative).
virtual ~Eos_strange()
Destructor.
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double get_rho0_b60() const
Returns the energy density at zero pressure divided by .
double rho0_b60
Energy density at zero pressure divided by .
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
double get_n0_b60() const
Returns the baryon density at zero pressure divided by [unit: ].
void operator=(const Eos_strange &)
Assignment to another Eos_strange.
virtual ostream & operator>>(ostream &) const
Operator >>
double n0_b60
Baryon density at zero pressure divided by .
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
Equation of state base class.
Cmp der_press_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy and extra parameters.
friend ostream & operator<<(ostream &, const Eos &)
Display.
virtual int identify() const =0
Returns a number to identify the sub-classe of Eos the object belongs to.
Cmp nbar_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the baryon density field from the log-enthalpy field and extra parameters.
static Eos * eos_from_file(FILE *)
Construction of an EOS from a binary file.
virtual double press_ent_p(double ent, const Param *par=0x0) const =0
Computes the pressure from the log-enthalpy and extra parameters (virtual function implemented in the...
Cmp ener_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy and extra parameters.
void calcule(const Cmp &thermo, int nzet, int l_min, double(Eos::*fait)(double, const Param *) const, const Param *par, Cmp &resu) const
General computational method for Cmp 's.
virtual bool operator==(const Eos &) const =0
Comparison operator (egality)
virtual double der_press_ent_p(double ent, const Param *par=0x0) const =0
Computes the logarithmic derivative from the log-enthalpy and extra parameters (virtual function imp...
virtual ~Eos()
Destructor.
Cmp der_ener_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy and extra parameters.
virtual void sauve(FILE *) const
Save in a file.
const char * get_name() const
Returns the EOS name.
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const =0
Computes the logarithmic derivative from the log-enthalpy with extra parameters (virtual function im...
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const =0
Computes the logarithmic derivative from the log-enthalpy and extra parameters (virtual function imp...
Cmp press_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the pressure from the log-enthalpy and extra parameters.
virtual ostream & operator>>(ostream &) const =0
Operator >>
Eos()
Standard constructor.
virtual bool operator!=(const Eos &) const =0
Comparison operator (difference)
virtual double ener_ent_p(double ent, const Param *par=0x0) const =0
Computes the total energy density from the log-enthalpy and extra parameters (virtual function implem...
virtual double nbar_ent_p(double ent, const Param *par=0x0) const =0
Computes the baryon density from the log-enthalpy and extra parameters (virtual function implemented ...
void set_name(const char *name_i)
Sets the EOS name.
Cmp der_nbar_ent(const Cmp &ent, int nzet, int l_min=0, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy and extra parameters.
EOS with domain dependency.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual ~MEos()
Destructor.
void operator=(const MEos &)
Assignment to another MEos.
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual void sauve(FILE *) const
Save in a file.
virtual double der_ener_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual bool operator==(const Eos &) const
Comparison operator (egality)
virtual double press_ent_p(double ent, const Param *par=0x0) const
Computes the pressure from the log-enthalpy.
bool constructed_from_file
Indicates wether the EOS has been constructed from a file.
const Eos ** mono_eos
Array (upon the domains) containing the various EOS.
int ndom
Number of domains.
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
Tensor field of valence 0 (or component of a tensorial field).