18#ifndef BEM_RWG_OPINT_SRC_QUAD_I
19#define BEM_RWG_OPINT_SRC_QUAD_I
28template <
typename TriangleQuadratureType,
typename ScalarKernelType>
48 tri_quad_.compute_points_weights(
src_tri, eval);
51 points_3d.topRows(2) = tri_quad_.points();
56 if (base::compute_g_terms_)
67 ) * tri_quad_.weights()[
rs];
76 if (base::compute_grad_g_terms_)
86 ) * tri_quad_.weights()[
rs];
96 std::string
text =
"Integral eval points:\n";
100 std::to_string(0.0) +
"\n";
101 Log::make_debug_section(
text);
SrcResult integrate(const Complex k, const Triangle< 2 > &src_tri, ConstEigRef< EigMatNX< Float, 3 > > r_obs) override
Computes the integral over the source triangle.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
Eigen::Matrix< T, 1, Eigen::Dynamic > EigRowVec
Dynamic-size row vector containing type T.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Eigen::Matrix< T, N, Eigen::Dynamic > EigMatNX
Fixed-height matrix with N rows containing type T.
Namespace for RWG-based BEM functionality.
Data structure to hold the results of integration over the source triangle.