#include <rel_fermion.h>
This implements an equation of state for a relativistic fermion using direct integration. Define the degeneracy parameter
where is the effective chemical potential and
is the effective mass. For
greater than deg_limit (degenerate regime), a finite interval integrator is used and for
less than deg_limit (non-degenerate regime), an integrator over the interval from
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
The default integrators are gsl_inte_qag and gsl_inte_qagiu.
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 * > > °_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(). |