OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
bem::rwg::OperatorBase< obs_num_dof, src_num_dof > Class Template Referenceabstract

Base class for RWG-based BEM operators. More...

#include <base.hpp>

Detailed Description

template<uint8_t obs_num_dof, uint8_t src_num_dof>
class bem::rwg::OperatorBase< obs_num_dof, src_num_dof >

Base class for RWG-based BEM operators.

Template Parameters
obs_num_dof- Number of degrees of freedom associated with the observation triangle.
src_num_dof- Number of degrees of freedom associated with the source triangle.

Definition at line 40 of file base.hpp.

Member Function Documentation

◆ compute()

template<uint8_t obs_num_dof, uint8_t src_num_dof>
virtual EigMatMN< Complex, obs_num_dof, src_num_dof > bem::rwg::OperatorBase< obs_num_dof, src_num_dof >::compute ( const Complex  k,
const Triangle< 3 > &  obs_tri,
const Triangle< 3 > &  src_tri 
)
pure virtual

Computes operator values for the given observation and source triangles.

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 degrees of freedom.

Rows of the output matrix correspond to observation degrees of freedom, and columns correspond to source degrees of freedom.

Implemented in bem::rwg::VectorDoubleLayerPvOp< ObsIntegratorType >, bem::rwg::VectorDoubleLayerPvOp< ObsStrategic<> >, bem::rwg::RotVectorDoubleLayerPvOp< ObsIntegratorType >, bem::rwg::RotVectorDoubleLayerPvOp< ObsStrategic<> >, bem::rwg::GenericRwgOp< ObsIntegratorType >, bem::rwg::GenericPulseOp< ObsIntegratorType >, bem::rwg::RwgRwgOp< TriangleQuadratureType >, bem::rwg::RotRwgRwgOp< TriangleQuadratureType >, bem::rwg::DivRwgOp, bem::rwg::VectorSingleLayerOp< ObsIntegratorType >, bem::rwg::VectorSingleLayerOp< ObsStrategic<> >, bem::rwg::RotVectorSingleLayerOp< ObsIntegratorType >, bem::rwg::RotVectorSingleLayerOp< ObsStrategic<> >, bem::rwg::ScalarSingleLayerOp< ObsIntegratorType >, bem::rwg::ScalarSingleLayerOp< ObsQuadrature<> >, bem::rwg::ScalarSingleLayerOp< ObsStrategic<> >, bem::rwg::RotGradScalarSingleLayerOp< ObsIntegratorType >, bem::rwg::RotGradScalarSingleLayerOp< ObsStrategic<> >, bem::rwg::VectorHypersingularOp< ObsIntegratorType >, bem::rwg::VectorHypersingularOp< ObsStrategic<> >, bem::rwg::RotVectorHypersingularOp< ObsIntegratorType >, bem::rwg::RotVectorHypersingularOp< ObsStrategic<> >, and bem::rwg::VectorRwgOps< ObsIntegratorType >.

◆ transform_coordinates()

template<uint8_t obs_num_dof, uint8_t src_num_dof>
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 
)
inlinestatic

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