93 #include "utilitaires.h" 104 double eps_fit_i,
double rho0_b60_i,
105 double ent_nd_i,
double rho_nd_i,
double gam_i) :
106 Eos(
"Strange matter EOS from Zdunik (2000) with crust"),
111 rho0_b60(rho0_b60_i),
125 n0_b60(eos_i.n0_b60),
128 eps_fit(eos_i.eps_fit),
129 rho0_b60(eos_i.rho0_b60),
130 ent_nd(eos_i.ent_nd),
131 rho_nd(eos_i.rho_nd),
164 fich >>
n0_b60 ; fich.getline(blabla, 80) ;
165 fich >>
b60 ; fich.getline(blabla, 80) ;
166 fich >>
ent0 ; fich.getline(blabla, 80) ;
167 fich >>
eps_fit ; fich.getline(blabla, 80) ;
168 fich >>
rho0_b60 ; fich.getline(blabla, 80) ;
169 fich >>
ent_nd ; fich.getline(blabla, 80) ;
170 fich >>
rho_nd ; fich.getline(blabla, 80) ;
171 fich >>
gam ; fich.getline(blabla, 80) ;
238 cout <<
"ncr_nd =" <<
ncr_nd << endl ;
240 cout <<
"eos ent_nd, x_nd, delent, ent_nd +delent " <<
ent_nd <<
" "<<
x_nd <<
" " 250 cout <<
" eos sqm fach =" <<
fach <<
" PNS_s " <<
251 psq <<
" PNS_cr = " << pcr << endl ;
254 cout <<
" log(miu) " <<
258 cout <<
" miu_rate -1 " << miu_rate -1. ;
262 cout <<
"aa0, aa1, aa0-aa1 : " << aa0 <<
" " << aa1 <<
" " <<
264 cout <<
"fach : " <<
fach << endl ;
280 cout <<
"The second EOS is not of type Eos_strange_cr !" << endl ;
289 <<
"The two Eos_strange_cr have different n0_b60 : " <<
n0_b60 <<
" <-> " 296 <<
"The two Eos_strange_cr have different b60 : " <<
b60 <<
" <-> " 303 <<
"The two Eos_strange_cr have different ent0 : " <<
ent0 <<
" <-> " 304 << eos.
ent0 << endl ;
310 <<
"The two Eos_strange_cr have different eps_fit : " <<
eps_fit 311 <<
" <-> " << eos.
eps_fit << endl ;
317 <<
"The two Eos_strange_cr have different rho0_b60 : " <<
rho0_b60 318 <<
" <-> " << eos.
rho0_b60 << endl ;
325 <<
"The two Eos_strange_cr have different ent_nd : " 327 <<
" <-> " << eos.
ent_nd << endl ;
334 <<
"The two Eos_strange_cr have different rho_nd : " 336 <<
" <-> " << eos.
rho_nd << endl ;
343 <<
"The two Eos_strange_cr have different gam : " <<
gam 344 <<
" <-> " << eos.
gam << endl ;
384 "EOS of class Eos_strange_cr " << endl
385 <<
" (Strange matter EOS from Zdunik (2000) with crust) " 387 ost <<
" Baryon density at zero pressure : " <<
n0_b60 388 <<
" * B_{60}^{3/4}" << endl ;
389 ost <<
" Bag constant B : " <<
b60 <<
" * 60 MeV/fm^3"<< endl ;
391 " Log-enthalpy threshold for setting the energy density to non-zero: " 392 << endl <<
" " <<
ent0 << endl ;
393 ost <<
" Fitting parameter eps_fit : " <<
eps_fit << endl ;
394 ost <<
" Energy density at zero pressure : " <<
rho0_b60 395 <<
" * B_{60} MeV/fm^3" << endl ;
396 ost <<
" Log-enthalpy at neutron drip point : " <<
ent_nd << endl ;
397 ost <<
" Energy density at neutron drip point : " <<
rho_nd 398 <<
" MeV/fm^3" << endl ;
399 ost <<
" Adiabatic index for the crust : " <<
gam << endl ;
419 double entsqm = ent +
delent ;
421 return n0 *
exp(
double(3) * entsqm / (
double(1) +
eps_fit)) ;
447 double entsqm = ent +
delent ;
451 return rho0 + double(3) * pp / (double(1) +
eps_fit) ;
477 double entsqm = ent +
delent ;
506 double entsqm = ent +
delent ;
508 return double(3) * entsqm / ( double(1) +
eps_fit ) ;
512 cout <<
"Eos_strange_cr::der_nbar_ent_p not ready yet !" << endl ;
532 double entsqm = ent +
delent ;
534 double xx =
fach * entsqm ;
536 return xx / ( double(1) +
537 ( double(1) +
eps_fit ) /
double(3) *
exp(-xx) ) ;
541 cout <<
"Eos_strange_cr::der_ener_ent_p not ready yet !" << endl ;
561 double entsqm = ent +
delent ;
563 double xx =
fach * entsqm ;
565 return xx / ( double(1) -
exp(-xx) ) ;
569 cout <<
"Eos_strange_cr::der_press_ent_p not ready yet !" << endl ;
double eps_fit
Fitting parameter related to the square of sound velocity by .
Cmp log(const Cmp &)
Neperian logarithm.
Cmp exp(const Cmp &)
Exponential.
double rho_nd_nucl
Energy density at neutron drip point, defining the boundary between crust and core [unit: rho_unit ]...
virtual double der_press_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
virtual ostream & operator>>(ostream &) const
Operator >>
double x_nd
Ratio of pressure to energy density at neutron drip point.
Standard units of space, time and mass.
Equation of state base class.
virtual int identify() const
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual int identify() const =0
Returns a number to identify the sub-classe of Eos the object belongs to.
virtual void sauve(FILE *) const
Save in a file.
double ent_nd
Log-enthalpy at neutron drip point, defining the boundary between crust and core. ...
virtual double der_nbar_ent_p(double ent, const Param *par=0x0) const
Computes the logarithmic derivative from the log-enthalpy.
double rho_nd
Energy density at neutron drip point, defining the boundary between crust and core [unit: ]...
Eos_strange_cr(double n0_b60_i, double b60_i, double ent0_i, double eps_fit_i, double rho0_b60_i, double ent_nd_i, double rho_nd_i, double gam_i)
Standard constructor.
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.
double ncr_nd
Rescaled number density at neutron drip point.
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.
virtual ~Eos_strange_cr()
Destructor.
virtual double nbar_ent_p(double ent, const Param *par=0x0) const
Computes the baryon density from the log-enthalpy.
double delent
Enthalpy shift in quark phase.
void operator=(const Eos_strange_cr &)
Assignment to another Eos_strange.
double ent0
Log-enthalpy threshold for setting the energy density to a non zero value (should be negative)...
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
double rho0_b60
Energy density at zero pressure divided by .
virtual bool operator!=(const Eos &) const
Comparison operator (difference)
Cmp pow(const Cmp &, int)
Power .
double rho0
Energy density at zero pressure.
void set_auxiliary()
Computes the auxiliary quantities n0 , rh0 , b34 and fach from the values of the other parameters...
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
double gam
Adiabatic index for the crust model.
void set_name(const char *name_i)
Sets the EOS name.
double n0_b60
Baryon density at zero pressure divided by .
virtual double ener_ent_p(double ent, const Param *par=0x0) const
Computes the total energy density from the log-enthalpy.
double b60
Bag constant [unit: ].
Strange matter EOS (MIT Bag model) with crust.
virtual bool operator==(const Eos &) const
Comparison operator (egality)