BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | List of all members
Fiber::Shapeset< BasisFunctionType > Class Template Referenceabstract

Collection of shape functions defined on a reference element. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/fiber/shapeset.hpp>

Inheritance diagram for Fiber::Shapeset< BasisFunctionType >:
Fiber::Basis< BasisFunctionType > Fiber::ConstantScalarShapeset< BasisFunctionType >

Public Types

typedef ScalarTraits
< ValueType >::RealType 
CoordinateType
 

Public Member Functions

virtual int size () const =0
 Return the number of shape functions.
 
virtual int order () const =0
 Return the maximum polynomial order of shape functions.
 
virtual void evaluate (size_t what, const arma::Mat< CoordinateType > &points, LocalDofIndex localDofIndex, BasisData< ValueType > &data) const =0
 Evaluate the shape functions making up this shapeset and/or their derivatives at specified points. More...
 
virtual std::pair< const char
*, int > 
clCodeString (bool isTestShapeset) const
 Returns an OpenCL code snippet for shape function evaluation. More...
 

Detailed Description

template<typename BasisFunctionType>
class Fiber::Shapeset< BasisFunctionType >

Collection of shape functions defined on a reference element.

Member Function Documentation

template<typename BasisFunctionType>
virtual std::pair<const char*,int> Fiber::Shapeset< BasisFunctionType >::clCodeString ( bool  isTestShapeset) const
inlinevirtual

Returns an OpenCL code snippet for shape function evaluation.

Note
The code snippet must provide device function devBasisEval

Reimplemented in Fiber::LinearScalarShapesetBarycentric< ValueType >, and Fiber::LinearScalarShapeset< elementVertexCount, ValueType >.

template<typename BasisFunctionType>
virtual void Fiber::Shapeset< BasisFunctionType >::evaluate ( size_t  what,
const arma::Mat< CoordinateType > &  points,
LocalDofIndex  localDofIndex,
BasisData< ValueType > &  data 
) const
pure virtual

Evaluate the shape functions making up this shapeset and/or their derivatives at specified points.

Parameters
[in]whatBitwise combination of zero or more flags defined as members of the BasisDataType enum. Specifies what shall be evaluated: the values of the shape functions, their derivatives, both, or none.
[in]pointsA 2D array whose (i, j) element is the ith coordinate of the jth point at which the shape functions and/or their derivatives shall be evaluated.
[in]localDofIndex.If set to ALL_DOFS, all the shape functions from the shapeset shall be evaluated; otherwise only the localDofIndex'th function shall be evaluated.
[out]basisDataReceives evaluation results.

If what contains the flag VALUES, on output basisData.values(i, k, l) shall contain the value of the ith component of the kth evaluated shape function at the lth point.

If what contains the flag DERIVATIVES, on output basisData.derivatives(i, j, k, l) shall contain the derivative in direction j of the ith component of the kth evaluated shape function at the lth point.

Implemented in Fiber::LinearScalarShapeset< elementVertexCount, ValueType >, Fiber::RaviartThomas0Shapeset< elementVertexCount, ValueType >, Fiber::LagrangeScalarShapeset< elementVertexCount, ValueType, polynomialOrder >, Fiber::LinearScalarShapesetBarycentric< ValueType >, and Fiber::ConstantScalarShapeset< ValueType >.

Referenced by Bempp::GridFunction< BasisFunctionType, ResultType >::evaluate().


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