3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Static Public Member Functions | List of all members
Dumux::DoubleExponentialIntegrator< Scalar > Class Template Reference

Numerical integration in one dimension using the double exponential method of M. Mori. More...

#include <dumux/common/doubleexpintegrator.hh>

Description

template<class Scalar>
class Dumux::DoubleExponentialIntegrator< Scalar >

Numerical integration in one dimension using the double exponential method of M. Mori.

Static Public Member Functions

template<class Function , typename std::enable_if_t< std::is_invocable_r_v< Scalar, Function, Scalar > > ...>
static Scalar integrate (const Function &f, const Scalar a, const Scalar b, const Scalar targetAbsoluteError, int &numFunctionEvaluations, Scalar &errorEstimate)
 Integrate an analytic function over a finite interval. More...
 
template<class Function , typename std::enable_if_t< std::is_invocable_r_v< Scalar, Function, Scalar > > ...>
static Scalar integrate (const Function &f, const Scalar a, const Scalar b, const Scalar targetAbsoluteError)
 Integrate an analytic function over a finite interval. More...
 

Member Function Documentation

◆ integrate() [1/2]

template<class Scalar >
template<class Function , typename std::enable_if_t< std::is_invocable_r_v< Scalar, Function, Scalar > > ...>
static Scalar Dumux::DoubleExponentialIntegrator< Scalar >::integrate ( const Function &  f,
const Scalar  a,
const Scalar  b,
const Scalar  targetAbsoluteError 
)
inlinestatic

Integrate an analytic function over a finite interval.

Note
This version overloaded to not require arguments passed in for function evaluation counts or error estimates.
Parameters
fthe integrand (invocable with a single scalar)
alower integral bound
bupper integral bound
targetAbsoluteErrordesired absolute error in the result
Returns
The value of the integral.

◆ integrate() [2/2]

template<class Scalar >
template<class Function , typename std::enable_if_t< std::is_invocable_r_v< Scalar, Function, Scalar > > ...>
static Scalar Dumux::DoubleExponentialIntegrator< Scalar >::integrate ( const Function &  f,
const Scalar  a,
const Scalar  b,
const Scalar  targetAbsoluteError,
int &  numFunctionEvaluations,
Scalar &  errorEstimate 
)
inlinestatic

Integrate an analytic function over a finite interval.

Parameters
fthe integrand (invocable with a single scalar)
alower limit of integration
bupper limit of integration
targetAbsoluteErrordesired bound on error
numFunctionEvaluationsnumber of function evaluations used
errorEstimateestimate for error in integration
Returns
The value of the integral

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