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

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

#include <strategic.hpp>

+ Inheritance diagram for bem::rwg::ObsStrategic< ObsTriangleQuadratureType, SrcTriangleQuadratureType, LineQuadratureType >:

Detailed Description

template<typename ObsTriangleQuadratureType = GaussTriangleQuadrature<3>, typename SrcTriangleQuadratureType = GaussTriangleQuadrature<2>, typename LineQuadratureType = GaussLineQuadrature<1>>
class bem::rwg::ObsStrategic< ObsTriangleQuadratureType, SrcTriangleQuadratureType, LineQuadratureType >

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

Template Parameters
ObsTriangleQuadratureType- Type of the observation triangle quadrature object, which must derive from TriangleQuadratureBase<2>.
SrcTriangleQuadratureType- Type of the source 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 99 of file strategic.hpp.

Constructor & Destructor Documentation

◆ ObsStrategic()

Constructs an ObsStrategic integrator with specified line and triangle quadrature objects.

Parameters
[in]obs_tri_quad- Observation triangle quadrature object.
[in]src_tri_quad- Source triangle quadrature object.
[in]src_line_quad- Source line quadrature object.
[in]settings- Integration settings for singularity treatment and line integration (optional).

Definition at line 125 of file strategic.hpp.

Member Function Documentation

◆ integrate()

Computes the integral over the source triangle.

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

Implements bem::rwg::ObsIntegratorBase.

Definition at line 31 of file strategic.tpp.

◆ set_compute_terms()

virtual void bem::rwg::ObsIntegratorBase::set_compute_terms ( bool  compute_g_term,
bool  compute_rs_g_terms,
bool  compute_grad_g_terms,
bool  compute_rot_grad_g_terms 
)
inlinevirtualinherited

Sets flags defining which terms to compute during integration, which are propagated into the source triangle integration.

Parameters
[in]compute_g_term- If true, computes

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

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

\[ \int_{\mathrm{obs\_tri}} d\mathcal{S}\,\vec{r}\cdot \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 terms related to

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

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

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

for the scalar kernel \( G(k, \vec{r}, \vec{r}\,') \).

Definition at line 94 of file base.hpp.

Member Data Documentation

◆ compute_g_term_

bool bem::rwg::ObsIntegratorBase::compute_g_term_ = true
protectedinherited

Definition at line 111 of file base.hpp.

◆ compute_rs_g_terms_

bool bem::rwg::ObsIntegratorBase::compute_rs_g_terms_ = true
protectedinherited

Definition at line 112 of file base.hpp.

◆ compute_grad_g_terms_

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

Definition at line 113 of file base.hpp.

◆ compute_rot_grad_g_terms_

bool bem::rwg::ObsIntegratorBase::compute_rot_grad_g_terms_ = true
protectedinherited

Definition at line 114 of file base.hpp.


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