![]() |
Reference documentation for deal.II version 9.3.3
|
Functions | |
template<int dim> | |
void | taylor_estimate_function_bounds (const Function< dim > &function, const BoundingBox< dim > &box, std::pair< double, double > &value_bounds, std::array< std::pair< double, double >, dim > &gradient_bounds, const unsigned int component=0) |
void FunctionTools::taylor_estimate_function_bounds | ( | const Function< dim > & | function, |
const BoundingBox< dim > & | box, | ||
std::pair< double, double > & | value_bounds, | ||
std::array< std::pair< double, double >, dim > & | gradient_bounds, | ||
const unsigned int | component = 0 |
||
) |
Estimate bounds on the value and bounds on each gradient component of a Function, , over a BoundingBox, by approximating it by a 2nd order Taylor polynomial starting from the box center.
Each lower and upper bound is returned as a std::pair<double, double>
, such that the first entry is the lower bound, , and the second is the upper bound,
, i.e.
.
The function value, gradient, and Hessian are computed at the box center. The bounds on the value of the function are then estimated as
, where
.
Here, is half the side length of the box in the
th coordinate direction, which is the distance we extrapolate. The bounds on the gradient components are estimated similarly as
, where
.
If the function has more than 1 component the component
parameter can be used to specify which function component the bounds should be computed for.
Definition at line 26 of file function_tools.cc.