18#ifndef BEM_RWG_OPS_SINGLE_LAYER_I
19#define BEM_RWG_OPS_SINGLE_LAYER_I
31template <
typename ObsIntegratorType>
42 obs_integrator_.set_compute_terms(
false,
true,
false,
false);
49template <
typename ObsIntegratorType>
88template <
typename ObsIntegratorType>
99 obs_integrator_.set_compute_terms(
false,
true,
false,
false);
106template <
typename ObsIntegratorType>
153template <
typename ObsIntegratorType>
164 obs_integrator_.set_compute_terms(
true,
false,
false,
false);
171template <
typename ObsIntegratorType>
188template <
typename ObsIntegratorType>
199 obs_integrator_.set_compute_terms(
false,
false,
true,
false);
206template <
typename ObsIntegratorType>
251template <
typename ObsIntegratorType>
265template <
typename ObsIntegratorType>
Geometry operations class.
static Float normalization(const Triangle< 3 > &tri)
Defines the normalization factor for the pulse function associated with a given triangle.
EigMatMN< Complex, 3, 1 > 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.
EigMatMN< Complex, 3, 1 > 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.
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.
static EigRowVecN< Float, 3 > normalization(const Triangle< 3 > &tri)
Defines the normalization factor for each RWG function associated with a given triangle.
EigMatMN< Complex, 1, 1 > 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, 1, 1 > 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.
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.
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.
Eigen::Matrix< T, M, N > EigMatMN
Fixed-size matrix with M rows and N columns 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.
Data structure to hold the results of integration over the observation triangle.