Class eos_quark_njl (o2scl)¶
-
class
o2scl
::
eos_quark_njl
: public o2scl::eos_quark¶ Nambu Jona-Lasinio EOS.
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 tofalse
.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 \( T=0 \) EOS, the energy density for each quark is set so that \( \varepsilon + P = \mu n \) .
Finite T documentation
This implementation includes contributions from antiquarks.
Details
The Lagrangian is
\[ {\cal L} = \bar q ( i \partial{\hskip-2.0mm}/ - {\hat m_0}) q \;+\; G \sum_{k=0}^8 [\,({\bar q}\lambda_k q)^2 + ({\bar q} i\gamma_5\lambda_k q)^2\,] + {\cal L}_6 \]\[ {\cal L}_6 = - K \,[ \,{\rm det}_f ({\bar q}(1+\gamma_5) q) + {\rm det}_f ({\bar q}(1-\gamma_5) q) \,] \, . \]And the corresponding thermodynamic potential is
\[ \Omega = \Omega_{FG} + \Omega_{\mathrm{Int}} \]where \(\Omega_{FG}\) is the Fermi gas contribution and\[ \frac{\Omega_{\mathrm{Int}}}{V} = - 2 N_c \sum_{i=u,d,s} \int \frac {d^3p}{(2\pi)^3} \sqrt{m_i^2 + p^2} + \frac{\Omega_{V}}{V} \]\[ \frac{\Omega_{V}}{V} = \sum_{i=u,d,s} 2 G \langle\bar{q}_i q_i \rangle^2 - 4 K \langle \bar{q}_u q_u \rangle \langle \bar{q}_d q_d \rangle \langle \bar{q}_s q_s \rangle + B_0\,. \]where \(B_0\) is a constant defined to ensure that the energy density and the pressure of the vacuum is zero.Unlike Buballa99, the bag constant, \(\Omega_{\mathrm{Int}}/V\) is defined without the term
\[ \sum_{i=u,d,s} 2 N_C \int_0^{\Lambda} \frac{d^3 p}{(2 \pi)^3} \sqrt{ m_{0,i}^2+p^2 } ~dp \]since this allows an easier comparison to the finite temperature EOS. The constant \(B_0\) 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
\[ \left< \bar{q} q \right> = \frac{\partial m^{*}}{\partial m} \]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.
- Todo:
Better documentation.
- Idea for Future:
Remove the njtp structure and move the numbers there to function parameters.
- Idea for Future:
Consider rewriting the testing code and making the various gap functions protected instead of public.
- Idea for Future:
Remove the stored quark pointers if they are unnecessary?
Subclassed by o2scl::eos_quark_cfl
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 \( \mathrm{fm}^{-1} \) . The default values are 5.5 MeV for the up and down quark and 140.7 MeV for the strange quark (then divided by o2scl_const::hc_mev_fm for the conversion).
-
double
up_default_mass
¶
-
double
down_default_mass
¶
-
double
strange_default_mass
¶
-
double
L
¶ The momentum cutoff (in \( \mathrm{fm}^{-1} \))
-
double
G
¶ The four-fermion coupling (in \( \mathrm{fm}^{2} \))
-
double
K
¶ The ‘t Hooft six-fermion interaction coupling (in \( \mathrm{fm}^{2} \))
-
double
B0
¶ The bag constant (in \( \mathrm{fm}^{-4} \))
-
int
set_quarks
(quark &u, quark &d, quark &s)¶ Set the quark objects to use.
The quark objects are used in gapfunms(), gapfunqq(), gapfunmsT(), gapfunqqT(), and B0fun().
The default quark objects
The masses are automatically set in the constructor to
up_default_mass
,down_default_mass
, andstrange_default_mass.c
-
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()
-
const char *
type
()¶ Return string denoting type (“eos_quark_njl”)
-
int
set_solver
(mroot<mm_funct, boost::numeric::ublas::vector<double>, jac_funct> &s)¶ Set solver to use in set_parameters()
-
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
.
Public Types
-
typedef boost::numeric::ublas::vector<double>
ubvector
¶
Public Functions
-
int
set_parameters
(double lambda = 0.0, double fourferm = 0.0, double sixferm = 0.0)¶ Set the parameters and the bag constant
B0
.This function allows the user to specify the momentum cutoff,
lambda
, the four-fermion couplingfourferm
and the six-fermion coupling from the ‘t Hooft interactionsixferm
. If 0.0 is given for any of the values, then the default is used ( \( \Lambda=602.3/(\hbar c), G=1.835/\Lambda^2, K=12.36/\Lambda^5 \)).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.
-
eos_quark_njl
()¶
-
int
calc_p
(quark &u, quark &d, quark &s, thermo <h)¶ Equation of state as a function of chemical potentials.
This function automatically solves the gap equations.
-
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.
This function automatically solves the gap equations.
-
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.
-
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 inx
.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().
-
int
gapfunqq
(size_t nv, const ubvector &x, ubvector &y)¶ Calculates gap equations in
y
as a function of the quark condensates inx
.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().
-
int
gapfunmsT
(size_t nv, const ubvector &x, ubvector &y)¶ Calculates gap equations in
y
as a function of the constituent masses inx
.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().
-
int
gapfunqqT
(size_t nv, const ubvector &x, ubvector &y)¶ Calculates gap equations in
y
as a function of the quark condensates inx
.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().
Public Members
-
double
limit
¶ Accuracy limit for Fermi integrals for finite temperature.
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)
-
bool
fromqq
¶ Calculate from quark condensates if true (default true)
If this is false, then computations are performed using the effective masses as inputs
-
struct
njtp_s
¶ A structure for passing parameters to the integrands.