Nonrelativistic fermion class. More...
#include <fermion_nonrel.h>
Public Member Functions | |
fermion_nonrel () | |
Create a nonrelativistic fermion with mass 'm' and degeneracy 'g'. | |
virtual void | calc_mu_zerot (fermion &f) |
Zero temperature fermions. | |
virtual void | calc_density_zerot (fermion &f) |
Zero temperature fermions. | |
virtual void | calc_mu (fermion &f, double temper) |
Calculate properties as function of chemical potential. | |
virtual int | calc_density (fermion &f, double temper) |
Calculate properties as function of density. More... | |
virtual void | pair_mu (fermion &f, double temper) |
Calculate properties with antiparticles as function of chemical potential. | |
virtual int | pair_density (fermion &f, double temper) |
Calculate properties with antiparticles as function of density. More... | |
virtual void | nu_from_n (fermion &f, double temper) |
Calculate effective chemical potential from density. | |
void | set_density_root (root<> &rp) |
Set the solver for use in calculating the chemical potential from the density. | |
virtual const char * | type () |
Return string denoting type ("fermion_nonrel") | |
![]() | |
virtual bool | calc_mu_ndeg (fermion &f, double temper, double prec=1.0e-18, bool inc_antip=false) |
Non-degenerate expansion for fermions. More... | |
virtual bool | calc_mu_deg (fermion &f, double temper, double prec=1.0e-18) |
Degenerate expansion for fermions. More... | |
void | set_massless_root (root<> &rp) |
Set the solver for use in massless_calc_density() | |
virtual double | calibrate (fermion &f, int verbose=0, std::string fname="") |
Test the thermodynamics of calc_density() and calc_mu() More... | |
virtual void | massless_calc_mu (fermion &f, double temper) |
Finite temperature massless fermions. | |
virtual void | massless_calc_density (fermion &f, double temper) |
Finite temperature massless fermions. | |
virtual void | massless_pair_mu (fermion &f, double temper) |
Finite temperature massless fermions and antifermions. | |
virtual void | massless_pair_density (fermion &f, double temper) |
Finite temperature massless fermions and antifermions. More... | |
![]() | |
void | kf_from_density (fermion &f) |
Calculate the Fermi momentum from the density. More... | |
void | energy_density_zerot (fermion &f) |
Energy density at T=0 from fermion::kf and part::ms. More... | |
void | pressure_zerot (fermion &f) |
Pressure at T=0 from fermion::kf and part::ms. More... | |
Public Attributes | |
root_cern | def_density_root |
The default solver for calc_density(). | |
![]() | |
root_cern | def_massless_root |
The default solver for massless_calc_density() More... | |
Protected Member Functions | |
double | solve_fun (double x, double nog, double msT) |
Function to compute chemical potential from density. More... | |
![]() | |
double | massless_solve_fun (double x, fermion &f, double temper) |
Solve for the chemical potential for massless fermions. | |
Protected Attributes | |
root * | density_root |
Solver to compute chemical potential from density. | |
![]() | |
root * | massless_root |
A pointer to the solver for massless fermions. | |
Private Member Functions | |
fermion_nonrel (const fermion_nonrel &) | |
fermion_nonrel & | operator= (const fermion_nonrel &) |
The rest mass energy density is given by n*m
not n*ms
. Note that the effective mass here is the Landau mass, not the Dirac mass.
Pressure is computed with
and entropy density with
These relations can be verified with an integration by parts. See, e.g. Callen85 pg. 403 or Landau80 pg. 164.
The functions pair_density() and pair_mu() have not been implemented and just call the error handler.
Definition at line 84 of file fermion_nonrel.h.
|
virtual |
|
inlinevirtual |
Implements o2scl::fermion_eval_thermo.
Definition at line 121 of file fermion_nonrel.h.
|
protected |
Variable nog
is the target baryon density divided by the spin degeneracy, and msT
is the effective mass times the temperature.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).