SG++-Doxygen-Documentation
sgpp::base::PrewaveletGridGenerator Class Reference

GridGenerator for prewavelet grids without boundaries. More...

#include <PrewaveletGridGenerator.hpp>

Inheritance diagram for sgpp::base::PrewaveletGridGenerator:
sgpp::base::GridGenerator

Public Member Functions

void cliques (size_t level, size_t clique_size) override
 Creates a sparse grid with fully connected cliques. More...
 
void cliques (size_t level, size_t clique_size, double T) override
 Creates a sparse grid with fully connected cliques. More...
 
void coarsen (CoarseningFunctor &func, DataVector &alpha) override
 Coarsens a grid according to the settings of the CoarseningFunctor func. More...
 
void coarsenNFirstOnly (CoarseningFunctor &func, DataVector &alpha, size_t numFirstOnly) override
 Coarsens a grid according to the settings of the CoarseningFunctor func. More...
 
void full (size_t level) override
 Creates a full grid for a certain level \( n \), i.e., \( V_n = \bigoplus_{|\vec{l}|_\infty *\leq n} W_{\vec{l}}\). More...
 
size_t getNumberOfRefinablePoints () override
 Returns the number of points on the grid that can be refined in the next iteration. More...
 
size_t getNumberOfRefinablePointsToMaxLevel (size_t maxLevel) override
 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...
 
size_t getNumberOfRemovablePoints () override
 Returns the number of points on the grid that can be removed in the next iteration. More...
 
 PrewaveletGridGenerator (GridStorage &storage, GridStorage &shadowstorage)
 Constructor An adaptive grid with prewavelet ansatz functions requires for operations using the up-down algorithm shadow points. More...
 
void refine (RefinementFunctor &func, std::vector< size_t > *addedPoints=0) override
 Refines the grid and updates the shadow storage. More...
 
void refineMaxLevel (RefinementFunctor &func, size_t maxLevel) override
 Refines a grid according to the settings of the RefinementFunctor func. More...
 
void regular (size_t level) override
 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...
 
void regular (size_t level, double T) override
 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...
 
 ~PrewaveletGridGenerator () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::base::GridGenerator
 GridGenerator ()
 Constructor. More...
 
virtual void refineInter (RefinementFunctor &func, const std::vector< std::vector< size_t >> &interactions)
 Refines a grid according to the settings of the RefinementFunctor func. More...
 
virtual void regularInter (size_t level, const std::vector< std::vector< size_t >> &terms, double T)
 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...
 

Protected Types

typedef index_type::index_type index_t
 
typedef GridStorage::point_type index_type
 
typedef index_type::level_type level_t
 

Protected Attributes

GridStorageshadowstorage
 
GridStoragestorage
 reference to the storage object More...
 

Detailed Description

GridGenerator for prewavelet grids without boundaries.

Member Typedef Documentation

◆ index_t

◆ index_type

◆ level_t

Constructor & Destructor Documentation

◆ PrewaveletGridGenerator()

sgpp::base::PrewaveletGridGenerator::PrewaveletGridGenerator ( GridStorage storage,
GridStorage shadowstorage 
)

Constructor An adaptive grid with prewavelet ansatz functions requires for operations using the up-down algorithm shadow points.

These shadow points a needed just for data transport, thus they do not have an influence on the final function. Please refer to sgpp::pde::UpDownOneOpDimWithShadow for more information.

Parameters
storagethe grid storage object of the the grid, on which the hierarchisation should be executed
shadowstorageshadow points (see detailed description)

◆ ~PrewaveletGridGenerator()

sgpp::base::PrewaveletGridGenerator::~PrewaveletGridGenerator ( )
override

Destructor.

Member Function Documentation

◆ cliques() [1/2]

void sgpp::base::PrewaveletGridGenerator::cliques ( size_t  level,
size_t  clique_size 
)
overridevirtual

Creates a sparse grid with fully connected cliques.

Parameters
levelGrid level
clique_sizeclique size

Implements sgpp::base::GridGenerator.

References sgpp::base::HashGenerator::cliques(), and storage.

◆ cliques() [2/2]

void sgpp::base::PrewaveletGridGenerator::cliques ( size_t  level,
size_t  clique_size,
double  T 
)
overridevirtual

Creates a sparse grid with fully connected cliques.

Parameters
levelGrid level
clique_sizeclique size
Tmodifier for subgrid selection, T = 0 implies standard sparse grid. For further information see Griebel and Knapek's paper optimized tensor-product approximation spaces

Reimplemented from sgpp::base::GridGenerator.

References sgpp::base::HashGenerator::cliques(), and storage.

◆ coarsen()

void sgpp::base::PrewaveletGridGenerator::coarsen ( CoarseningFunctor func,
DataVector alpha 
)
overridevirtual

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

Parameters
funcpointer to coarsening functor
alphaPointer to DataVector containing the grid's coefficients

Implements sgpp::base::GridGenerator.

References sgpp::base::HashCoarsening::free_coarsen(), and storage.

Referenced by coarsenNFirstOnly(), and getNumberOfRemovablePoints().

◆ coarsenNFirstOnly()

void sgpp::base::PrewaveletGridGenerator::coarsenNFirstOnly ( CoarseningFunctor func,
DataVector alpha,
size_t  numFirstOnly 
)
overridevirtual

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

Implements sgpp::base::GridGenerator.

References coarsen(), sgpp::base::HashCoarsening::free_coarsen_NFirstOnly(), and storage.

◆ full()

void sgpp::base::PrewaveletGridGenerator::full ( size_t  level)
overridevirtual

Creates a full grid for a certain level \( n \), i.e., \( V_n = \bigoplus_{|\vec{l}|_\infty *\leq n} W_{\vec{l}}\).

Parameters
levelGrid level

Implements sgpp::base::GridGenerator.

References sgpp::base::HashGenerator::full(), and storage.

◆ getNumberOfRefinablePoints()

◆ getNumberOfRefinablePointsToMaxLevel()

size_t sgpp::base::PrewaveletGridGenerator::getNumberOfRefinablePointsToMaxLevel ( size_t  maxLevel)
overridevirtual

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

Implements sgpp::base::GridGenerator.

◆ getNumberOfRemovablePoints()

size_t sgpp::base::PrewaveletGridGenerator::getNumberOfRemovablePoints ( )
overridevirtual

Returns the number of points on the grid that can be removed in the next iteration.

Returns
the number of points on the grid that can be removed

Implements sgpp::base::GridGenerator.

References coarsen(), sgpp::base::HashCoarsening::getNumberOfRemovablePoints(), and storage.

◆ refine()

◆ refineMaxLevel()

void sgpp::base::PrewaveletGridGenerator::refineMaxLevel ( RefinementFunctor func,
size_t  maxLevel 
)
overridevirtual

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

Implements sgpp::base::GridGenerator.

◆ regular() [1/2]

void sgpp::base::PrewaveletGridGenerator::regular ( size_t  level)
overridevirtual

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}}\).

Parameters
levelGrid level

Implements sgpp::base::GridGenerator.

References sgpp::base::HashGenerator::regular(), and storage.

◆ regular() [2/2]

void sgpp::base::PrewaveletGridGenerator::regular ( size_t  level,
double  T 
)
overridevirtual

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}}\).

If the used grid doesn't support the parameter t, t = 0 is used instead.

Parameters
levelGrid level
Tmodifier for subgrid selection, T = 0 implies standard sparse grid. For further information see Griebel and Knapek's paper optimized tensor-product approximation spaces

Reimplemented from sgpp::base::GridGenerator.

References sgpp::base::HashGenerator::regular(), and storage.

Member Data Documentation

◆ shadowstorage

GridStorage& sgpp::base::PrewaveletGridGenerator::shadowstorage
protected

◆ storage

GridStorage& sgpp::base::PrewaveletGridGenerator::storage
protected

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