Abstract class for all integration routines.
More...
Abstract class for all integration routines.
Example:
double integral = integrator.
integrate(functor, -1., 1.);
Class for defining one-dimensional functions that can be used as arguments in virtual methods.
Definition: FunctionType1D.h:50
static Functor1D< PointerToObj, PointerToMemFn > * newFunctor1D(PointerToObj *object, PointerToMemFn function)
Defines a new functor with the given one-dimensional function.
Definition: FunctorUtils.h:35
Abstract class for all integration routines.
Definition: Integrator1D.h:38
static Integrator1D * newIntegrator(const IntegratorType1D::Type &oneDimIntegratorType)
Instantiates an Integrator object.
Definition: Integrator1D.cpp:35
virtual double integrate(FunctionType1D *pFunction, double a, double b, std::vector< double > ¶meters)=0
Integration routine.
◆ Integrator1D() [1/2]
NumA::Integrator1D::Integrator1D |
( |
| ) |
|
◆ ~Integrator1D()
NumA::Integrator1D::~Integrator1D |
( |
| ) |
|
|
virtual |
◆ Integrator1D() [2/2]
NumA::Integrator1D::Integrator1D |
( |
const Integrator1D & |
other | ) |
|
|
protected |
Copy constructor.
Called by clone().
- Parameters
-
◆ clone()
◆ configure()
void NumA::Integrator1D::configure |
( |
const ElemUtils::Parameters & |
parameters | ) |
|
|
virtual |
Provides a generic method to configure all types of integrations by passing a Parameters object.
Parameters class represents a list of couples key/value (see Parameters class documentation for more info).
- Parameters
-
parameters | ElemUtils::Parameters object. |
Reimplemented in NumA::TrapezoidalLogIntegrator1D, and NumA::QuadratureIntegrator1D.
◆ getErrors()
const Errors & NumA::Integrator1D::getErrors |
( |
| ) |
const |
- Returns
- Absolute and relative errors estimations.
◆ getTolerances()
const Tolerances & NumA::Integrator1D::getTolerances |
( |
| ) |
const |
- Returns
- Absolute and relative tolerances.
◆ integrate()
virtual double NumA::Integrator1D::integrate |
( |
FunctionType1D * |
pFunction, |
|
|
double |
a, |
|
|
double |
b, |
|
|
std::vector< double > & |
parameters |
|
) |
| |
|
pure virtual |
◆ newIntegrationFunctor()
template<typename PointerToObj , typename PointerToMemFn >
static Functor1D<PointerToObj, PointerToMemFn>* NumA::Integrator1D::newIntegrationFunctor |
( |
PointerToObj * |
object, |
|
|
PointerToMemFn |
function |
|
) |
| |
|
inlinestatic |
◆ newIntegrator()
Instantiates an Integrator object.
Will be replaced by a Factory/Registry system in the future.
- Parameters
-
oneDimIntegratorType | Type of integrator. |
- Returns
- Integrator1D pointer.
◆ setErrors()
void NumA::Integrator1D::setErrors |
( |
const Errors & |
errors | ) |
|
- Parameters
-
errors | Absolute and relative errors estimations. |
◆ setTolerances()
void NumA::Integrator1D::setTolerances |
( |
const Tolerances & |
tolerances | ) |
|
- Parameters
-
tolerances | Absolute and relative tolerances. |
◆ m_errors
Errors NumA::Integrator1D::m_errors |
|
protected |
Absolute and relative errors estimations.
◆ m_tolerances
Absolute and relative tolerances.
◆ PARAM_NAME_ABSOLUTE_TOLERANCE
const std::string NumA::Integrator1D::PARAM_NAME_ABSOLUTE_TOLERANCE |
|
static |
Initial value:
Parameter used in the configure() to set the absolute tolerance.
◆ PARAM_NAME_RELATIVE_TOLERANCE
const std::string NumA::Integrator1D::PARAM_NAME_RELATIVE_TOLERANCE |
|
static |
Initial value:
Parameter used in the configure() to set the relative tolerance.
The documentation for this class was generated from the following files: