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

Class for computing the gradient of the scalar single-layer potential projector. More...

#include <single_layer.hpp>

+ Inheritance diagram for bem::rwg::GradScalarSingleLayerProj< SrcIntegratorType >:

Detailed Description

template<typename SrcIntegratorType = SrcStrategic<>>
class bem::rwg::GradScalarSingleLayerProj< SrcIntegratorType >

Class for computing the gradient of the scalar single-layer potential projector.

Definition at line 148 of file single_layer.hpp.

Constructor & Destructor Documentation

◆ GradScalarSingleLayerProj()

template<typename SrcIntegratorType = SrcStrategic<>>
bem::rwg::GradScalarSingleLayerProj< SrcIntegratorType >::GradScalarSingleLayerProj ( const SrcIntegratorType  src_integrator = SrcStrategic<>())
inline

Constructs a GradScalarSingleLayerProj object with a specified integration object.

Parameters
[in]src_integrator- Integration object for the source triangle (optional).

Definition at line 162 of file single_layer.hpp.

Member Function Documentation

◆ compute()

EigMatXN< Complex, 1 > bem::rwg::GradScalarSingleLayerProj< SrcIntegratorType >::compute ( const Complex  k,
ConstEigRef< EigMatNX< Float, 3 > >  obs_points,
const Triangle< 3 > &  src_tri 
)
overridevirtual

Computes the gradient of the scalar single-layer projector.

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 triangle edge.

Computes

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

where \( G(k, \vec{r}, \vec{r}\,') \) is a scalar kernel, and \( h(\vec{r}) \) is the pulse function associated with the source triangle. Rows of the output matrix are ordered by field components and then by observation points, and columns correspond to source edges. I.e., each column of the output looks like \( (F_{x1}, F_{y1}, F_{z1}), (F_{x2}, F_{y2}, F_{z2}), \ldots \), where \( (F_{xi}, F_{yi}, F_{zi}) \) are the components of the gradient of the projected scalar field, defined at the observation point \( (x_i, y_i, z_i) \).

Implements bem::rwg::ProjectorBase< 1 >.

Definition at line 85 of file single_layer.tpp.

◆ transform_coordinates()

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 
)
inlinestaticinherited

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: