Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::fermion_deriv_nr_tl< fp_t > Class Template Reference

Equation of state for a nonrelativistic fermion. More...

#include <fermion_deriv_nr.h>

Inheritance diagram for o2scl::fermion_deriv_nr_tl< fp_t >:
o2scl::fermion_deriv_thermo_tl< double > o2scl::deriv_thermo_base_tl< double >

Detailed Description

template<class fp_t = double>
class o2scl::fermion_deriv_nr_tl< fp_t >

This does not include the rest mass energy in the chemical potential or the rest mass energy density in the energy density to alleviate numerical precision problems at low densities

This implements an equation of state for a nonrelativistic fermion using direct integration. After subtracting the rest mass from the chemical potentials, the distribution function is

\[ \left\{1+\exp\left[\left(\frac{k^2} {2 m^{*}}-\nu\right)/T\right]\right\}^{-1} \]

where $ \nu $ is the effective chemical potential, $ m $ is the rest mass, and $ m^{*} $ is the effective mass. For later use, we define $ E^{*} = k^2/2/m^{*} $ .

Uncertainties are given in unc.

Evaluation of the derivatives

The relevant derivatives of the distribution function are

\[ \frac{\partial f}{\partial T}= f(1-f)\frac{E^{*}-\nu}{T^2} \]

\[ \frac{\partial f}{\partial \nu}= f(1-f)\frac{1}{T} \]

\[ \frac{\partial f}{\partial k}= -f(1-f)\frac{k}{m^{*} T} \]

\[ \frac{\partial f}{\partial m^{*}}= f(1-f)\frac{k^2}{2 m^{*2} T} \]

We also need the derivative of the entropy integrand w.r.t. the distribution function, which is quite simple

\[ {\cal S}\equiv f \ln f +(1-f) \ln (1-f) \qquad \frac{\partial {\cal S}}{\partial f} = \ln \left(\frac{f}{1-f}\right) = \left(\frac{\nu-E^{*}}{T}\right) \]

where the entropy density is

\[ s = - \frac{g}{2 \pi^2} \int_0^{\infty} {\cal S} k^2 d k \]

The derivatives can be integrated directly or they may be converted to integrals over the distribution function through an integration by parts

\[ \int_a^b f(k) \frac{d g(k)}{dk} dk = \left.f(k) g(k)\right|_{k=a}^{k=b} - \int_a^b g(k) \frac{d f(k)}{dk} dk \]

using the distribution function for $ f(k) $ and 0 and $ \infty $ as the limits, we have

\[ \frac{g}{2 \pi^2} \int_0^{\infty} \frac{d g(k)}{dk} f dk = \frac{g}{2 \pi^2} \int_0^{\infty} g(k) f (1-f) \frac{k}{E^{*} T} dk \]

as long as $ g(k) $ vanishes at $ k=0 $ . Rewriting,

\[ \frac{g}{2 \pi^2} \int_0^{\infty} h(k) f (1-f) dk = \frac{g}{2 \pi^2} \int_0^{\infty} f \frac{T m^{*}}{k} \left[ h^{\prime} - \frac{h}{k}\right] d k \]

as long as $ h(k)/k $ vanishes at $ k=0 $ .

Explicit forms

1) The derivative of the density wrt the chemical potential

\[ \left(\frac{d n}{d \mu}\right)_T = \frac{g}{2 \pi^2} \int_0^{\infty} \frac{k^2}{T} f (1-f) dk \]

Using $ h(k)=k^2/T $ we get

\[ \left(\frac{d n}{d \mu}\right)_T = \frac{g}{2 \pi^2} \int_0^{\infty} m^{*} f dk \]

2) The derivative of the density wrt the temperature

\[ \left(\frac{d n}{d T}\right)_{\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} \frac{k^2(E^{*}-\nu)}{T^2} f (1-f) dk \]

Using $ h(k)=k^2(E^{*}-\nu)/T^2 $ we get

\[ \left(\frac{d n}{d T}\right)_{\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} \frac{f}{T} \left[m^{*} \left(E^{*}-\nu\right) -k^2\right] d k \]

3) The derivative of the entropy wrt the chemical potential

\[ \left(\frac{d s}{d \mu}\right)_T = \frac{g}{2 \pi^2} \int_0^{\infty} k^2 f (1-f) \frac{(E^{*}-\nu)}{T^2} dk \]

This verifies the Maxwell relation

\[ \left(\frac{d s}{d \mu}\right)_T = \left(\frac{d n}{d T}\right)_{\mu} \]

4) The derivative of the entropy wrt the temperature

\[ \left(\frac{d s}{d T}\right)_{\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} k^2 f (1-f) \frac{(E^{*}-\nu)^2}{T^3} dk \]

Using $ h(k)=k^2 (E^{*}-\nu)^2/T^3 $

\[ \left(\frac{d s}{d T}\right)_{\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} f \frac{m^{*}}{T^2} \left[\left( E^{*}-\nu \right)^2 +\frac{2 k^2}{m^{*}} \left(E^{*}-\nu\right)\right] d k \]

5) The derivative of the density wrt the effective mass

\[ \left(\frac{d n}{d m^{*}}\right)_{T,\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} \frac{k^2}{2 m^{* 2} T} f (1-f) k^2 dk \]

Using $ h(k)=k^4/(2 m^{* 2} T) $ we get

\[ \left(\frac{d n}{d m^{*}}\right)_{T,\mu} = \frac{g}{2 \pi^2} \int_0^{\infty} f \frac{3 k^2}{2 m^{*}} d k \]

Conversion to unitless variables:

After integrating by parts $ u = k^2/2/m^{*}/T $ and $ y=\mu/T $, so

\[ k d k = m^{*} T d u \]

or

\[ d k = \frac{m^{*} T}{\sqrt{2 m^{*} T u}} d u = \sqrt{\frac{m^{*} T}{2 u}} d u \]

1) The derivative of the density wrt the chemical potential

\[ \left(\frac{d n}{d \mu}\right)_T = \frac{g m^{* 3/2} \sqrt{T}}{2^{3/2} \pi^2} \int_0^{\infty} u^{-1/2} f d u \]

2) The derivative of the density wrt the temperature

\[ \left(\frac{d n}{d T}\right)_{\mu} = \frac{g m^{* 3/2} \sqrt{T}} {2^{3/2} \pi^2} \int_0^{\infty} f d u \left[ 3 u^{1/2} - y u^{-1/2}\right] \]

4) The derivative of the entropy wrt the temperature

\[ \left(\frac{d s}{d T}\right)_{\mu} = \frac{g m^{* 3/2} T^{1/2}}{2^{3/2} \pi^2} \int_0^{\infty} f \left[ 5 u^{3/2} - 6 y u^{1/2} + y^2 u^{-1/2}\right] d u \]

5) The derivative of the density wrt the effective mass

\[ \left(\frac{d n}{d m^{*}}\right)_{T,\mu} = \frac{3 g m{* 1/2} T^{3/2}}{2^{3/2} \pi^2} \int_0^{\infty} u^{1/2} f d u \]

Definition at line 227 of file fermion_deriv_nr.h.

Public Member Functions

 fermion_deriv_nr_tl ()
 Create a fermion with mass m and degeneracy g.
 
virtual void calc_density_zerot (fermion_deriv &f)
 Calculate properties as function of density at $ T=0 $.
 
virtual void calc_mu_zerot (fermion_deriv &f)
 Calculate properties as function of chemical potential at $ T=0 $.
 
virtual int calc_mu (fermion_deriv &f, fp_t temper)
 Calculate properties as function of chemical potential.
 
virtual int calc_density (fermion_deriv &f, fp_t temper)
 Calculate properties as function of density.
 
virtual int pair_mu (fermion_deriv &f, fp_t temper)
 Calculate properties with antiparticles as function of chemical potential.
 
virtual int pair_density (fermion_deriv &f, fp_t temper)
 Calculate properties with antiparticles as function of density.
 
virtual int nu_from_n (fermion_deriv &f, fp_t 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_deriv_nr")
 
- Public Member Functions inherited from o2scl::fermion_deriv_thermo_tl< double >
virtual int calc_mu (fermion_deriv &f, double temper)=0
 Calculate properties as function of chemical potential.
 
virtual int calc_density (fermion_deriv &f, double temper)=0
 Calculate properties as function of density.
 
virtual int pair_mu (fermion_deriv &f, double temper)=0
 Calculate properties with antiparticles as function of chemical potential.
 
virtual int pair_density (fermion_deriv &f, double temper)=0
 Calculate properties with antiparticles as function of density.
 
virtual int nu_from_n (fermion_deriv &f, double temper)=0
 Calculate effective chemical potential from density.
 
virtual bool calc_mu_deg (fermion_deriv &f, double temper, double prec)
 Calculate properties as a function of chemical potential using a degenerate expansion. More...
 
virtual bool calc_mu_ndeg (fermion_deriv &f, double temper, double prec, bool inc_antip=false)
 Calculate properties as a function of chemical potential using a nondegenerate expansion. More...
 
- Public Member Functions inherited from o2scl::deriv_thermo_base_tl< double >
double heat_cap_ppart_const_vol (part_deriv_t &p, double temper)
 The heat capacity per particle at constant volume (unitless) More...
 
double heat_cap_ppart_const_press (part_deriv_t &p, double temper)
 The heat capacity per particle at constant pressure (unitless) More...
 
double compress_adiabatic (part_deriv_t &p, double temper)
 The adiabatic compressibility. More...
 
double compress_const_tptr (part_deriv_t &p, double temper)
 The isothermal compressibility. More...
 
double coeff_thermal_exp (part_deriv_t &p, double temper)
 The coefficient of thermal expansion. More...
 
double squared_sound_speed (part_deriv_t &p, double temper)
 The squared sound speed (unitless) More...
 

Public Attributes

fp_t flimit
 The limit for the Fermi functions (default 20.0) More...
 
fermion_deriv unc
 Storage for the most recently calculated uncertainties.
 
root_cern def_density_root
 The default solver for npen_density() and pair_density()
 

Protected Member Functions

fp_t solve_fun (fp_t x, fp_t nog, fp_t msT)
 Function to compute chemical potential from density.
 
fp_t pair_fun (fp_t x, fermion_deriv &f, fp_t T)
 Function to compute chemical potential from density when antiparticles are included.
 

Protected Attributes

rootdensity_root
 Solver to compute chemical potential from density.
 
- Protected Attributes inherited from o2scl::fermion_deriv_thermo_tl< double >
fermion_rel fr
 A fermion_thermo object. More...
 
double pi
 Desc.
 
double pi2
 Desc.
 

Member Data Documentation

◆ flimit

template<class fp_t = double>
fp_t o2scl::fermion_deriv_nr_tl< fp_t >::flimit

fermion_deriv_nr will ignore corrections smaller than about $ \exp(-\mathrm{f{l}imit}) $ .

Definition at line 247 of file fermion_deriv_nr.h.


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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).