SG++-Doxygen-Documentation
sgpp::pde::LaplaceEnhancedDownBBLinear Class Reference

Implementation of sweep operator () for enhanced Laplace operator, down operation. More...

#include <LaplaceEnhancedDownBBLinear.hpp>

Inheritance diagram for sgpp::pde::LaplaceEnhancedDownBBLinear:
sgpp::pde::LaplaceEnhancedDownBBLinearBoundary

Public Member Functions

 LaplaceEnhancedDownBBLinear (sgpp::base::GridStorage *storage)
 Constructor. More...
 
virtual void operator() (sgpp::base::DataMatrix &source, sgpp::base::DataMatrix &result, grid_iterator &index, size_t dim)
 This operations performs the calculation of down in the direction of dimension dim on a grid with Dirichlet 0 boundary conditions. More...
 
virtual ~LaplaceEnhancedDownBBLinear ()
 Destructor. More...
 

Protected Types

typedef sgpp::base::GridStorage::grid_iterator grid_iterator
 

Protected Member Functions

void rec (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of Down (L2 scalar product) without Bounding Box More...
 
void rec_GL (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (gradient and L2 scalar product) without Bounding Box More...
 
void rec_grad (size_t dim, grid_iterator &index)
 recursive function for the calculation of Down (gradient) without Bounding Box More...
 
void rec_LG (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (L2 scalar product and gradient) without Bounding Box More...
 
void rec_LL (double fl, double fr, double fl2, double fr2, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (L2 scalar products) without Bounding Box More...
 
void recBB (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of Down (L2 scalar product) with Bounding Box More...
 
void recBB_GL (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (gradient and L2 scalar product) with Bounding Box More...
 
void recBB_grad (size_t dim, grid_iterator &index)
 recursive function for the calculation of Down (gradient) with Bounding Box More...
 
void recBB_LG (double fl, double fr, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (L2 scalar product and gradient) with Bounding Box More...
 
void recBB_LL (double fl, double fr, double fl2, double fr2, size_t dim, grid_iterator &index)
 recursive function for the calculation of merged-Down (L2 scalar products) with Bounding Box More...
 

Protected Attributes

const std::vector< size_t > algoDims
 algorithmic dimensions, operator is applied in this dimensions More...
 
sgpp::base::BoundingBoxboundingBox
 Pointer to the bounding box Obejct. More...
 
size_t cur_algo_dim_
 current algorithmic dimension for the overall operator More...
 
const size_t numAlgoDims_
 number of algorithmic dimensions More...
 
double * ptr_result_
 pointer to DataMatrix containing result coefficients More...
 
double * ptr_source_
 pointer to DataMatrix containing source coefficients More...
 
double q_
 stretching of basis functions in current algorithmic domain More...
 
sgpp::base::GridStoragestorage
 Pointer to the sgpp::base::GridStorage Object. More...
 
double t_
 translation of basis function in current algorithmic domain More...
 

Detailed Description

Implementation of sweep operator () for enhanced Laplace operator, down operation.

This sweep operator calculates all downs (L2 scalar products and gradient) for a given dimension.

Member Typedef Documentation

◆ grid_iterator

Constructor & Destructor Documentation

◆ LaplaceEnhancedDownBBLinear()

sgpp::pde::LaplaceEnhancedDownBBLinear::LaplaceEnhancedDownBBLinear ( sgpp::base::GridStorage storage)
explicit

Constructor.

Parameters
storagethe grid's sgpp::base::GridStorage object

◆ ~LaplaceEnhancedDownBBLinear()

sgpp::pde::LaplaceEnhancedDownBBLinear::~LaplaceEnhancedDownBBLinear ( )
virtual

Destructor.

Member Function Documentation

◆ operator()()

void sgpp::pde::LaplaceEnhancedDownBBLinear::operator() ( sgpp::base::DataMatrix source,
sgpp::base::DataMatrix result,
grid_iterator index,
size_t  dim 
)
virtual

This operations performs the calculation of down in the direction of dimension dim on a grid with Dirichlet 0 boundary conditions.

Parameters
sourcesgpp::base::DataMatrix that contains the gridpoint's coefficients (values from the vector of the laplace operation)
resultsgpp::base::DataMatrix that contains the result of the down operation
indexan iterator object of the grid
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated

Reimplemented in sgpp::pde::LaplaceEnhancedDownBBLinearBoundary.

References algoDims, boundingBox, cur_algo_dim_, chess::dim, sgpp::base::BoundingBox::getIntervalOffset(), sgpp::base::BoundingBox::getIntervalWidth(), sgpp::base::DataMatrix::getPointer(), python.statsfileInfo::i, numAlgoDims_, ptr_result_, ptr_source_, q_, rec(), rec_GL(), rec_grad(), rec_LG(), rec_LL(), recBB(), recBB_GL(), recBB_grad(), recBB_LG(), recBB_LL(), and t_.

◆ rec()

void sgpp::pde::LaplaceEnhancedDownBBLinear::rec ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of Down (L2 scalar product) without Bounding Box

Parameters
flfunction value on the left boundary
frfunction value on the right boundary
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ rec_GL()

void sgpp::pde::LaplaceEnhancedDownBBLinear::rec_GL ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (gradient and L2 scalar product) without Bounding Box

Parameters
flfirst function value on the left boundary, L2 scalar product
frfirst function value on the right boundary, L2 scalar product
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ rec_grad()

void sgpp::pde::LaplaceEnhancedDownBBLinear::rec_grad ( size_t  dim,
grid_iterator index 
)
protected

◆ rec_LG()

void sgpp::pde::LaplaceEnhancedDownBBLinear::rec_LG ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (L2 scalar product and gradient) without Bounding Box

Parameters
flfirst function value on the left boundary, L2 scalar product
frfirst function value on the right boundary, L2 scalar product
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ rec_LL()

void sgpp::pde::LaplaceEnhancedDownBBLinear::rec_LL ( double  fl,
double  fr,
double  fl2,
double  fr2,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (L2 scalar products) without Bounding Box

Parameters
flfirst function value on the left boundary
frfirst function value on the right boundary
fl2second function value on the left boundary
fr2second function value on the right boundary
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References alpha, cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), operator()(), and rec_grad().

◆ recBB()

void sgpp::pde::LaplaceEnhancedDownBBLinear::recBB ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of Down (L2 scalar product) with Bounding Box

Parameters
flfunction value on the left boundary
frfunction value on the right boundary
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ recBB_GL()

void sgpp::pde::LaplaceEnhancedDownBBLinear::recBB_GL ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (gradient and L2 scalar product) with Bounding Box

Parameters
flfirst function value on the left boundary, L2 scalar product
frfirst function value on the right boundary, L2 scalar product
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ recBB_grad()

void sgpp::pde::LaplaceEnhancedDownBBLinear::recBB_grad ( size_t  dim,
grid_iterator index 
)
protected

◆ recBB_LG()

void sgpp::pde::LaplaceEnhancedDownBBLinear::recBB_LG ( double  fl,
double  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (L2 scalar product and gradient) with Bounding Box

Parameters
flfirst function value on the left boundary, L2 scalar product
frfirst function value on the right boundary, L2 scalar product
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ recBB_LL()

void sgpp::pde::LaplaceEnhancedDownBBLinear::recBB_LL ( double  fl,
double  fr,
double  fl2,
double  fr2,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of merged-Down (L2 scalar products) with Bounding Box

Parameters
flfirst function value on the left boundary
frfirst function value on the right boundary
fl2second function value on the left boundary
fr2second function value on the right boundary
dimcurrent fixed dimension of the 'execution direction', here all downs are calculated
indexan iterator object of the grid

References cur_algo_dim_, sgpp::base::HashGridIterator::get(), h, sgpp::base::HashGridIterator::hint(), python.statsfileInfo::i, sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

Member Data Documentation

◆ algoDims

const std::vector<size_t> sgpp::pde::LaplaceEnhancedDownBBLinear::algoDims
protected

algorithmic dimensions, operator is applied in this dimensions

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ boundingBox

sgpp::base::BoundingBox* sgpp::pde::LaplaceEnhancedDownBBLinear::boundingBox
protected

Pointer to the bounding box Obejct.

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().

◆ cur_algo_dim_

size_t sgpp::pde::LaplaceEnhancedDownBBLinear::cur_algo_dim_
protected

◆ numAlgoDims_

const size_t sgpp::pde::LaplaceEnhancedDownBBLinear::numAlgoDims_
protected

◆ ptr_result_

double* sgpp::pde::LaplaceEnhancedDownBBLinear::ptr_result_
protected

◆ ptr_source_

double* sgpp::pde::LaplaceEnhancedDownBBLinear::ptr_source_
protected

◆ q_

double sgpp::pde::LaplaceEnhancedDownBBLinear::q_
protected

stretching of basis functions in current algorithmic domain

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), operator()(), recBB(), recBB_GL(), recBB_grad(), recBB_LG(), and recBB_LL().

◆ storage

◆ t_

double sgpp::pde::LaplaceEnhancedDownBBLinear::t_
protected

translation of basis function in current algorithmic domain

Referenced by sgpp::pde::LaplaceEnhancedDownBBLinearBoundary::operator()(), and operator()().


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