Class fermi_dirac_integ_bf (o2scl)

O2scl : Class List

template<class fp_t, size_t max1, size_t max2, size_t max3, class fp1_t, class fp2_t, class fp3_t>
class fermi_dirac_integ_bf

Fermi-Dirac integral by brute force.

This class seems to work well, and can produce results at high-precision, but has difficulty with large arguments.

Todo

  • In class fermi_dirac_integ_bf: implement degenerate and nondegenerate expansions.

Public Types

typedef boost::multiprecision::cpp_dec_float_50 cpp_dec_float_50
typedef inte_transform<funct_cdf50, inte_adapt_cern<funct_cdf50, inte_gauss56_cern<funct_cdf50, cpp_dec_float_50, inte_gauss56_coeffs_float_50<cpp_dec_float_50>>, 2000, cpp_dec_float_50>, cpp_dec_float_50> inte_t

Public Functions

inline fermi_dirac_integ_bf()
inline void set_tol(const fp_t &tol_)

Set tolerance.

inline int calc_1o2_ret_full(fp_t y, fp_t &res, fp_t &err, int &method)

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_1o2(fp_t y)

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

inline int calc_m1o2_ret_full(fp_t y, fp_t &res, fp_t &err, int &method)

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_m1o2(fp_t y)

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

inline int calc_3o2_ret_full(fp_t y, fp_t &res, fp_t &err, int &method)

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_3o2(fp_t y)

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

inline int calc_2_ret_full(fp_t y, fp_t &res, fp_t &err, int &method)

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_2(fp_t y)

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

inline int calc_3_ret_full(fp_t y, fp_t &res, fp_t &err, int &method)

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 \).

inline fp_t calc_3(fp_t y)

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

Public Members

fermi_dirac_integ_direct<fp_t, std::function<fp1_t(fp1_t)>, max1, fp1_t> fdi1

Lowest precision integrator.

fermi_dirac_integ_direct<fp_t, std::function<fp2_t(fp2_t)>, max2, fp2_t> fdi2

Medium precision integrator.

fermi_dirac_integ_direct<fp_t, std::function<fp3_t(fp3_t)>, max3, fp3_t> fdi3

Highest precision integrator.

fermi_dirac_integ_tl<inte_t, cpp_dec_float_50> fdi4
bool err_nonconv

If true, then convergence failures call the error handler (default true)

Protected Attributes

fp_t tol

Tolerance.