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

Class for computing the full set of vector RWG operators. More...

#include <vector_ops.hpp>

+ Inheritance diagram for bem::rwg::VectorRwgOps< ObsIntegratorType >:

Detailed Description

template<typename ObsIntegratorType = ObsStrategic<>>
class bem::rwg::VectorRwgOps< ObsIntegratorType >

Class for computing the full set of vector RWG operators.

Template Parameters
ObsIntegratorType- Type of the observation triangle integrator, must derive from ObsIntegratorBase.

Definition at line 49 of file vector_ops.hpp.

Constructor & Destructor Documentation

◆ VectorRwgOps()

template<typename ObsIntegratorType = ObsStrategic<>>
bem::rwg::VectorRwgOps< ObsIntegratorType >::VectorRwgOps ( const ObsIntegratorType  obs_integrator = ObsStrategic<>(),
const bool  helmholtz_kernel = false 
)
inline

Constructs a VectorRwgOps object with a specified integration object.

Parameters
[in]obs_integrator- Integration object for the observation triangle (optional).
[in]helmholtz_kernel- When false, computes the hypersingular form of kernels (optional).

Definition at line 65 of file vector_ops.hpp.

Member Function Documentation

◆ compute()

EigMatMN< Complex, 12, 3 > bem::rwg::VectorRwgOps< ObsIntegratorType >::compute ( const Complex  k,
const Triangle< 3 > &  obs_tri,
const Triangle< 3 > &  src_tri 
)
overridevirtual

Computes the 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, for each operator.

Rows of the output matrix correspond to observation edges, and columns correspond to source edges. The operators are stacked row by row; the first three rows correspond to the first operator, the next three to the next operator, and so on.

Implements bem::rwg::OperatorBase< 12, 3 >.

Definition at line 32 of file vector_ops.tpp.

◆ transform_coordinates()

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

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.

Member Data Documentation

◆ helmholtz_kernel_

template<typename ObsIntegratorType = ObsStrategic<>>
const bool bem::rwg::VectorRwgOps< ObsIntegratorType >::helmholtz_kernel_ = false
protected

Definition at line 89 of file vector_ops.hpp.

◆ obs_integrator_

template<typename ObsIntegratorType = ObsStrategic<>>
ObsIntegratorType bem::rwg::VectorRwgOps< ObsIntegratorType >::obs_integrator_
protected

Definition at line 91 of file vector_ops.hpp.

◆ vector_single_layer_

template<typename ObsIntegratorType = ObsStrategic<>>
VectorSingleLayerOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::vector_single_layer_
protected

Definition at line 93 of file vector_ops.hpp.

◆ rot_vector_single_layer_

template<typename ObsIntegratorType = ObsStrategic<>>
RotVectorSingleLayerOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::rot_vector_single_layer_
protected

Definition at line 94 of file vector_ops.hpp.

◆ vector_double_layer_pv_

template<typename ObsIntegratorType = ObsStrategic<>>
VectorDoubleLayerPvOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::vector_double_layer_pv_
protected

Definition at line 95 of file vector_ops.hpp.

◆ rot_vector_double_layer_pv_

template<typename ObsIntegratorType = ObsStrategic<>>
RotVectorDoubleLayerPvOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::rot_vector_double_layer_pv_
protected

Definition at line 96 of file vector_ops.hpp.

◆ rot_grad_scalar_single_layer_

template<typename ObsIntegratorType = ObsStrategic<>>
RotGradScalarSingleLayerOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::rot_grad_scalar_single_layer_
protected

Definition at line 97 of file vector_ops.hpp.

◆ scalar_single_layer_

template<typename ObsIntegratorType = ObsStrategic<>>
ScalarSingleLayerOp<ObsIntegratorType> bem::rwg::VectorRwgOps< ObsIntegratorType >::scalar_single_layer_
protected

Definition at line 98 of file vector_ops.hpp.


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