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

Class for quadrature over the source triangle for RWG-based BEM operators. Reference: More...

#include <quadrature.hpp>

+ Inheritance diagram for bem::rwg::SrcQuadrature< TriangleQuadratureType, ScalarKernelType >:

Detailed Description

template<typename TriangleQuadratureType = GaussTriangleQuadrature<2>, typename ScalarKernelType = HGF>
class bem::rwg::SrcQuadrature< TriangleQuadratureType, ScalarKernelType >

Class for quadrature over the source triangle for RWG-based BEM operators. Reference:

  • [1] O. Ergul, L. Gurel, "The Multilevel Fast Multipole Algorithm (MLFMA) for Solving Large-Scale Computational Electromagnetics Problems," book, Wiley-IEEE Press, 2014.
    Template Parameters
    TriangleQuadratureType- Type of the triangle quadrature object, which must derive from TriangleQuadratureBase<2>.
    ScalarKernelType- Object for computing the scalar kernel, which must derive from ScalarKernelBase<3>.

Definition at line 48 of file quadrature.hpp.

Constructor & Destructor Documentation

◆ SrcQuadrature()

Constructs a SrcQuadrature with a specified triangle quadrature object.

Parameters
[in]tri_quad- Triangle quadrature object to use for integration (optional).
[in]kernel- Object for computing the scalar kernel (optional).

Definition at line 68 of file quadrature.hpp.

Member Function Documentation

◆ integrate()

Computes the integral over the source triangle.

Parameters
[in]k- Complex wavenumber.
[in]src_tri- Source triangle in 2D space.
[in]r_obs- Observation points in the local coordinate system of src_tri.
Returns
Integration result.

Implements bem::rwg::SrcIntegratorBase.

Definition at line 29 of file quadrature.tpp.

◆ quadrature_object() [1/2]

template<typename TriangleQuadratureType = GaussTriangleQuadrature<2>, typename ScalarKernelType = HGF>
const TriangleQuadratureType & bem::rwg::SrcQuadrature< TriangleQuadratureType, ScalarKernelType >::quadrature_object ( ) const
inline

Provides read-only access to the triangle quadrature object for inspection.

Returns
Read-only reference to the triangle quadrature object.

Definition at line 92 of file quadrature.hpp.

◆ quadrature_object() [2/2]

Provides writable access to the triangle quadrature object.

Returns
Writable reference to the triangle quadrature object.

Definition at line 100 of file quadrature.hpp.

◆ set_compute_terms()

virtual void bem::rwg::SrcIntegratorBase::set_compute_terms ( bool  compute_g_terms,
bool  compute_grad_g_terms 
)
inlinevirtualinherited

Sets flags defining which terms to compute during integration.

Parameters
[in]compute_g_terms- If true, computes

\[ \int_{\mathrm{src\_tri}} d\mathcal{S}'\,G(k, \vec{r}, \vec{r}\,') \]

and

\[ \int_{\mathrm{src\_tri}} d\mathcal{S}'\,\vec{r}\,'\,G(k, \vec{r}, \vec{r}\,') \]

for the scalar kernel \( G(k, \vec{r}, \vec{r}\,') \).
[in]compute_grad_g_terms- If true, computes

\[ \int_{\mathrm{src\_tri}} d\mathcal{S}'\,\nabla G(k, \vec{r}, \vec{r}\,'), \]

\[ \int_{\mathrm{src\_tri}} d\mathcal{S}'\,x'\,\nabla G(k, \vec{r}, \vec{r}\,'), \]

and

\[ \int_{\mathrm{src\_tri}} d\mathcal{S}'\,y'\,\nabla G(k, \vec{r}, \vec{r}\,'), \]

for the scalar kernel \( G(k, \vec{r}, \vec{r}\,') \), and for local source triangle coordinates \(\vec{r}\,' = [x', y']^T\).

Definition at line 96 of file base.hpp.

◆ zeros()

virtual SrcResult bem::rwg::SrcIntegratorBase::zeros ( const Complex  k,
const Triangle< 2 > &  src_tri,
ConstEigRef< EigMatNX< Float, 3 > >  r_obs 
)
inlinevirtualinherited

Returns a result of zeros of the appropriate size.

Parameters
[in]k- Complex wavenumber.
[in]src_tri- Source triangle in 2D space.
[in]r_obs- Observation points in the local coordinate system of src_tri.
Returns
Integration result.

Definition at line 114 of file base.hpp.

Member Data Documentation

◆ compute_g_terms_

bool bem::rwg::SrcIntegratorBase::compute_g_terms_ = true
protectedinherited

Definition at line 123 of file base.hpp.

◆ compute_grad_g_terms_

bool bem::rwg::SrcIntegratorBase::compute_grad_g_terms_ = true
protectedinherited

Definition at line 124 of file base.hpp.


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