|
| CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, MultiFunction func, bool exploitNesting=true, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) |
|
| CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, std::shared_ptr< AbstractCombigridStorage > storage, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) |
|
| CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, GridFunction gridFunc, bool exploitNesting=true, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) |
|
double | evaluate (size_t q, base::DataVector const ¶m=base::DataVector(0)) |
|
std::shared_ptr< AbstractFullGridEvaluator< FloatScalarVector > > | getFullGridEval () |
|
std::shared_ptr< LevelManager > | getLevelManager () |
|
std::vector< std::shared_ptr< AbstractPointHierarchy > > | getPointHierarchies () |
|
double | getResult () |
|
std::shared_ptr< AbstractCombigridStorage > | getStorage () |
|
size_t | getUpperPointBound () const |
|
size_t | numDims () |
|
size_t | numGridPoints () |
|
size_t | numStoredFunctionValues () |
|
void | setLevelManager (std::shared_ptr< LevelManager > levelManager) |
|
void | setParameters (base::DataVector const ¶m=base::DataVector(0)) |
|
void | setStorage (std::shared_ptr< AbstractCombigridStorage > storage) |
|
|
static std::shared_ptr< CombigridOperation > | auxiliaryBsplineFunction (size_t numDimensions, MultiFunction func, sgpp::combigrid::CombiHierarchies::Collection grids, sgpp::combigrid::CombiEvaluators::Collection evaluators, size_t degree) |
|
static std::shared_ptr< CombigridOperation > | createExpChebyshevBsplineInterpolation (size_t numDimensions, MultiFunction func, size_t degree) |
|
static std::shared_ptr< CombigridOperation > | createExpChebyshevPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpClenshawCurtisBsplineInterpolation (size_t numDimensions, MultiFunction func, size_t degree) |
|
static std::shared_ptr< CombigridOperation > | createExpClenshawCurtisPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpClenshawCurtisQuadrature (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpL2LejaPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpLejaPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformBoundaryBsplineInterpolation (size_t numDimensions, MultiFunction func, size_t degree) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformBoundaryBsplineQuadrature (size_t numDimensions, MultiFunction func, size_t degree) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformBoundaryLinearInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformBoundaryPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformLinearInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createExpUniformPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createLinearClenshawCurtisPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createLinearL2LejaBsplineInterpolation (size_t numDimensions, MultiFunction func, size_t degree, size_t growthFactor) |
|
static std::shared_ptr< CombigridOperation > | createLinearL2LejaPolynomialInterpolation (size_t numDimensions, MultiFunction func, size_t growthFactor=2) |
|
static std::shared_ptr< CombigridOperation > | createLinearL2LejaQuadrature (size_t numDimensions, MultiFunction func, size_t growthFactor=2) |
|
static std::shared_ptr< CombigridOperation > | createLinearLejaBsplineInterpolation (size_t numDimensions, MultiFunction func, size_t degree, size_t growthFactor) |
|
static std::shared_ptr< CombigridOperation > | createLinearLejaPolynomialInterpolation (size_t numDimensions, MultiFunction func, size_t growthFactor=2) |
|
static std::shared_ptr< CombigridOperation > | createLinearLejaQuadrature (size_t numDimensions, MultiFunction func, size_t growthFactor=2) |
|
static std::shared_ptr< CombigridOperation > | createLinearUniformBoundaryPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
static std::shared_ptr< CombigridOperation > | createLinearUniformPolynomialInterpolation (size_t numDimensions, MultiFunction func) |
|
Interface class for simple usage of the combigrid module.
Via a CombigridOperation, the evaluation (interpolation at a single point or quadrature) of the computation pipeline can be easily managed. There are two main ways to create this class:
- The point hierarchies and evaluators etc. are created by the user and passed to the constructor
- One of the static methods is used. They provide some sensible isotropic configurations.
Via the LevelManager, which can be get and set, one can control which adaptivity criterion might be used. For easy evaluation, there is an evaluate()-method, which does all the work at once and generates a regular level structure. To get more control over the level structure, one may proceed as follows:
For method documentation, please refer to CombigridMultiOperation.