rel_fermion Class Reference

#include <rel_fermion.h>

Inheritance diagram for rel_fermion:

fermion part

Detailed Description

Equation of state for a relativistic fermion.

This implements an equation of state for a relativistic fermion using direct integration. Define the degeneracy parameter

\[ \psi=(\nu-m^{*})/T \]

where $ \nu $ is the effective chemical potential and $ m^{*} $ is the effective mass. For $ \psi $ greater than deg_limit (degenerate regime), a finite interval integrator is used and for $ \psi $ less than deg_limit (non-degenerate regime), an integrator over the interval from $ [0,\infty) $ is used. Typical choices are Gauss-Legendre integration for the degenerate regime and Gauss-Laguerre integration for the non-degenerate regime. The upper limit on the degenerate integration is given by

\[ \sqrt{(20 T+{\nu})^2-m^{*,2}} \]

The default integrators are gsl_inte_qag and gsl_inte_qagiu.

Note:
This does not work with inc_rest_mass=false

Definition at line 68 of file rel_fermion.h.


Public Member Functions

 rel_fermion (double m=0.0, double g=0.0)
 Create a fermion with mass m and degeneracy g.
virtual int calc_mu (const double temper)
 Calculate properties as function of chemical potential.
virtual int calc_density (const double temper)
 Calculate properties as function of density.
virtual int pair_mu (const double temper)
 Calculate properties with antiparticles as function of chemical potential.
virtual int pair_density (const double temper)
 Calculate properties with antiparticles as function of density.
virtual int nu_from_n (const double temper)
 Calculate effective chemical potential from density.
int set_inte (inte< void *, funct< void * > > &non_it, inte< void *, funct< void * > > &deg_it)
 Set integrators.
int set_density_root (root< void *, funct< void * > > &rp)
 Set the solver for use in calculating the chemical potential from the density.
virtual const char * type ()
 Return string denoting type ("rel_fermion").

Data Fields

double deg_limit
 The critical degeneracy at which to switch integration techniques.
fermion unc
 Storage for the uncertainty.
bool guess_from_nu
 If true, use the present value of the chemical potential as a guess for the new chemical potential.
cern_mroot_root< void *, funct
< void * > > 
def_density_root
 The default solver for calc_density().
gsl_inte_qag< void *, funct
< void * > > 
def_dit
 The default integrator for degenerate fermions.
gsl_inte_qagiu< void *, funct
< void * > > 
def_nit
 The default integrator for non-degenerate fermions.

Protected Member Functions

double density_fun (double u, void *&pa)
 The integrand for the density for non-degenerate fermions.
double energy_fun (double u, void *&pa)
 The integrand for the energy density for non-degenerate fermions.
double entropy_fun (double u, void *&pa)
 The integrand for the entropy density for non-degenerate fermions.
double deg_density_fun (double u, void *&pa)
 The integrand for the density for degenerate fermions.
double deg_energy_fun (double u, void *&pa)
 The integrand for the energy density for degenerate fermions.
double deg_entropy_fun (double u, void *&pa)
 The integrand for the entropy density for degenerate fermions.
int solve_fun (double x, double &yy, void *&pa)
 Solve for the chemical potential given the density.
int pair_fun (double x, double &yy, void *&pa)

Protected Attributes

inte< void *, funct< void * > > * nit
 The non-degenerate integrator.
inte< void *, funct< void * > > * dit
 The degenerate integrator.
root< void *, funct< void * > > * density_root
 The solver for calc_density().

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