18#ifndef BEM_RWG_FUNCSP_H
19#define BEM_RWG_FUNCSP_H
31template <
typename T>
class MatrixBase;
32template <u
int8_t dim>
class TriangleMesh;
59 {
return tri.edge_polarities() /
tri.area() / two; };
134 {
return one /
tri.area(); };
Class for operations associated with pulse functions.
static Float normalization(const Triangle< 3 > &tri)
Defines the normalization factor for the pulse function associated with a given triangle.
static EigRowVec< Complex > reconstruct_field(const TriangleMesh< 3 > &mesh, const MatrixBase< Complex > &coeffs, ConstEigRef< EigMatNX< Float, 3 > > points)
Reconstructs a scalar field expressed with pulse functions on a given triangle mesh.
static EigRowVec< Float > value(const Triangle< 3 > &tri, ConstEigRef< EigMatNX< Float, 3 > > points)
Evaluates the value of the pulse function associated with a given triangle at a given set of points i...
static Complex test_field(const Triangle< 3 > &tri, std::function< EigRowVec< Complex >(ConstEigRef< EigMatNX< Float, 3 > >)> field_eval, TriangleQuadratureBase< 3 > &tri_quad)
Tests a field on the pulse function associated with a given triangle.
Class for operations associated with RWG functions.
static EigMatNX< Complex, 3 > reconstruct_field(const TriangleMesh< 3 > &mesh, const MatrixBase< Complex > &coeffs, ConstEigRef< EigMatNX< Float, 3 > > points, const bool rotated=false)
Reconstructs a vector field expressed with RWG functions on a given triangle mesh.
static EigMatNX< Float, 3 > value(const Triangle< 3 > &tri, uint8_t edge, ConstEigRef< EigMatNX< Float, 3 > > points, const bool rotated=false)
Evaluates the value of the RWG function associated with a given edge of a given triangle at a given s...
static EigColVecN< Complex, 3 > test_field(const Triangle< 3 > &tri, std::function< EigMatNX< Complex, 3 >(ConstEigRef< EigMatNX< Float, 3 > >)> field_eval, TriangleQuadratureBase< 3 > &tri_quad, const bool rotated=false)
Tests a field on the RWG functions associated with the edges of a given triangle.
static EigRowVecN< Float, 3 > normalization(const Triangle< 3 > &tri)
Defines the normalization factor for each RWG function associated with a given 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.
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.
Namespace for RWG-based BEM functionality.
Primary namespace for the OpenBEM library.