OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
bem::rwg::Rwg Class Reference

Class for operations associated with RWG functions. More...

#include <function_space.hpp>

Detailed Description

Class for operations associated with RWG functions.

Definition at line 49 of file function_space.hpp.

Member Function Documentation

◆ normalization()

static EigRowVecN< Float, 3 > bem::rwg::Rwg::normalization ( const Triangle< 3 > &  tri)
inlinestatic

Defines the normalization factor for each RWG function associated with a given triangle.

Parameters
[in]tri- Triangle for whose edges the RWG function normalization is required.
Returns
Normalization factor for each RWG function associated with the edges of tri.

Definition at line 58 of file function_space.hpp.

◆ value()

EigMatNX< Float, 3 > bem::rwg::Rwg::value ( const Triangle< 3 > &  tri,
uint8_t  edge,
ConstEigRef< EigMatNX< Float, 3 > >  points,
const bool  rotated = false 
)
static

Evaluates the value of the RWG function associated with a given edge of a given triangle at a given set of points in that triangle.

Parameters
[in]tri- Triangle for whose edges the RWG function is to be evaluated.
[in]edge- Edge index (0, 1, or 2) of the triangle for which the RWG function value is required.
[in]points- Points in the triangle at which to evaluate the RWG function.
[in]rotated- If true, evaluates the rotated RWG function (nxRWG).
Returns
Value of the RWG function associated with edge edge of tri at each of the points.

Definition at line 36 of file function_space.cpp.

◆ test_field()

EigColVecN< Complex, 3 > bem::rwg::Rwg::test_field ( const Triangle< 3 > &  tri,
std::function< EigMatNX< Complex, 3 >(ConstEigRef< EigMatNX< Float, 3 > >)>  field_eval,
TriangleQuadratureBase< 3 > &  tri_quad,
const bool  rotated = false 
)
static

Tests a field on the RWG functions associated with the edges of a given triangle.

Parameters
[in]tri- Triangle for whose edges the RWG function is to be evaluated.
[in]field_eval- Function or class with operator() that evaluates the vector field at given set of points in the triangle.
[in]tri_quad- Triangle quadrature object to use for integration over the triangle.
[in]rotated- If true, tests the field with rotated RWG functions (nxRWG).
Returns
Tested field on each RWG function associated with the edges of tri.

Computes

\[ \int_{\mathrm{tri}} d\mathcal{S}\,\vec{f_n}(\vec{r})\cdot \vec{g}(\vec{r}) \]

for each triangle edge \( n \), where \( \vec{g}(\vec{r}) \) is a vector field, and \( \vec{f_n}(\vec{r}) \) is the RWG function associated with edge \( n \) of tri.

Definition at line 52 of file function_space.cpp.

◆ reconstruct_field()

EigMatNX< Complex, 3 > bem::rwg::Rwg::reconstruct_field ( const TriangleMesh< 3 > &  mesh,
const MatrixBase< Complex > &  coeffs,
ConstEigRef< EigMatNX< Float, 3 > >  points,
const bool  rotated = false 
)
static

Reconstructs a vector field expressed with RWG functions on a given triangle mesh.

Parameters
[in]mesh- Triangle mesh on which the field is defined.
[in]coeffs- Vector of RWG coefficients for each mesh edge.
[in]points- Points on which to sample the field.
[in]rotated- If true, the field is expressed with rotated RWG functions (nxRWG).
Returns
Vector field sampled at points.
Examples
/examples/ex01_start_here.cpp, and /examples/ex02_assemblers.cpp.

Definition at line 74 of file function_space.cpp.


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