fermion_T Class Reference

Fermion with finite-temperature thermodynamics [abstract base]. More...

#include <fermion.h>

Inheritance diagram for fermion_T:

fermion part eff_fermion nonrel_fermion quark rel_fermion sn_fermion sn_nr_fermion eff_quark eff_quark

Detailed Description

Fermion with finite-temperature thermodynamics [abstract base].

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.

Idea for future:
Create a Chebyshev approximation for inverting the the Fermi functions for massless_calc_density() functions?
This Mathematica notebook contains the derivations of related series expansions and some algebra for the massless_pair() functions. fermion.nb, and fermion.pdf.

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

Member Function Documentation

int massless_pair_density ( const double  temper  ) 

Finite temperature massless fermions and antifermions.

In the cases $ n^3 >> T $ and $ T >> n^3 $ , expansions are used instead of the exact formulas to avoid loss of precision.

In particular, using the parameter

\[ \alpha = \frac{g^2 \pi^2 T^6}{243 n^2} \]

and defining the expression

\[ \mathrm{cbt} = \alpha^{-1/6} \left( -1 + \sqrt{1+\alpha}\right)^{1/3} \]

we can write the chemical potential as

\[ \mu = \frac{\pi T}{\sqrt{3}} \left(\frac{1}{\mathrm{cbt}} - \mathrm{cbt} \right) \]

These expressions, however, do not work well when $ \alpha $ is very large or very small, so series expansions are used whenever $ \alpha > 10^{4} $ or $ \alpha < 3 \times 10^{-4} $. For large $ \alpha $,

\[ \left(\frac{1}{\mathrm{cbt}} - \mathrm{cbt} \right) \approx \frac{2^{1/3}}{\alpha^{1/6}} - \frac{\alpha^{1/6}}{2^{1/3}} + \frac{\alpha^{5/6}}{6~2^{2/3}} + \frac{\alpha^{7/6}}{12~2^{1/3}} - \frac{\alpha^{11/6}}{18~2^{2/3}} - \frac{5 \alpha^{13/6}}{144~2^{1/3}} + \frac{77 \alpha^{17/6}}{2592~2^{2/3}} \]

and for small $ \alpha $,

\[ \left(\frac{1}{\mathrm{cbt}} - \mathrm{cbt} \right) \approx \frac{2}{3} \sqrt{\frac{1}{\alpha}} - \frac{8}{81} \left(\frac{1}{\alpha}\right)^{3/2} + \frac{32}{729} \left(\frac{1}{\alpha}\right)^{5/2} \]

This approach works to within about 1 part in $ 10^{12} $, and is tested in fermion_ts.cpp.

Idea for future:
This could be improved by including more terms in the expansions.


Field Documentation

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.

Definition at line 306 of file fermion.h.


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

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page