BEM++
2.0
|
Default implementation of a collection of kernels. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/fiber/default_collection_of_kernels.hpp>
Public Types | |
typedef Base::ValueType | ValueType |
typedef Base::CoordinateType | CoordinateType |
![]() | |
typedef Functor::ValueType | ValueType |
typedef ScalarTraits < ValueType >::RealType | CoordinateType |
Public Member Functions | |
DefaultCollectionOfKernels (const Functor &functor) | |
const Functor & | functor () const |
Functor & | functor () |
virtual void | addGeometricalDependencies (size_t &testGeomDeps, size_t &trialGeomDeps) const |
Retrieve types of geometrical data on which the kernels depend. More... | |
virtual void | evaluateAtPointPairs (const GeometricalData< CoordinateType > &testGeomData, const GeometricalData< CoordinateType > &trialGeomData, CollectionOf3dArrays< ValueType > &result) const |
virtual void | evaluateOnGrid (const GeometricalData< CoordinateType > &testGeomData, const GeometricalData< CoordinateType > &trialGeomData, CollectionOf4dArrays< ValueType > &result) const |
virtual std::pair< const char *, int > | evaluateClCode () const |
Currently unused. | |
virtual CoordinateType | estimateRelativeScale (CoordinateType distance) const |
![]() | |
virtual | ~CollectionOfKernels () |
Destructor. | |
virtual void | evaluateAtPointPairs (const GeometricalData< CoordinateType > &testGeomData, const GeometricalData< CoordinateType > &trialGeomData, CollectionOf3dArrays< ValueType > &result) const =0 |
Evaluate the kernels at a list of (test point, trial point) pairs. More... | |
virtual void | evaluateOnGrid (const GeometricalData< CoordinateType > &testGeomData, const GeometricalData< CoordinateType > &trialGeomData, CollectionOf4dArrays< ValueType > &result) const =0 |
Evaluate the kernels on a tensor grid of test and trial points. More... | |
Private Types | |
typedef CollectionOfKernels < typename Functor::ValueType > | Base |
Private Attributes | |
Functor | m_functor |
Default implementation of a collection of kernels.
This class implements the interface defined by CollectionOfKernels using a functor object to evaluate the kernels at specific point pairs.
Functor | Type of the functor that will be passed to the constructor and used to evaluate a number of kernels at individual point pairs. |
The Functor class should provide the following interface:
See the Laplace3dSingleLayerPotentialKernelFunctor class for an example implementation of a (simple) kernel collection functor.
|
virtual |
Retrieve types of geometrical data on which the kernels depend.
An implementation of this function for a particular kernel collection should modify the testGeomDeps
and trialGeomDeps
bitfields by adding to them, using the bitwise OR operation, an appropriate combination of the flags defined in the enum GeometricalDataType.
For example, a collection of kernels depending on the global coordinates of test and trial points and on the orientation of the vector normal to the trial element at trial points should modify the arguments as follows:
Implements Fiber::CollectionOfKernels< Functor::ValueType >.