Class fermi_dirac_integ_direct (o2scl)

O2scl : Class List

template<class fp_t = double, class func_t = funct_ld, class internal_fp_t = long double>
class fermi_dirac_integ_direct

Compute several Fermi-Dirac integrals useful for non-relativistic fermions by integrating with a higher precision type.

This class performs direct computation of the Fermi-Dirac integral

\[ F_{a}(\mu) = \int_0^{\infty} \frac{x^a}{1+e^{x-\mu}} \, . \]
where \( a \in [-1/2,1/2,3/2,2,3] \) . See also o2scl::fermi_dirac_integ_gsl . The integration is handled by an object of type o2scl::fermi_dirac_integ_tl using an integrator of type o2scl::inte_double_exp_boost .

Note that the GSL definition of the Fermi-Dirac integral includes an additional factor of \( 1/\Gamma(a+1) \) which is not included here.

Todo

Future: In fermi_dirac_integ_direct, create a new function allowing arbitrary values of ‘a’ in the equation above.

Public Functions

inline fermi_dirac_integ_direct()
inline void set_tol(const internal_fp_t &tol)

Set tolerance.

inline fp_t calc_1o2(fp_t y)

Fermi-Dirac integral of order \( 1/2 \).

inline int calc_1o2_ret(fp_t y, fp_t &res, fp_t &err)

Fermi-Dirac integral of order \( 1/2 \).

inline fp_t calc_m1o2(fp_t y)

Fermi-Dirac integral of order \( -1/2 \).

inline int calc_m1o2_ret(fp_t y, fp_t &res, fp_t &err)

Fermi-Dirac integral of order \( -1/2 \).

inline fp_t calc_3o2(fp_t y)

Fermi-Dirac integral of order \( 3/2 \).

inline int calc_3o2_ret(fp_t y, fp_t &res, fp_t &err)

Fermi-Dirac integral of order \( 3/2 \).

inline fp_t calc_2(fp_t y)

Fermi-Dirac integral of order \( 2 \).

inline int calc_2_ret(fp_t y, fp_t &res, fp_t &err)

Fermi-Dirac integral of order \( 2 \).

inline fp_t calc_3(fp_t y)

Fermi-Dirac integral of order \( 3 \).

inline int calc_3_ret(fp_t y, fp_t &res, fp_t &err)

Fermi-Dirac integral of order \( 3 \).

Public Members

fermi_dirac_integ_tl<o2scl::inte_double_exp_boost<func_t, internal_fp_t>, internal_fp_t> it

The integrator.

Protected Attributes

internal_fp_t half
internal_fp_t three_half
internal_fp_t three
internal_fp_t two