18#ifndef BEM_KERNEL_BASE_H
19#define BEM_KERNEL_BASE_H
30const Float KERNEL_DEFAULT_TOL = 1.0e-6;
45 static_assert((
dim == 2 ||
dim == 3),
"`dim` must be 2 or 3.");
Base class for scalar kernels.
virtual EigColVecN< Complex, dim > grad_kernel(ConstEigRef< EigColVecN< Float, dim > > r_obs, ConstEigRef< EigColVecN< Float, dim > > r_src, const Complex k) const =0
Computes the gradient of the scalar kernel for given observation and source points.
virtual Complex kernel(ConstEigRef< EigColVecN< Float, dim > > r_obs, ConstEigRef< EigColVecN< Float, dim > > r_src, const Complex k) const =0
Computes the scalar kernel for given observation and source points.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
double Float
Floating point number.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Primary namespace for the OpenBEM library.