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

Abstract interface of a local assembler for potential operators. More...

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

Inheritance diagram for Fiber::LocalAssemblerForPotentialOperators< ResultType >:
Fiber::DefaultLocalAssemblerForPotentialOperatorsOnSurfaces< BasisFunctionType, KernelType, ResultType, GeometryFactory >

Public Types

typedef ScalarTraits
< ResultType >::RealType 
CoordinateType
 

Public Member Functions

virtual void evaluateLocalContributions (const std::vector< int > &pointIndices, int trialElementIndex, LocalDofIndex localTrialDofIndex, std::vector< arma::Mat< ResultType > > &result, CoordinateType nominalDistance=-1.)=0
 Assemble local contributions. More...
 
virtual void evaluateLocalContributions (int pointIndex, int componentIndex, const std::vector< int > &trialElementIndices, std::vector< arma::Mat< ResultType > > &result, CoordinateType nominalDistance=-1.)=0
 Assemble local contributions. More...
 
virtual void evaluateLocalContributions (const std::vector< int > &pointIndices, const std::vector< int > &trialElementIndices, Fiber::_2dArray< arma::Mat< ResultType > > &result, CoordinateType nominalDistance=-1.)=0
 Assemble local contributions. More...
 
virtual int resultDimension () const =0
 
virtual CoordinateType estimateRelativeScale (CoordinateType minDist) const =0
 

Detailed Description

template<typename ResultType>
class Fiber::LocalAssemblerForPotentialOperators< ResultType >

Abstract interface of a local assembler for potential operators.

A local assembler constructs local (element-by-element) discrete representations of potential operators, i.e. small arrays such as

\[ P_{ij} = \int_{E_j} K(x_i, y) f_j(y) \, \mathrm{d}E_j, \]

where $\{x_i\}$ is a set of points, $E_j$ a set of elements and $f_j$ a set of functions living on the corresponding elements.

Concrete subclasses of this interface class automatically select integrators well-adapted for evaluation of specific integrals occurring in matrix representations of different classes of operators.

Member Function Documentation

template<typename ResultType >
virtual void Fiber::LocalAssemblerForPotentialOperators< ResultType >::evaluateLocalContributions ( const std::vector< int > &  pointIndices,
int  trialElementIndex,
LocalDofIndex  localTrialDofIndex,
std::vector< arma::Mat< ResultType > > &  result,
CoordinateType  nominalDistance = -1. 
)
pure virtual

Assemble local contributions.

If nominalDistance is nonnegative, it is taken as the distance between all point-element pairs for the purposes of selecting the quadrature method. Otherwise the interelement distance is calculated separately for each point-element pair.

Implemented in Fiber::DefaultLocalAssemblerForPotentialOperatorsOnSurfaces< BasisFunctionType, KernelType, ResultType, GeometryFactory >.

template<typename ResultType >
virtual void Fiber::LocalAssemblerForPotentialOperators< ResultType >::evaluateLocalContributions ( int  pointIndex,
int  componentIndex,
const std::vector< int > &  trialElementIndices,
std::vector< arma::Mat< ResultType > > &  result,
CoordinateType  nominalDistance = -1. 
)
pure virtual

Assemble local contributions.

If nominalDistance is nonnegative, it is taken as the distance between all point-element pairs for the purposes of selecting the quadrature method. Otherwise the interelement distance is calculated separately for each point-element pair.

Implemented in Fiber::DefaultLocalAssemblerForPotentialOperatorsOnSurfaces< BasisFunctionType, KernelType, ResultType, GeometryFactory >.

template<typename ResultType >
virtual void Fiber::LocalAssemblerForPotentialOperators< ResultType >::evaluateLocalContributions ( const std::vector< int > &  pointIndices,
const std::vector< int > &  trialElementIndices,
Fiber::_2dArray< arma::Mat< ResultType > > &  result,
CoordinateType  nominalDistance = -1. 
)
pure virtual

Assemble local contributions.

If nominalDistance is nonnegative, it is taken as the distance between all point-element pairs for the purposes of selecting the quadrature method. Otherwise the interelement distance is calculated separately for each point-element pair.

Implemented in Fiber::DefaultLocalAssemblerForPotentialOperatorsOnSurfaces< BasisFunctionType, KernelType, ResultType, GeometryFactory >.


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