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

Class that implements the dehierarchisation on a linear sparse grid with boundaries. More...

#include <DehierarchisationLinearStretchedBoundary.hpp>

Inheritance diagram for sgpp::base::DehierarchisationLinearStretchedBoundary:
sgpp::base::DehierarchisationLinearStretched

Public Member Functions

 DehierarchisationLinearStretchedBoundary (GridStorage &storage)
 Constructor, must be bind to a grid. More...
 
virtual void operator() (DataVector &source, DataVector &result, grid_iterator &index, size_t dim) override
 Implements operator() needed by the sweep class during the grid traversal. More...
 
 ~DehierarchisationLinearStretchedBoundary () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::base::DehierarchisationLinearStretched
 DehierarchisationLinearStretched (GridStorage &storage)
 Constructor, must be bind to a grid. More...
 
virtual ~DehierarchisationLinearStretched ()
 Destructor. More...
 

Additional Inherited Members

- Protected Types inherited from sgpp::base::DehierarchisationLinearStretched
typedef GridStorage::grid_iterator grid_iterator
 
- Protected Member Functions inherited from sgpp::base::DehierarchisationLinearStretched
void rec (DataVector &source, DataVector &result, grid_iterator &index, size_t dim, double fl, double fr)
 Recursive dehierarchisaton algorithm, this algorithms works in-place -> source should be equal to result. More...
 
- Protected Attributes inherited from sgpp::base::DehierarchisationLinearStretched
GridStoragestorage
 the grid object More...
 

Detailed Description

Class that implements the dehierarchisation on a linear sparse grid with boundaries.

Therefore the ()operator has to be implement in order to use the sweep algorithm for the grid traversal

Constructor & Destructor Documentation

◆ DehierarchisationLinearStretchedBoundary()

sgpp::base::DehierarchisationLinearStretchedBoundary::DehierarchisationLinearStretchedBoundary ( GridStorage storage)
explicit

Constructor, must be bind to a grid.

Parameters
storagethe grid storage object of the the grid, on which the dehierarchisation should be executed

References ~DehierarchisationLinearStretchedBoundary().

◆ ~DehierarchisationLinearStretchedBoundary()

sgpp::base::DehierarchisationLinearStretchedBoundary::~DehierarchisationLinearStretchedBoundary ( )
override

Destructor.

Referenced by DehierarchisationLinearStretchedBoundary().

Member Function Documentation

◆ operator()()

void sgpp::base::DehierarchisationLinearStretchedBoundary::operator() ( DataVector source,
DataVector result,
grid_iterator index,
size_t  dim 
)
overridevirtual

Implements operator() needed by the sweep class during the grid traversal.

This function is applied to the whole grid.

For level zero it's assumed, that both ansatz-functions do exist: 0,0 and 0,1 If one is missing this code might produce some bad errors (segmentation fault, wrong calculation result) So please assure that both functions do exist!

Parameters
sourcethis DataVector holds the linear base coefficients of the sparse grid's ansatz-functions
resultthis DataVector holds the node base coefficients of the function that should be applied to the sparse grid
indexa iterator object of the grid
dimcurrent fixed dimension of the 'execution direction'

Reimplemented from sgpp::base::DehierarchisationLinearStretched.

References sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::DehierarchisationLinearStretched::rec(), sgpp::base::HashGridIterator::resetToLeftLevelZero(), sgpp::base::HashGridIterator::resetToLevelOne(), sgpp::base::HashGridIterator::resetToRightLevelZero(), sgpp::base::HashGridIterator::seq(), and sgpp::base::DehierarchisationLinearStretched::storage.


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