BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Private Types | List of all members
Fiber::LinearScalarShapeset< elementVertexCount, ValueType > Class Template Reference

Shapeset composed of the linear nodal functions. More...

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

Inheritance diagram for Fiber::LinearScalarShapeset< elementVertexCount, ValueType >:
Fiber::Basis< ValueType > Fiber::Shapeset< ValueType > Fiber::PiecewiseLinearContinuousScalarBasis< elementVertexCount, ValueType > Fiber::PiecewiseLinearContinuousScalarBasis< 3, ValueType >

Public Types

typedef Basis< ValueType >
::CoordinateType 
CoordinateType
 
- Public Types inherited from Fiber::Shapeset< ValueType >
typedef ScalarTraits
< ValueType >::RealType 
CoordinateType
 

Public Member Functions

virtual int size () const
 Return the number of shape functions.
 
virtual int order () const
 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
 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...
 

Private Types

typedef
PiecewiseLinearContinuousScalarBasisTraits
< elementVertexCount,
CoordinateType, ValueType >
::DuneBasis 
DuneBasis
 

Detailed Description

template<int elementVertexCount, typename ValueType>
class Fiber::LinearScalarShapeset< elementVertexCount, ValueType >

Shapeset composed of the linear nodal functions.

Member Function Documentation

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

Returns an OpenCL code snippet for shape function evaluation.

Note
The code snippet must provide device function devBasisEval

Reimplemented from Fiber::Shapeset< ValueType >.

template<int elementVertexCount, typename ValueType >
virtual void Fiber::LinearScalarShapeset< elementVertexCount, ValueType >::evaluate ( size_t  what,
const arma::Mat< CoordinateType > &  points,
LocalDofIndex  localDofIndex,
BasisData< ValueType > &  data 
) const
inlinevirtual

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.

Implements Fiber::Shapeset< ValueType >.

References Fiber::BasisData< ValueType >::derivatives, Fiber::LinearScalarShapeset< elementVertexCount, ValueType >::size(), and Fiber::BasisData< ValueType >::values.

Referenced by Fiber::LinearScalarShapesetBarycentric< ValueType >::evaluate().


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