BEM++
2.0
|
Kernel functor for the hypersingular operator associated with the modified Helmholtz equation in 3D, applicable for test and trial points lying on nonadjacent elements. More...
Public Types | |
typedef ValueType_ | ValueType |
typedef ScalarTraits < ValueType >::RealType | CoordinateType |
Public Member Functions | |
ModifiedHelmholtz3dHypersingularOffDiagonalInterpolatedKernelFunctor (ValueType waveNumber, CoordinateType maxDist, int interpPtsPerWavelength) | |
int | kernelCount () const |
int | kernelRowCount (int) const |
int | kernelColCount (int) const |
void | addGeometricalDependencies (size_t &testGeomDeps, size_t &trialGeomDeps) const |
ValueType | waveNumber () const |
template<template< typename T > class CollectionOf2dSlicesOfNdArrays> | |
void | evaluate (const ConstGeometricalDataSlice< CoordinateType > &testGeomData, const ConstGeometricalDataSlice< CoordinateType > &trialGeomData, CollectionOf2dSlicesOfNdArrays< ValueType > &result) const |
CoordinateType | estimateRelativeScale (CoordinateType distance) const |
Kernel functor for the hypersingular operator associated with the modified Helmholtz equation in 3D, applicable for test and trial points lying on nonadjacent elements.
Uses interpolation to speed up kernel evaluation.
ValueType | Type used to represent the values of the kernel. It can be one of: float , double , std::complex<float> and std::complex<double> . Note that setting ValueType to a real type implies that the wave number will also be purely real. |