Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::eos_quark_njl Class Reference

Nambu Jona-Lasinio EOS at zero temperature. More...

#include <eos_quark_njl.h>

Inheritance diagram for o2scl::eos_quark_njl:
o2scl::eos_quark o2scl::eos_base o2scl::eos_quark_cfl o2scl::eos_quark_cfl6

Classes

struct  njtp_s
 A structure for passing parameters to the integrands. More...
 

Public Types

typedef boost::numeric::ublas::vector< double > ubvector
 
typedef struct o2scl::eos_quark_njl::njtp_s njtp
 A structure for passing parameters to the integrands.
 

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 &lth)
 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 &lth)
 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 &lth)
 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.
 
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...
 
int set_quarks (quark &u, quark &d, quark &s)
 Set the quark objects to use. More...
 
virtual const char * type ()
 Return string denoting type ("eos_quark_njl")
 
virtual int set_solver (mroot< mm_funct11, boost::numeric::ublas::vector< double >, jac_funct11 > &s)
 Set solver to use in set_parameters()
 
virtual int set_inte (inte<> &i)
 Set integration object.
 
- Public Member Functions inherited from o2scl::eos_quark
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.
 
- Public Member Functions inherited from o2scl::eos_base
virtual void set_thermo (thermo &th)
 Set class thermo object.
 
virtual const thermoget_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...
 
double L
 The momentum cutoff.
 
double G
 The four-fermion coupling.
 
double K
 The 't Hooft six-fermion interaction coupling.
 
double B0
 The bag constant.
 
mroot_hybrids< mm_funct11, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix< double >, jac_funct11def_solver
 The default solver.
 
inte_qag_gsl def_it
 The default integrator.
 
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} $ .

double up_default_mass
 
double down_default_mass
 
double strange_default_mass
 
The default quark objects

The masses are automatically set in the constructor to up_default_mass, down_default_mass, and strange_default_mass.c

quark def_up
 
quark def_down
 
quark def_strange
 
- Public Attributes inherited from o2scl::eos_quark
fermion_eval_thermofet
 Object for computing fermion thermodynamics.
 
fermion_eff def_fet
 Default fermion thermodynamics.
 
- Public Attributes inherited from o2scl::eos_base
thermo def_thermo
 The default thermo object.
 

Protected Member Functions

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.
 

Protected Attributes

inteit
 The integrator for finite temperature integrals.
 
mroot< mm_funct11, boost::numeric::ublas::vector< double >, jac_funct11 > * solver
 The solver to use for set_parameters()
 
quarkup
 The up quark.
 
quarkdown
 The down quark.
 
quarkstrange
 The strange quark.
 
double cp_temp
 The temperature for calc_temp_p()
 
- Protected Attributes inherited from o2scl::eos_base
thermoeos_thermo
 A pointer to the thermo object.
 

Detailed Description

Calculates everything from the quark condensates ([uds].qq) and the chemical potentials ([uds].mu). If "fromqq" is set to false, then instead it calculates everything from the dynamical masses ([uds].ms) and the chemical potentials. L, G, K, and B0 are fixed constants. [uds].pr returns the pressure due to the Fermi-gas contribution plus the bag pressure contribution. [uds.ed] is the energy density for each quark so that e.g. u.ed+u.pr=u.mu*u.n. B0 should be fixed using calc_B0() beforehand to ensure that the energy density and pressure of the vacuum is zero.

The functions set_parameters() should be called first.

The code is based on Buballa99.

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_{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_{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.

Finite T documentation

Calculates everything from the quark condensates ([uds].qq) and the chemical potentials ([uds].mu). If "fromqq" is set to false, then instead it calculates everything from the dynamical masses ([uds].ms) and the chemical potentials. L, G, K, and B0 are fixed constants. [uds].pr returns the pressure due to the Fermi-gas contribution plus the bag pressure contribution. [uds.ed] is the energy density for each quark so that e.g. u.ed+u.pr=u.mu*u.n. B0 is fixed to ensure that the energy density and pressure of the vacuum is zero.

This implementation includes contributions from antiquarks.


References:

Created for Steiner00. See also Buballa99 and Hatsuda94.

Definition at line 131 of file eos_quark_njl.h.

Member Function Documentation

◆ calc_p()

virtual int o2scl::eos_quark_njl::calc_p ( quark u,
quark d,
quark s,
thermo lth 
)
virtual

This function automatically solves the gap equations

Reimplemented from o2scl::eos_quark.

◆ calc_temp_p()

virtual int o2scl::eos_quark_njl::calc_temp_p ( quark u,
quark d,
quark s,
double  T,
thermo th 
)
virtual

This function automatically solves the gap equations

Reimplemented from o2scl::eos_quark.

◆ gapfunms()

int o2scl::eos_quark_njl::gapfunms ( size_t  nv,
const ubvector x,
ubvector y 
)

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().

◆ gapfunmsT()

int o2scl::eos_quark_njl::gapfunmsT ( size_t  nv,
const ubvector x,
ubvector y 
)

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().

◆ gapfunqq()

int o2scl::eos_quark_njl::gapfunqq ( size_t  nv,
const ubvector x,
ubvector y 
)

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().

◆ gapfunqqT()

int o2scl::eos_quark_njl::gapfunqqT ( size_t  nv,
const ubvector x,
ubvector y 
)

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().

◆ set_parameters()

virtual int o2scl::eos_quark_njl::set_parameters ( double  lambda = 0.0,
double  fourferm = 0.0,
double  sixferm = 0.0 
)
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 ( $ \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.

◆ set_quarks()

int o2scl::eos_quark_njl::set_quarks ( quark u,
quark d,
quark s 
)

The quark objects are used in gapfunms(), gapfunqq(), gapfunmsT(), gapfunqqT(), and B0fun().

Member Data Documentation

◆ fromqq

bool o2scl::eos_quark_njl::fromqq

If this is false, then computations are performed using the effective masses as inputs

Definition at line 168 of file eos_quark_njl.h.

◆ limit

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 161 of file eos_quark_njl.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).