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

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

#include <LaplaceEnhancedUpBBLinear.hpp>

Inheritance diagram for sgpp::pde::LaplaceEnhancedUpBBLinear:
sgpp::pde::LaplaceEnhancedUpBBLinearBoundary

Public Member Functions

 LaplaceEnhancedUpBBLinear (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 up in the direction of dimension dim on a grid with fix Dirichlet 0 boundary conditions. More...
 
virtual ~LaplaceEnhancedUpBBLinear ()
 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 Up (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-Up (L2 scalar product and gradient) without Bounding Box More...
 
void rec_grad (size_t dim, grid_iterator &index)
 recursive function for the calculation of Up (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-Up (gradient and L2 scalar product) 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-Up (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 Up (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-Up (gradient and L2 scalar product) with Bounding Box More...
 
void recBB_grad (size_t dim, grid_iterator &index)
 recursive function for the calculation of Up (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-Up (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-Up (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 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, up operation.

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

Member Typedef Documentation

◆ grid_iterator

Constructor & Destructor Documentation

◆ LaplaceEnhancedUpBBLinear()

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

Constructor.

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

◆ ~LaplaceEnhancedUpBBLinear()

sgpp::pde::LaplaceEnhancedUpBBLinear::~LaplaceEnhancedUpBBLinear ( )
virtual

Destructor.

Member Function Documentation

◆ operator()()

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

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

Parameters
sourcesgpp::base::DataVector that contains the gridpoint's coefficients (values from the vector of the laplace operation)
resultsgpp::base::DataVector that contains the result of the up operation
indexa iterator object of the grid
dimcurrent fixed dimension of the 'execution direction'

Reimplemented in sgpp::pde::LaplaceEnhancedUpBBLinearBoundary.

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::LaplaceEnhancedUpBBLinear::rec ( double &  fl,
double &  fr,
size_t  dim,
grid_iterator index 
)
protected

recursive function for the calculation of Up (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_, chess::dim, sgpp::base::HashGridIterator::get(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, rec_LL(), sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

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

◆ rec_GL()

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

recursive function for the calculation of merged-Up (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(), sgpp::base::HashGridIterator::hint(), 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::LaplaceEnhancedUpBBLinearBoundary::operator()(), and operator()().

◆ rec_grad()

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

recursive function for the calculation of Up (gradient) without Bounding Box

Parameters
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::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

Referenced by sgpp::pde::LaplaceEnhancedUpBBLinearBoundary::operator()(), operator()(), and recBB_grad().

◆ rec_LG()

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

recursive function for the calculation of merged-Up (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(), sgpp::base::HashGridIterator::hint(), 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::LaplaceEnhancedUpBBLinearBoundary::operator()(), and operator()().

◆ rec_LL()

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

recursive function for the calculation of merged-Up (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(), 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::LaplaceEnhancedUpBBLinearBoundary::operator()(), operator()(), and rec().

◆ recBB()

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

recursive function for the calculation of Up (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(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

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

◆ recBB_GL()

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

recursive function for the calculation of merged-Up (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(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

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

◆ recBB_grad()

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

recursive function for the calculation of Up (gradient) with Bounding Box

Parameters
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::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, rec_grad(), sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, and sgpp::base::HashGridIterator::up().

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

◆ recBB_LG()

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

recursive function for the calculation of merged-Up (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(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

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

◆ recBB_LL()

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

recursive function for the calculation of merged-Up (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(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), numAlgoDims_, ptr_result_, ptr_source_, q_, sgpp::base::HashGridIterator::seq(), sgpp::base::HashGridIterator::stepRight(), storage, analyse_erg::tmp, and sgpp::base::HashGridIterator::up().

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

Member Data Documentation

◆ algoDims

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

algorithmic dimensions, operator is applied in this dimensions

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

◆ boundingBox

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

Pointer to the bounding box Obejct.

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

◆ cur_algo_dim_

size_t sgpp::pde::LaplaceEnhancedUpBBLinear::cur_algo_dim_
protected

◆ numAlgoDims_

const size_t sgpp::pde::LaplaceEnhancedUpBBLinear::numAlgoDims_
protected

◆ ptr_result_

double* sgpp::pde::LaplaceEnhancedUpBBLinear::ptr_result_
protected

◆ ptr_source_

double* sgpp::pde::LaplaceEnhancedUpBBLinear::ptr_source_
protected

pointer to DataMatrix containing source coefficients

Referenced by sgpp::pde::LaplaceEnhancedUpBBLinearBoundary::operator()(), operator()(), rec(), rec_GL(), rec_LG(), rec_LL(), recBB(), recBB_GL(), recBB_LG(), and recBB_LL().

◆ q_

double sgpp::pde::LaplaceEnhancedUpBBLinear::q_
protected

stretching of basis functions in current algorithmic domain

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

◆ storage

◆ t_

double sgpp::pde::LaplaceEnhancedUpBBLinear::t_
protected

translation of basis function in current algorithmic domain

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


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