Class fermion_deriv_nr_tl (o2scl)¶
-
template<class fermion_deriv_t = fermion_deriv_tl<double>, class fp_t = double>
class fermion_deriv_nr_tl : public o2scl::fermion_deriv_thermo_tl<fermion_deriv_tl<double>, double>¶ Equation of state for a nonrelativistic fermion.
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 \]Public Functions
-
inline fermion_deriv_nr_tl()¶
Create a fermion with mass
m
and degeneracyg
.
-
inline virtual ~fermion_deriv_nr_tl()¶
-
inline virtual void calc_density_zerot(fermion_deriv_t &f)¶
Calculate properties as function of density at \( T=0 \).
-
inline virtual void calc_mu_zerot(fermion_deriv_t &f)¶
Calculate properties as function of chemical potential at \( T=0 \).
-
inline virtual int calc_mu(fermion_deriv_t &f, fp_t temper)¶
Calculate properties as function of chemical potential.
-
inline virtual int calc_density(fermion_deriv_t &f, fp_t temper)¶
Calculate properties as function of density.
-
inline virtual int pair_mu(fermion_deriv_t &f, fp_t temper)¶
Compute thermodynamics with antiparticles at fixed chemical potential (unimplemented)
-
inline virtual int pair_density(fermion_deriv_t &f, fp_t temper)¶
Compute thermodynamics with antiparticles at fixed density (unimplemented)
-
inline virtual int nu_from_n(fermion_deriv_t &f, fp_t temper)¶
Calculate effective chemical potential from density.
-
inline void set_density_root(root<> &rp)¶
Set the solver for use in calculating the chemical potential from the density.
-
inline virtual const char *type()¶
Return string denoting type (“fermion_deriv_nr”)
Public Members
-
fp_t flimit¶
The limit for the Fermi functions (default 20.0)
fermion_deriv_nr will ignore corrections smaller than about \( \exp(-\mathrm{f{l}imit}) \) .
-
fermion_deriv unc¶
Storage for the most recently calculated uncertainties.
-
root_cern def_density_root¶
The default solver for npen_density() and pair_density()
-
inline fermion_deriv_nr_tl()¶