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

Class for line integration over the source triangle for RWG-based BEM operators. References: More...

#include <line.hpp>

+ Inheritance diagram for bem::rwg::SrcLineIntegrator< LineQuadratureType >:

Detailed Description

template<typename LineQuadratureType = GaussLineQuadrature<1>>
class bem::rwg::SrcLineIntegrator< LineQuadratureType >

Class for line integration over the source triangle for RWG-based BEM operators. References:

  • [1] T. Xia et al., "An Integral Equation Modeling of Lossy Conductors With the Enhanced Augmented Electric Field Integral Equation," in IEEE Transactions on Antennas and Propagation, vol. 65, no. 8, pp. 4181-4190, Aug. 2017, doi: 10.1109/TAP.2017.2718587.
  • [2] Z. G. Qian, W. C. Chew and R. Suaya, "Generalized Impedance Boundary Condition for Conductor Modeling in Surface Integral Equation," in IEEE Transactions on Microwave Theory and Techniques, vol. 55, no. 11, pp. 2354-2364, Nov. 2007, doi: 10.1109/TMTT.2007.908678.

Definition at line 47 of file line.hpp.

Constructor & Destructor Documentation

◆ SrcLineIntegrator()

template<typename LineQuadratureType = GaussLineQuadrature<1>>
bem::rwg::SrcLineIntegrator< LineQuadratureType >::SrcLineIntegrator ( const LineQuadratureType  line_quad = GaussLineQuadrature<1>())
inline

Constructs a SrcLineIntegrator with a specified line quadrature object.

Template Parameters
LineQuadratureType- Type of the line quadrature object, which must derive from LineQuadratureBase<1>.
Parameters
[in]line_quad- Line quadrature object to use for integration (optional).

Definition at line 64 of file line.hpp.

Member Function Documentation

◆ integrate()

SrcResult bem::rwg::SrcLineIntegrator< LineQuadratureType >::integrate ( const Complex  k,
const Triangle< 2 > &  src_tri,
ConstEigRef< EigMatNX< Float, 3 > >  r_obs 
)
overridevirtual

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 34 of file line.tpp.

◆ quadrature_object() [1/2]

template<typename LineQuadratureType = GaussLineQuadrature<1>>
const LineQuadratureType & bem::rwg::SrcLineIntegrator< LineQuadratureType >::quadrature_object ( ) const
inline

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

Returns
Read-only reference to the line quadrature object.

Definition at line 86 of file line.hpp.

◆ quadrature_object() [2/2]

template<typename LineQuadratureType = GaussLineQuadrature<1>>
LineQuadratureType & bem::rwg::SrcLineIntegrator< LineQuadratureType >::quadrature_object ( )
inline

Provides writable access to the line quadrature object.

Returns
Writable reference to the line quadrature object.

Definition at line 94 of file line.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: