18#ifndef BEM_RWG_OPS_GRAM_I
19#define BEM_RWG_OPS_GRAM_I
30template <
typename TriangleQuadratureType>
43 tri_quad_.compute_points_weights(
obs_tri);
52 ((tri_quad_.points().colwise() -
obs_tri.v((
ii + 2) % 3)).transpose() *
53 (tri_quad_.points().colwise() -
src_tri.v((
jj + 2) % 3))).diagonal()
73template <
typename TriangleQuadratureType>
86 tri_quad_.compute_points_weights(
obs_tri);
95 (((tri_quad_.points().colwise() -
obs_tri.v((
ii + 2) % 3)
96 ).colwise().cross(
obs_tri.normal())).transpose() * (
97 (tri_quad_.points().colwise() -
src_tri.v((
jj + 2) % 3)))).diagonal());
Geometry operations class.
EigMatMN< Complex, 3, 3 > compute(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri) override
Computes the rotationally-tested RWG identity operator.
EigMatMN< Complex, 3, 3 > compute(const Complex k, const Triangle< 3 > &obs_tri, const Triangle< 3 > &src_tri) override
Computes the RWG identity operator.
static EigRowVecN< Float, 3 > normalization(const Triangle< 3 > &tri)
Defines the normalization factor for each RWG function associated with a given triangle.
Eigen::Matrix< T, M, N > EigMatMN
Fixed-size matrix with M rows and N columns 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.
Namespace for RWG-based BEM functionality.