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

Class integration over the source triangle for RWG-based BEM operators. The method of integration is chosen automatically and strategically based on mesh parameters, materials, and frequency. More...

#include <strategic.hpp>

+ Inheritance diagram for bem::rwg::SrcStrategic< TriangleQuadratureType, LineQuadratureType >:

Detailed Description

template<typename TriangleQuadratureType = GaussTriangleQuadrature<2>, typename LineQuadratureType = GaussLineQuadrature<1>>
class bem::rwg::SrcStrategic< TriangleQuadratureType, LineQuadratureType >

Class integration over the source triangle for RWG-based BEM operators. The method of integration is chosen automatically and strategically based on mesh parameters, materials, and frequency.

Template Parameters
TriangleQuadratureType- Type of the triangle quadrature object, which must derive from TriangleQuadratureBase<2>.
LineQuadratureType- Type of the line quadrature object, which must derive from LineQuadratureBase<1>.

Definition at line 81 of file strategic.hpp.

Constructor & Destructor Documentation

◆ SrcStrategic()

Constructs a SrcStrategic integrator with specified line and triangle quadrature objects.

Parameters
[in]settings- Integration settings for singularity treatment and line integration (optional).
[in]tri_quad- Triangle quadrature object to use for integration (optional).
[in]line_quad- Line quadrature object to use for integration (optional).

Definition at line 102 of file strategic.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 30 of file strategic.tpp.

◆ 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: