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

Class for generating the full set of vector operator matrices for RWG observation and source functions. More...

#include <operator_matrix.hpp>

+ Inheritance diagram for bem::rwg::VectorOperatorsAssembler:

Detailed Description

Class for generating the full set of vector operator matrices for RWG observation and source functions.

Definition at line 185 of file operator_matrix.hpp.

Member Function Documentation

◆ prep_matrix()

void bem::rwg::VectorOperatorsAssembler::prep_matrix ( MatrixBase< Complex > &  mat)
overridevirtual

Prepares the matrix for assembly (e.g., resizing and preallocation).

Parameters
[out]mat- Matrix to store the assembled operator coefficients, with columns corresponding to source edges, and rows corresponding to observation edges. The four vector operator matrices are stacked along the vertical direction.

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

Definition at line 122 of file operator_matrix.cpp.

◆ fill_matrix() [1/2]

void bem::rwg::VectorOperatorsAssembler::fill_matrix ( MatrixBase< Complex > &  mat,
ConstEigRef< EigColVecN< Index, 2 > >  elem_pair,
ConstEigRef< EigMatMN< Complex, 12, 3 > >  values 
)
override

Fills operator values in the matrix for edge-based RWG observation and source functions.

Parameters
[out]mat- Matrix to store the assembled operator coefficients, with columns corresponding to source edges, and rows corresponding to observation edges, for all operators stacked along the vertical direction.
[in]elem_pair- Observation (first entry) and source (second entry) triangle index pair.
[in]values- Operator values for each pair of observation and source degrees of freedom, for all operators stacked along the vertical direction.

Definition at line 130 of file operator_matrix.cpp.

◆ assemble()

void bem::rwg::OperatorAssemblerBase< obs_num_dof, src_num_dof >::assemble ( MatrixBase< Complex > &  mat,
OperatorType  op,
const Complex  k 
)
inlineinherited

Assembles the operator matrix for a given operator object and source and observation meshes.

Parameters
[out]mat- Matrix to store the assembled operator coefficients, with columns corresponding to source degrees of freedom, and rows corresponding to observation degrees of freedom.
[in]op- Operator object that computes the coefficients to be assembled into mat; must inherit from OperatorBase<obs_num_dof, src_num_dof>.
[in]k- Complex wavenumber.

Definition at line 115 of file base.hpp.

◆ fill_matrix() [2/2]

virtual void bem::rwg::OperatorAssemblerBase< obs_num_dof, src_num_dof >::fill_matrix ( MatrixBase< Complex > &  mat,
ConstEigRef< EigColVecN< Index, 2 > >  elem_pair,
ConstEigRef< EigMatMN< Complex, obs_num_dof, src_num_dof > >  values 
)
pure virtualinherited

Fills operator values in the matrix based on source and observation meshes and degrees of freedom.

Parameters
[out]mat- Matrix to store the assembled operator coefficients, with columns corresponding to source degrees of freedom, and rows corresponding to observation degrees of freedom.
[in]elem_pair- Observation (first entry) and source (second entry) triangle index pair.
[in]values- Operator values for each pair of observation and source degrees of freedom.

◆ make_pairs() [1/2]

static EigMatNX< Index, 2 > bem::rwg::OperatorAssemblerBase< obs_num_dof, src_num_dof >::make_pairs ( const TriangleMesh< 3 > &  obs_mesh,
const TriangleMesh< 3 > &  src_mesh 
)
inlinestaticinherited

Generates all possible pairs of triangle indices for given observation and source triangle meshes.

Parameters
[in]obs_mesh- Observation triangle mesh.
[in]src_mesh- Source triangle mesh.
Returns
All possible triangle index pairs, with observation indices in the first row, and source indices in the second row.

Definition at line 175 of file base.hpp.

◆ make_pairs() [2/2]

static EigMatNX< Index, 2 > bem::rwg::OperatorAssemblerBase< obs_num_dof, src_num_dof >::make_pairs ( ConstEigRef< EigRowVec< Index > >  obs_elems,
ConstEigRef< EigRowVec< Index > >  src_elems 
)
inlinestaticinherited

Makes all possible pairs of triangle indices for given observation and source triangle indices.

Parameters
[in]obs_elems- Observation triangle indices.
[in]src_elems- Source triangle indices.
Returns
All possible triangle index pairs, with observation indices in the first row, and source indices in the second row.

Definition at line 200 of file base.hpp.

Member Data Documentation

◆ obs_mesh_

Definition at line 223 of file base.hpp.

◆ src_mesh_

Definition at line 224 of file base.hpp.

◆ elem_pairs_

Definition at line 225 of file base.hpp.


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