18#ifndef BEM_RWG_OPS_DOUBLE_LAYER_H
19#define BEM_RWG_OPS_DOUBLE_LAYER_H
56template <
typename ObsIntegratorType = ObsStrategic<>>
61 std::is_base_of<ObsIntegratorBase, ObsIntegratorType>::value,
62 "VectorDoubleLayerPvOp: `ObsIntegratorType` must derive from `ObsIntegratorBase`"
130template <
typename ObsIntegratorType = ObsStrategic<>>
135 std::is_base_of<ObsIntegratorBase, ObsIntegratorType>::value,
136 "RotVectorDoubleLayerPvOp: `ObsIntegratorType` must derive from `ObsIntegratorBase`"
Base class for RWG-based BEM operators.
Class for computing the rotationally-tested vector double-layer potential operator in a principal val...
EigMatMN< Complex, 3, 3 > assemble(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri, const ObsResult &obs_result)
Assembles the computed integrals into the final operator values.
RotVectorDoubleLayerPvOp(const ObsIntegratorType obs_integrator=ObsStrategic<>())
Constructs a RotVectorDoubleLayerPvOp object with a specified integration object.
EigMatMN< Complex, 3, 3 > compute(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri) override
Computes operator values for the given observation and source triangles.
Class for computing the vector double-layer potential operator in a principal value sense.
VectorDoubleLayerPvOp(const ObsIntegratorType obs_integrator=ObsStrategic<>())
Constructs a VectorDoubleLayerPvOp object with a specified integration object.
EigMatMN< Complex, 3, 3 > assemble(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri, const ObsResult &obs_result)
Assembles the computed integrals into the final operator values.
EigMatMN< Complex, 3, 3 > compute(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri) override
Computes operator values for the given observation and source triangles.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Namespace for RWG-based BEM functionality.
Data structure to hold the results of integration over the observation triangle.