#include <fermion.h>
This is an abstract base for the computation of finite-temperature fermionic statistics. Different children (e.g. eff_fermion and rel_fermion) use different techniques to computing the momentum integrations.
Because massless fermions at finite temperature are much simpler, there are separate member functions included in this class to handle them. The functions massless_calc_density() and massless_calc_mu() compute the thermodynamics of massless fermions at finite temperature given the density or the chemical potentials. The functions massless_pair_density() and massless_pair_mu() perform the same task, but automatically include antiparticles.
The function massless_calc_density() uses a root object to solve for the chemical potential as a function of the density. The default is an object of type cern_mroot_root. The function massless_pair_density() does not need to use the root object because of the simplification afforded by the inclusion of antiparticles.
Definition at line 176 of file fermion.h.
Public Member Functions | |
fermion_T (double mass=0, double dof=0) | |
Create a fermion with mass mass and degeneracy dof . | |
virtual int | calc_mu (const double temper)=0 |
Calculate properties as function of chemical potential. | |
virtual int | calc_density (const double temper)=0 |
Calculate properties as function of density. | |
virtual int | pair_mu (const double temper)=0 |
Calculate properties with antiparticles as function of chemical potential. | |
virtual int | pair_density (const double temper)=0 |
Calculate properties with antiparticles as function of density. | |
int | set_massless_root (root< const double, funct< const double > > &rp) |
Set the solver for use in massless_calc_density(). | |
virtual const char * | type () |
Return string denoting type ("fermion_T"). | |
Massless fermions | |
virtual int | massless_calc_mu (const double temper) |
Finite temperature massless fermions. | |
virtual int | massless_calc_density (const double temper) |
Finite temperature massless fermions. | |
int | massless_pair_mu (const double temper) |
Finite temperature massless fermions and antifermions. | |
int | massless_pair_density (const double temper) |
Finite temperature massless fermions and antifermions. | |
Data Fields | |
cern_mroot_root< const double, funct< const double > > | def_massless_root |
The default solver for massless_calc_density(). |
int massless_pair_density | ( | const double | temper | ) |
Finite temperature massless fermions and antifermions.
In the cases and
, expansions are used instead of the exact formulas to avoid loss of precision.
In particular, using the parameter
and defining the expression
we can write the chemical potential as
These expressions, however, do not work well when is very large or very small, so series expansions are used whenever
or
. For large
,
and for small ,
This approach works to within about 1 part in , and is tested in
fermion_ts.cpp
.
cern_mroot_root<const double, funct<const double> > def_massless_root |
The default solver for massless_calc_density().
We default to cern_mroot_root here since we don't have a bracket or a derivative.
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page