An EOS like eos_quark_cfl but with a color-superconducting 't Hooft interaction. More...
#include <eos_quark_cfl6.h>
Public Types | |
typedef boost::numeric::ublas::vector< std::complex< double > > | ubvector_complex |
typedef boost::numeric::ublas::matrix< std::complex< double > > | ubmatrix_complex |
![]() | |
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 | calc_eq_temp_p (quark &u, quark &d, quark &s, double &qq1, double &qq2, double &qq3, double &gap1, double &gap2, double &gap3, double mu3, double mu8, double &n3, double &n8, thermo &qb, double temper) |
Calculate the EOS. More... | |
virtual int | integrands (double p, double res[]) |
The momentum integrands. | |
virtual int | test_derivatives (double lmom, double mu3, double mu8, test_mgr &t) |
Check the derivatives specified by eigenvalues() | |
virtual int | eigenvalues6 (double lmom, double mu3, double mu8, double egv[36], double dedmuu[36], double dedmud[36], double dedmus[36], double dedmu[36], double dedmd[36], double dedms[36], double dedu[36], double dedd[36], double deds[36], double dedmu3[36], double dedmu8[36]) |
Calculate the energy eigenvalues and their derivatives. More... | |
virtual int | make_matrices (double lmom, double mu3, double mu8, double egv[36], double dedmuu[36], double dedmud[36], double dedmus[36], double dedmu[36], double dedmd[36], double dedms[36], double dedu[36], double dedd[36], double deds[36], double dedmu3[36], double dedmu8[36]) |
Construct the matrices, but don't solve the eigenvalue problem. More... | |
virtual const char * | type () |
Return string denoting type ("eos_quark_cfl6") | |
![]() | |
virtual int | set_parameters (double lambda=0.0, double fourferm=0.0, double sixferm=0.0, double fourgap=0.0) |
Set the parameters and the bag constant 'B0'. More... | |
virtual int | eigenvalues (double lmom, double mu3, double mu8, double egv[36], double dedmuu[36], double dedmud[36], double dedmus[36], double dedmu[36], double dedmd[36], double dedms[36], double dedu[36], double dedd[36], double deds[36], double dedmu3[36], double dedmu8[36]) |
Calculate the energy eigenvalues as a function of the momentum. More... | |
int | set_quartic (quartic_real_coeff &q) |
Set the routine for solving quartics. | |
int | test_integration (test_mgr &t) |
Test the integration routines. | |
int | test_normal_eigenvalues (test_mgr &t) |
Test the routine to compute the eigenvalues of non-superfluid fermions. | |
int | test_gapped_eigenvalues (test_mgr &t) |
Test the routine to compute the eigenvalues of superfluid fermions. | |
![]() | |
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. | |
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 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. | |
![]() | |
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. | |
![]() | |
virtual void | set_thermo (thermo &th) |
Set class thermo object. | |
virtual const thermo & | get_thermo () |
Get class thermo object. | |
Public Attributes | |
double | KD |
The color superconducting 't Hooft coupling (default 0) | |
double | kdlimit |
The absolute value below which the CSC 't Hooft coupling is ignored(default ![]() | |
![]() | |
double | eq_limit |
The equal mass threshold. | |
bool | integ_test |
Set to true to test the integration (default false) | |
quartic_real_coeff_cern | def_quartic |
The default quartic routine. More... | |
double | gap_limit |
Smallest allowable gap (default 0.0) More... | |
bool | zerot |
If this is true, then finite temperature corrections are ignored (default false) More... | |
bool | fixed_mass |
Use a fixed quark mass and ignore the quark condensates. | |
bool | color_neut |
If true, then ensure color neutrality. | |
double | GD |
Diquark coupling constant (default 3 G/4) More... | |
double | inte_epsabs |
The absolute precision for the integration (default ![]() | |
double | inte_epsrel |
The relative precision for the integration (default ![]() | |
size_t | inte_npoints |
The number of points used in the last integration (default 0) More... | |
![]() | |
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_funct11 > | def_solver |
The default solver. | |
inte_qag_gsl | def_it |
The default integrator. | |
double | up_default_mass |
double | down_default_mass |
double | strange_default_mass |
quark | def_up |
quark | def_down |
quark | def_strange |
![]() | |
fermion_eval_thermo * | fet |
Object for computing fermion thermodynamics. | |
fermion_eff | def_fet |
Default fermion thermodynamics. | |
![]() | |
thermo | def_thermo |
The default thermo object. | |
Protected Member Functions | |
int | set_masses () |
Set the quark effective masses from the gaps and the condensates. | |
![]() | |
int | normal_eigenvalues (double m, double lmom, double mu, double lam[2], double dldmu[2], double dldm[2]) |
Compute ungapped eigenvalues and the appropriate derivatives. | |
int | gapped_eigenvalues (double m1, double m2, double lmom, double mu1, double mu2, double tdelta, double lam[4], double dldmu1[4], double dldmu2[4], double dldm1[4], double dldm2[4], double dldg[4]) |
Treat the simply gapped quarks in all cases gracefully. More... | |
double | rescale_error (double err, double result_abs, double result_asc) |
The error scaling function for integ_err. | |
int | integ_err (double a, double b, const size_t nr, ubvector &res, double &err2) |
A new version of inte_qng_gsl to integrate several functions at the same time. | |
![]() | |
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 | |
gsl_matrix_complex * | iprop6 |
Storage for the inverse propagator. | |
gsl_matrix_complex * | eivec6 |
The eigenvectors. | |
ubmatrix_complex | dipdgapu |
The derivative wrt the ds gap. | |
ubmatrix_complex | dipdgapd |
The derivative wrt the us gap. | |
ubmatrix_complex | dipdgaps |
The derivative wrt the ud gap. | |
ubmatrix_complex | dipdqqu |
The derivative wrt the up quark condensate. | |
ubmatrix_complex | dipdqqd |
The derivative wrt the down quark condensate. | |
ubmatrix_complex | dipdqqs |
The derivative wrt the strange quark condensate. | |
gsl_vector * | eval6 |
Storage for the eigenvalues. | |
gsl_eigen_hermv_workspace * | w6 |
GSL workspace for the eigenvalue computation. | |
![]() | |
double | temper |
Temperature. | |
double | smu3 |
3rd gluon chemical potential | |
double | smu8 |
8th gluon chemical potential | |
gsl_matrix_complex * | iprop |
Inverse propagator matrix. | |
gsl_matrix_complex * | eivec |
The eigenvectors. | |
ubmatrix_complex | dipdgapu |
The derivative of the inverse propagator wrt the ds gap. | |
ubmatrix_complex | dipdgapd |
The derivative of the inverse propagator wrt the us gap. | |
ubmatrix_complex | dipdgaps |
The derivative of the inverse propagator wrt the ud gap. | |
gsl_vector * | eval |
The eigenvalues. | |
gsl_eigen_hermv_workspace * | w |
Workspace for eigenvalue computation. | |
quartic_real_coeff * | quartic |
The routine to solve quartics. | |
![]() | |
inte * | it |
The integrator for finite temperature integrals. | |
mroot< mm_funct11, boost::numeric::ublas::vector< double >, jac_funct11 > * | 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() | |
![]() | |
thermo * | eos_thermo |
A pointer to the thermo object. | |
Static Protected Attributes | |
static const int | mat_size =36 |
The size of the matrix to be diagonalized. | |
Private Member Functions | |
eos_quark_cfl6 (const eos_quark_cfl6 &) | |
eos_quark_cfl6 & | operator= (const eos_quark_cfl6 &) |
Additional Inherited Members | |
![]() | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::vector< std::complex< double > > | ubvector_complex |
typedef boost::numeric::ublas::matrix< std::complex< double > > | ubmatrix_complex |
Beginning with the Lagrangian:
We can simplify the relevant terms in :
and in :
Using the definition:
and the ansatzes:
for the mean field approximation, we can rewrite the Lagrangian
If we make the definition
Created for Steiner05.
Definition at line 190 of file eos_quark_cfl6.h.
|
virtual |
Calculate the EOS from the quark condensates. Return the mass gap equations in qq1
, qq2
, qq3
, and the normal gap equations in gap1
, gap2
, and gap3
.
Using fromqq=true
as in eos_quark_njl and nambujl_temp_eos does not work here and will return an error.
If all of the gaps are less than gap_limit, then the nambujl_temp_eos::calc_temp_p() is used, and gap1
, gap2
, and gap3
are set to equal u.del
, d.del
, and s.del
, respectively.
Reimplemented from o2scl::eos_quark_cfl.
|
virtual |
Given the momentum mom
, and the chemical potentials associated with the third and eighth gluons (mu3
and mu8
), this computes the eigenvalues of the inverse propagator and the assocated derivatives.
Note that this is not the same as eos_quark_cfl::eigenvalues() which returns dedmu
rather dedqqu
.
|
virtual |
This is used by check_derivatives() to make sure that the derivative entries are right.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).