OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
bem::rwg::RwgRwgOp< TriangleQuadratureType > Class Template Reference

Class for computing the RWG identity operator. More...

#include <gram.hpp>

+ Inheritance diagram for bem::rwg::RwgRwgOp< TriangleQuadratureType >:

Detailed Description

template<typename TriangleQuadratureType = GaussTriangleQuadrature<3>>
class bem::rwg::RwgRwgOp< TriangleQuadratureType >

Class for computing the RWG identity operator.

Template Parameters
TriangleQuadratureType- Type of the triangle quadrature object, which must derive from TriangleQuadratureBase<3>.

Computes

\[ \int_{\mathrm{obs\_tri}} d\mathcal{S}\,\vec{f_m}(\vec{r})\cdot \int_{\mathrm{src\_tri}} d\mathcal{S}'\,\vec{f_n}(\vec{r}\,') \]

for each pair \( (m, n) \) of observation and source triangle edges, where \( \vec{f_i}(\vec{r}) \) is the RWG function associated with edge \( i \). The result is nonzero only when \( \text{obs\_tri} \) and \( \text{src\_tri} \) overlap. Rows of the output matrix correspond to observation edges, and columns correspond to source edges.

Examples
/examples/ex02_assemblers.cpp.

Definition at line 55 of file gram.hpp.

Constructor & Destructor Documentation

◆ RwgRwgOp()

template<typename TriangleQuadratureType = GaussTriangleQuadrature<3>>
bem::rwg::RwgRwgOp< TriangleQuadratureType >::RwgRwgOp ( const TriangleQuadratureType  tri_quad = GaussTriangleQuadrature<3>())
inline

Constructs an RwgRwgOp object with a specified quadrature object for integration.

Parameters
[in]tri_quad- Triangle quadrature object to use for integration.

Definition at line 69 of file gram.hpp.

Member Function Documentation

◆ compute()

EigMatMN< Complex, 3, 3 > bem::rwg::RwgRwgOp< TriangleQuadratureType >::compute ( const Complex  k,
const Triangle< 3 > &  obs_tri,
const Triangle< 3 > &  src_tri 
)
overridevirtual

Computes the RWG identity operator.

Parameters
[in]k- Complex wavenumber.
[in]obs_tri- Observation triangle.
[in]src_tri- Source triangle.
Returns
Operator values for each pair of observation and source triangle edges.

Implements bem::rwg::OperatorBase< 3, 3 >.

Definition at line 31 of file gram.tpp.

◆ transform_coordinates()

static void bem::rwg::OperatorBase< obs_num_dof, src_num_dof >::transform_coordinates ( Triangle< 3 > &  obs_tri_local,
Triangle< 2 > &  src_tri_local,
const Triangle< 3 > &  obs_tri,
const Triangle< 3 > &  src_tri 
)
inlinestaticinherited

Transforms the coordinates of the observation and source triangles into a local coordinate system defined by the source triangle.

Parameters
[out]obs_tri_local- Observation triangle in the source's local coordinate system.
[out]src_tri_local- Source triangle in its local coordinate system.
[in]obs_tri- Original observation triangle.
[in]src_tri- Original source triangle.

Definition at line 73 of file base.hpp.


The documentation for this class was generated from the following files: