Go to the documentation of this file.
26 #ifndef O2SCL_RMF_EOS_H
27 #define O2SCL_RMF_EOS_H
31 #include <o2scl/lib_settings.h>
32 #include <o2scl/constants.h>
33 #include <o2scl/mm_funct.h>
35 #include <o2scl/part.h>
36 #include <o2scl/eos_had_base.h>
37 #include <o2scl/fermion.h>
39 #ifndef DOXYGEN_NO_O2NS
362 double cs, cw, cr, b, c;
372 double a1, a2, a3, a4, a5, a6, b1, b2, b3;
414 virtual int calc_e(fermion &ne, fermion &pr,
thermo <h);
423 virtual int calc_p(fermion &ne, fermion &pr,
thermo <h);
438 virtual int calc_eq_p(fermion &neu, fermion &p,
double sig,
439 double ome,
double rho,
double &f1,
440 double &f2,
double &f3,
thermo &th);
447 virtual int calc_eq_temp_p(fermion &ne, fermion &pr,
double temper,
448 double sig,
double ome,
double rho,
double &f1,
449 double &f2,
double &f3,
thermo &th);
455 virtual int calc_temp_p(fermion &ne, fermion &pr,
double T,
461 int calc_temp_e(fermion &ne, fermion &pr,
double T,
485 double guess_b=0.001,
double guess_c=-0.001);
534 double &k,
double &
kprime);
563 virtual int set_fields(
double sig,
double ome,
double lrho) {
586 virtual const char *
type() {
return "eos_had_rmf"; }
720 re.b3=b3/pow(gw,6.0)/4.0*pow(
mnuc,4.0);
722 re.a1=a1/gs/4.0/
mnuc;
723 re.a2=a2/pow(gs,2.0)/4.0;
724 re.a3=a3/pow(gs,3.0)/4.0*
mnuc;
726 re.a5=a5/pow(gs,5.0)/4.0*pow(
mnuc,3.0);
727 re.a6=a6/pow(gs,6.0)/4.0*pow(
mnuc,4.0);
755 re.b1=value*gw*gw*4.0;
756 re.b2=value*pow(gw,4.0)*4.0/
mnuc/
mnuc;
757 re.b3=value*pow(gw,6.0)*4.0/pow(
mnuc,4.0);
759 re.a1=value*gs*4.0*
mnuc;
760 re.a2=value*pow(gs,2.0)*4.0;
761 re.a3=value*pow(gs,3.0)*4.0/
mnuc;
762 re.a4=value*pow(gs,4.0)*4.0/
mnuc/
mnuc;
763 re.a5=value*pow(gs,5.0)*4.0/pow(
mnuc,3.0);
764 re.a6=value*pow(gs,6.0)*4.0/pow(
mnuc,4.0);
770 #ifndef DOXYGEN_INTERNAL
786 double sigma, omega, rho;
824 int calc_cr(
double sig,
double ome,
double nb);
833 #ifndef DOXYGEN_NO_O2NS
bool guess_set
True if a guess for the fields has been given.
int get_fields(double &sig, double &ome, double &lrho)
Return the most recent values of the meson fields.
double n_charge
Temporary charge density.
double kprime
Skewness in .
double fe_temp
Temperature for solving field equations at finite temperature.
int field_eqs(size_t nv, const ubvector &x, ubvector &y)
A function for solving the field equations.
bool ce_prot_matter
For calc_e(), if true, then solve for proton matter.
void check_naturalness(eos_had_rmf &re)
Set the coefficients of a eos_had_rmf object to their limits from naturalness.
int field_eqsT(size_t nv, const ubvector &x, ubvector &y)
A function for solving the field equations at finite temperature.
Relativistic mean field theory EOS.
mroot< mm_funct, ubvector, jac_funct > * sat_mroot
The solver to compute saturation properties.
virtual int set_fields(double sig, double ome, double lrho)
Set a guess for the fields for the next call to calc_e(), calc_p(), or saturation()
mroot_hybrids def_sat_mroot
The default solver for calculating the saturation density.
bool zm_mode
Modifies method of calculating effective masses (default false)
size_t calc_e_steps
The number of separate calls to the solver that the calc_e functions take (default 20)
virtual int calc_p(fermion &ne, fermion &pr, thermo <h)
Equation of state as a function of chemical potential.
virtual int calc_e(fermion &ne, fermion &pr, thermo <h)
Equation of state as a function of density.
double n_baryon
Temporary baryon density.
double ce_temp
Temperature storage for calc_temp_e()
virtual int calc_temp_p(fermion &ne, fermion &pr, double T, thermo <h)
Equation of state as a function of chemical potential.
A hadronic EOS at finite temperature based on a function of the chemical potentials [abstract base].
virtual int zero_pressure(size_t nv, const ubvector &ex, ubvector &ey)
Compute matter at zero pressure (for saturation())
double fesym_fields(double sig, double ome, double nb)
Calculate symmetry energy assuming the field equations have already been solved.
virtual int saturation()
Calculate properties of nuclear matter at the saturation density.
virtual int calc_eq_p(fermion &neu, fermion &p, double sig, double ome, double rho, double &f1, double &f2, double &f3, thermo &th)
Equation of state and meson field equations as a function of chemical potentials.
int fix_saturation(double guess_cs=4.0, double guess_cw=3.0, double guess_b=0.001, double guess_c=-0.001)
Calculate cs, cw, cr, b, and c from the saturation properties.
virtual int calc_e_solve_fun(size_t nv, const ubvector &ex, ubvector &ey)
The function for calc_e()
bool err_nonconv
If true, throw exceptions when the function calc_e() does not converge (default true)
bool calc_e_relative
If true, solve for relative densities rather than absolute densities (default false)
void fkprime_fields(double sig, double ome, double nb, double &k, double &kprime)
Calculate compressibilty and kprime assuming the field equations have already been solved.
void naturalness_limits(double value, eos_had_rmf &re)
Provide the maximum values of the couplings assuming a limit on naturalness.
int calc_temp_e(fermion &ne, fermion &pr, double T, thermo <h)
Equation of state as a function of densities at finite temperature.
bool ce_neut_matter
For calc_e(), if true, then solve for neutron matter.
int verbose
Verbosity parameter.
int calc_cr(double sig, double ome, double nb)
Calculate the cr coupling given sig and ome at the density 'nb'.
virtual int calc_temp_e_solve_fun(size_t nv, const ubvector &ex, ubvector &ey)
The function for calc_temp_e()
virtual const char * type()
Return string denoting type ("eos_had_rmf")
double fcomp_fields(double sig, double ome, double nb)
Calculate the compressibility assuming the field equations have already been solved.
int fix_saturation_fun(size_t nv, const ubvector &x, ubvector &y)
The function for fix_saturation()
virtual int set_sat_mroot(mroot< mm_funct, ubvector, jac_funct > &mrx)
Set class mroot object for use calculating saturation density.
virtual int calc_eq_temp_p(fermion &ne, fermion &pr, double temper, double sig, double ome, double rho, double &f1, double &f2, double &f3, thermo &th)
Equation of state and meson field equations as a function of chemical potentials at finite temperatur...
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).