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

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

#include <base.hpp>

Detailed Description

template<uint8_t src_num_dof>
class bem::rwg::ProjectorBase< src_num_dof >

Base class for RWG-based BEM projectors.

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

Definition at line 39 of file base.hpp.

Member Function Documentation

◆ compute()

template<uint8_t src_num_dof>
virtual EigMatXN< Complex, src_num_dof > bem::rwg::ProjectorBase< src_num_dof >::compute ( const Complex  k,
ConstEigRef< EigMatNX< Float, 3 > >  obs_points,
const Triangle< 3 > &  src_tri 
)
pure virtual

Computes projector values for the given observation and source triangles.

Parameters
[in]k- Complex wavenumber.
[in]obs_points- Observation coordinates on which to project the generated field.
[in]src_tri- Source triangle.
Returns
Projected field components at each observation point, for each source degree of freedom.

Rows of the output matrix correspond to field components and observation points, and columns correspond to source degrees of freedom. For vector fields, the rows are ordered first by field component, and then by observation point, e.g., \( (F_{x1}, F_{y1}), (F_{x2}, F_{y2}), \ldots \), where \( (F_{xi}, F_{yi}) \) are the components of a two-dimensional vector field \( \vec{F} \) defined at the observation point \( (x_i, y_i) \).

Implemented in bem::rwg::VectorDoubleLayerProj< SrcIntegratorType >, bem::rwg::VectorSingleLayerProj< SrcIntegratorType >, bem::rwg::VectorSingleLayerProj< SrcStrategic<> >, bem::rwg::ScalarSingleLayerProj< SrcIntegratorType >, bem::rwg::GradScalarSingleLayerProj< SrcIntegratorType >, bem::rwg::GradScalarSingleLayerProj< SrcStrategic<> >, and bem::rwg::VectorHypersingularProj< SrcIntegratorType >.

◆ transform_coordinates()

template<uint8_t src_num_dof>
static void bem::rwg::ProjectorBase< src_num_dof >::transform_coordinates ( EigMatNX< Float, 3 > &  obs_points_local,
Triangle< 2 > &  src_tri_local,
ConstEigRef< EigMatNX< Float, 3 > >  obs_points,
const Triangle< 3 > &  src_tri 
)
inlinestatic

Transforms the coordinates of the observation points and source triangle into a local coordinate system defined by the source triangle.

Parameters
[out]obs_points_local- Observation points in the source's local coordinate system.
[out]src_tri_local- Source triangle in its local coordinate system.
[in]obs_points- Original observation points.
[in]src_tri- Original source triangle.

Definition at line 74 of file base.hpp.


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