18#ifndef BEM_RWG_PROJ_BASE_H
19#define BEM_RWG_PROJ_BASE_H
38template <u
int8_t src_num_dof>
42 static_assert((
src_num_dof > 0),
"ProjectorBase: `src_num_dof` must be greater than 0.");
Geometry operations class.
static EigMatNX< Float, dim > transform_coordinate_system(ConstEigRef< EigMatNX< Float, dim > > v_in, ConstEigRef< EigColVecN< Float, dim > > new_origin, ConstEigRef< EigMatMN< Float, dim, dim > > new_uvw)
Transforms the given coordinates to a new coordinate system defined by a new origin and orthogonal un...
Base class for RWG-based BEM projectors.
static void transform_coordinates(EigMatNX< Float, 3 > &obs_points_local, Triangle< 2 > &src_tri_local, ConstEigRef< EigMatNX< Float, 3 > > obs_points, const Triangle< 3 > &src_tri)
Transforms the coordinates of the observation points and source triangle into a local coordinate syst...
virtual EigMatXN< Complex, src_num_dof > compute(const Complex k, ConstEigRef< EigMatNX< Float, 3 > > obs_points, const Triangle< 3 > &src_tri)=0
Computes projector values for the given observation and source triangles.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
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.