SG++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sgpp::base::GridGenerator Class Referenceabstract

Abstract class that defines the interfaces for the different grid's GridGenerators. More...

#include <GridGenerator.hpp>

Inheritance diagram for sgpp::base::GridGenerator:
sgpp::base::BoundaryGridGenerator sgpp::base::GeneralizedBoundaryGridGenerator sgpp::base::L0BoundaryGridGenerator sgpp::base::PeriodicGridGenerator sgpp::base::PrewaveletGridGenerator sgpp::base::SquareRootGridGenerator sgpp::base::StandardGridGenerator sgpp::base::StretchedBoundaryGridGenerator

Public Member Functions

virtual void cliques (size_t level, size_t clique_size)=0
 Creates a sparse grid with fully connected cliques. More...
 
virtual void coarsen (CoarseningFunctor &func, DataVector &alpha)=0
 Coarsens a grid according to the settings of the CoarseningFunctor func. More...
 
virtual void coarsenNFirstOnly (CoarseningFunctor &func, DataVector &alpha, size_t numFirstOnly)=0
 Coarsens a grid according to the settings of the CoarseningFunctor func. More...
 
virtual void full (size_t level)=0
 Creates a full grid for a certain level \( n \), i.e., \( V_n = \bigoplus_{|\vec{l}|_\infty \leq n} W_{\vec{l}}\). More...
 
virtual size_t getNumberOfRefinablePoints ()=0
 Returns the number of points on the grid that can be refined in the next iteration. More...
 
virtual size_t getNumberOfRefinablePointsToMaxLevel (size_t maxLevel)=0
 Returns the number of points on the grid that can be refined in the next iteration additionally a maximum level for refinement is taken into account. More...
 
virtual size_t getNumberOfRemovablePoints ()=0
 Returns the number of points on the grid that can be removed in the next iteration. More...
 
 GridGenerator ()
 Constructor. More...
 
virtual void refine (RefinementFunctor &func)=0
 Refines a grid according to the settings of the RefinementFunctor func. More...
 
virtual void refineMaxLevel (RefinementFunctor &func, size_t maxLevel)=0
 Refines a grid according to the settings of the RefinementFunctor func. More...
 
virtual void regular (size_t level)=0
 Creates a regular sparse grid for a certain level \( n \), i.e., \( V_n^{(1)} = \bigoplus_{|\vec{l}|_1 \leq n+d-1} W_{\vec{l}}\). More...
 
virtual void truncated (size_t level, size_t l_user)
 Creates a grid which doesn't contain the fullgrids with li<l_user, for any li level_t. More...
 
virtual ~GridGenerator ()
 Destructor. More...
 

Detailed Description

Abstract class that defines the interfaces for the different grid's GridGenerators.

Constructor & Destructor Documentation

sgpp::base::GridGenerator::GridGenerator ( )
inline

Constructor.

virtual sgpp::base::GridGenerator::~GridGenerator ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual void sgpp::base::GridGenerator::cliques ( size_t  level,
size_t  clique_size 
)
pure virtual
virtual void sgpp::base::GridGenerator::coarsen ( CoarseningFunctor func,
DataVector alpha 
)
pure virtual
virtual void sgpp::base::GridGenerator::coarsenNFirstOnly ( CoarseningFunctor func,
DataVector alpha,
size_t  numFirstOnly 
)
pure virtual

Coarsens a grid according to the settings of the CoarseningFunctor func.

Only numFirstOnly first grid points are checked for coarsening.

Parameters
funcpointer to coarsening functor
alphaPointer to DataVector containing the grid's coefficients
numFirstOnlymax. number grid points to be coarsened

Implemented in sgpp::base::PrewaveletGridGenerator, sgpp::base::GeneralizedBoundaryGridGenerator, sgpp::base::BoundaryGridGenerator, sgpp::base::SquareRootGridGenerator, sgpp::base::L0BoundaryGridGenerator, sgpp::base::PeriodicGridGenerator, sgpp::base::StandardGridGenerator, and sgpp::base::StretchedBoundaryGridGenerator.

Referenced by sgpp::pde::PDESolver::coarsenInitialGridSurplus().

virtual void sgpp::base::GridGenerator::full ( size_t  level)
pure virtual
virtual size_t sgpp::base::GridGenerator::getNumberOfRefinablePoints ( )
pure virtual
virtual size_t sgpp::base::GridGenerator::getNumberOfRefinablePointsToMaxLevel ( size_t  maxLevel)
pure virtual

Returns the number of points on the grid that can be refined in the next iteration additionally a maximum level for refinement is taken into account.

Parameters
maxLevelno points on higher levels than maxLevel will be created
Returns
the number of points on the grid that can be refined

Implemented in sgpp::base::PrewaveletGridGenerator, sgpp::base::GeneralizedBoundaryGridGenerator, sgpp::base::BoundaryGridGenerator, sgpp::base::SquareRootGridGenerator, sgpp::base::L0BoundaryGridGenerator, sgpp::base::PeriodicGridGenerator, sgpp::base::StandardGridGenerator, and sgpp::base::StretchedBoundaryGridGenerator.

Referenced by sgpp::pde::PDESolver::refineInitialGridSurplusToMaxLevel(), and sgpp::pde::PDESolver::refineInitialGridSurplusToMaxLevelSubDomain().

virtual size_t sgpp::base::GridGenerator::getNumberOfRemovablePoints ( )
pure virtual
virtual void sgpp::base::GridGenerator::refineMaxLevel ( RefinementFunctor func,
size_t  maxLevel 
)
pure virtual

Refines a grid according to the settings of the RefinementFunctor func.

additionally a maximum level for refinement is taken into account

Parameters
funcpointer to refinement functor
maxLevelno points on higher levels than maxLevel will be created

Implemented in sgpp::base::PrewaveletGridGenerator, sgpp::base::GeneralizedBoundaryGridGenerator, sgpp::base::BoundaryGridGenerator, sgpp::base::SquareRootGridGenerator, sgpp::base::L0BoundaryGridGenerator, sgpp::base::PeriodicGridGenerator, sgpp::base::StandardGridGenerator, and sgpp::base::StretchedBoundaryGridGenerator.

Referenced by sgpp::pde::PDESolver::refineInitialGridSurplusToMaxLevel(), and sgpp::pde::PDESolver::refineInitialGridSurplusToMaxLevelSubDomain().

virtual void sgpp::base::GridGenerator::truncated ( size_t  level,
size_t  l_user 
)
inlinevirtual

Creates a grid which doesn't contain the fullgrids with li<l_user, for any li level_t.

Reimplemented in sgpp::base::GeneralizedBoundaryGridGenerator.


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