Nambu Jona-Lasinio EOS. More...
#include <eos_quark_njl.h>
This class is based on Buballa99 .
The quantities L, G, and K are the coupling constants. In order to use the EOS, the user should either (i) set the bag constant, B0 directly, or (ii) use set_parameters() to modify the parameters (and then the set_parameters() function also automatically computes the bag constant.
This class can compute the EOS from the quark condensates (stored in o2scl::quark::qq) by setting fromqq to true
(this is the default) or from the dynamical masses (stored in o2scl::part_tl::ms) by setting fromqq to false
.
The Fermi gas-like contribution to the pressure due plus the the contribution from the bag pressure is stored in o2scl::part_tl::pr . For the EOS, the energy density for each quark is set so that
.
Finite T documentation
This implementation includes contributions from antiquarks.
Details
The Lagrangian is
And the corresponding thermodynamic potential is
where is the Fermi gas contribution and
where is a constant defined to ensure that the energy density and the pressure of the vacuum is zero.
Unlike Buballa99, the bag constant, is defined without the term
since this allows an easier comparison to the finite temperature EOS. The constant in this case is therefore significantly larger, but the energy density and pressure are still zero in the vacuum.
The Feynman-Hellman theorem (Bernard88 ), gives
The functions calc_e() and calc_p() never return a value other than zero, but will give nonsensical results for nonsensical inputs.
References
Created for Steiner00. See also Buballa99 and Hatsuda94.
Remove the njtp structure and move the numbers there to function parameters.
Consider rewriting the testing code and making the various gap functions protected instead of public.
Remove the stored quark pointers if they are unnecessary?
Definition at line 136 of file eos_quark_njl.h.
Classes | |
struct | njtp_s |
A structure for passing parameters to the integrands. More... | |
Public Types | |
typedef boost::numeric::ublas::vector< double > | ubvector |
Public Member Functions | |
virtual int | set_parameters (double lambda=0.0, double fourferm=0.0, double sixferm=0.0) |
Set the parameters and the bag constant B0 . More... | |
virtual int | calc_p (quark &u, quark &d, quark &s, thermo <h) |
Equation of state as a function of chemical potentials. More... | |
virtual int | calc_temp_p (quark &u, quark &d, quark &s, double T, thermo &th) |
Equation of state as a function of chemical potentials at finite temperature. More... | |
virtual int | calc_eq_p (quark &u, quark &d, quark &s, double &gap1, double &gap2, double &gap3, thermo <h) |
Equation of state and gap equations as a function of chemical potential. | |
virtual int | calc_eq_e (quark &u, quark &d, quark &s, double &gap1, double &gap2, double &gap3, thermo <h) |
Equation of state and gap equations as a function of the densities. | |
int | calc_eq_temp_p (quark &tu, quark &td, quark &ts, double &gap1, double &gap2, double &gap3, thermo &qb, double temper) |
Equation of state and gap equations as a function of chemical potentials at finite temperature. | |
int | gapfunms (size_t nv, const ubvector &x, ubvector &y) |
Calculates gap equations in y as a function of the constituent masses in x . More... | |
int | gapfunqq (size_t nv, const ubvector &x, ubvector &y) |
Calculates gap equations in y as a function of the quark condensates in x . More... | |
int | gapfunmsT (size_t nv, const ubvector &x, ubvector &y) |
Calculates gap equations in y as a function of the constituent masses in x . More... | |
int | gapfunqqT (size_t nv, const ubvector &x, ubvector &y) |
Calculates gap equations in y as a function of the quark condensates in x . More... | |
![]() | |
virtual int | calc_e (quark &u, quark &d, quark &s, thermo &th) |
Calculate equation of state as a function of density. | |
virtual int | calc_temp_e (quark &u, quark &d, quark &s, double temper, thermo &th) |
Calculate equation of state as a function of density at finite temperature. | |
![]() | |
virtual void | set_thermo (thermo &th) |
Set class thermo object. | |
virtual const thermo & | get_thermo () |
Get class thermo object. | |
Public Attributes | |
double | limit |
Accuracy limit for Fermi integrals for finite temperature. More... | |
bool | fromqq |
Calculate from quark condensates if true (default true) More... | |
![]() | |
o2scl::fermion_rel | fet |
Object for computing fermion thermodynamics. | |
![]() | |
thermo | def_thermo |
The default thermo object. | |
The default quark masses | |
These are the values from Buballa99 which were used to fix the pion and kaon decay constants, and the pion, kaon, and eta prime masses. They are set in the constructor and are in units of | |
double | up_default_mass |
double | down_default_mass |
double | strange_default_mass |
double | L |
The momentum cutoff (in ![]() | |
double | G |
The four-fermion coupling (in ![]() | |
double | K |
The 't Hooft six-fermion interaction coupling (in ![]() | |
double | B0 |
The bag constant (in ![]() | |
int | set_quarks (quark &u, quark &d, quark &s) |
Set the quark objects to use. More... | |
The default quark objects | |
The masses are automatically set in the constructor to | |
typedef struct o2scl::eos_quark_njl::njtp_s | njtp |
A structure for passing parameters to the integrands. | |
quark | def_up |
quark | def_down |
quark | def_strange |
mroot_hybrids< mm_funct, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix< double >, jac_funct > | def_solver |
The default solver. | |
inte_qag_gsl | def_it |
The default integrator. | |
inte * | it |
The integrator for finite temperature integrals. | |
mroot< mm_funct, boost::numeric::ublas::vector< double >, jac_funct > * | solver |
The solver to use for set_parameters() | |
quark * | up |
The up quark. | |
quark * | down |
The down quark. | |
quark * | strange |
The strange quark. | |
double | cp_temp |
The temperature for calc_temp_p() | |
virtual const char * | type () |
Return string denoting type ("eos_quark_njl") | |
virtual int | set_solver (mroot< mm_funct, boost::numeric::ublas::vector< double >, jac_funct > &s) |
Set solver to use in set_parameters() | |
virtual int | set_inte (inte<> &i) |
Set integration object. | |
int | B0fun (size_t nv, const ubvector &x, ubvector &y) |
Used by calc_B0() to compute the bag constant. | |
void | njbag (quark &q) |
Calculates the contribution to the bag constant from quark q . | |
double | iqq (double x, const njtp &pa) |
The integrand for the quark condensate. | |
double | ide (double x, const njtp &pa) |
The integrand for the density. | |
double | ied (double x, const njtp &pa) |
The integrand for the energy density. | |
double | ipr (double x, const njtp &pa) |
The integrand for the pressure. | |
Additional Inherited Members | |
![]() | |
thermo * | eos_thermo |
A pointer to the thermo object. | |
This function automatically solves the gap equations.
Reimplemented from o2scl::eos_quark.
|
virtual |
This function automatically solves the gap equations.
Reimplemented from o2scl::eos_quark.
The function utilizes the quark objects which can be specified in set_quarks() and the thermo object which can be specified in eos::set_thermo().
The function utilizes the quark objects which can be specified in set_quarks() and the thermo object which can be specified in eos::set_thermo().
The function utilizes the quark objects which can be specified in set_quarks() and the thermo object which can be specified in eos::set_thermo().
The function utilizes the quark objects which can be specified in set_quarks() and the thermo object which can be specified in eos::set_thermo().
|
virtual |
This function allows the user to specify the momentum cutoff, lambda
, the four-fermion coupling fourferm
and the six-fermion coupling from the 't Hooft interaction sixferm
. If 0.0 is given for any of the values, then the default is used ( ).
The value of the shift in the bag constant B0
is automatically calculated to ensure that the energy density and the pressure of the vacuum are zero. The functions set_quarks() and set_thermo() can be used before hand to specify the quark and thermo objects.
The quark objects are used in gapfunms(), gapfunqq(), gapfunmsT(), gapfunqqT(), and B0fun().
bool o2scl::eos_quark_njl::fromqq |
If this is false, then computations are performed using the effective masses as inputs
Definition at line 173 of file eos_quark_njl.h.
double o2scl::eos_quark_njl::limit |
limit is used for the finite temperature integrals to ensure that no numbers larger than exp(limit) or smaller than exp(-limit) are avoided. (Default: 20)
Definition at line 166 of file eos_quark_njl.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).