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

Class providing lumped element functionality for the NEFIE. More...

#include <efie.hpp>

+ Inheritance diagram for bem::rwg::NefieLumpedElement< MatrixType >:

Detailed Description

template<typename MatrixType = EigenDenseMatrix<Complex>>
class bem::rwg::NefieLumpedElement< MatrixType >

Class providing lumped element functionality for the NEFIE.

Template Parameters
MatrixType- Matrix type, must derive from MatrixBase<Complex>.

Definition at line 182 of file efie.hpp.

Member Function Documentation

◆ coupling_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
MatrixType bem::rwg::NefieLumpedElement< MatrixType >::coupling_matrix ( const Float  f) const
inlineoverridevirtual

Returns the matrix the couples the element port current to the NEFIE.

Parameters
[in]f- Frequency in Hz.
Returns
Coupling matrix.

Implements bem::rwg::LumpedElementBase< MatrixType >.

Definition at line 195 of file efie.hpp.

◆ voltage_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
MatrixType bem::rwg::NefieLumpedElement< MatrixType >::voltage_matrix ( const Float  f) const
inlineoverridevirtual

Returns the matrix associated with the potential differences between terminals.

Parameters
[in]f- Frequency in Hz.
Returns
Voltage matrix.

Implements bem::rwg::LumpedElementBase< MatrixType >.

Definition at line 211 of file efie.hpp.

◆ current_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
MatrixType bem::rwg::NefieLumpedElement< MatrixType >::current_matrix ( const Float  f) const
inlineoverridevirtual

Returns the matrix associated with terminal currents.

Parameters
[in]f- Frequency in Hz
Returns
Current matrix.

Implements bem::rwg::LumpedElementBase< MatrixType >.

Definition at line 223 of file efie.hpp.

◆ nxphi_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
MatrixType bem::rwg::NefieLumpedElement< MatrixType >::nxphi_matrix ( const Float  f,
const TriangleMesh< 3 > &  obs_mesh,
const TriangleMesh< 3 > &  src_mesh 
) const
inlineprotected

Returns the matrix associated with the scalar potential on given source and observation meshes.

Parameters
[in]f- Frequency in Hz.
[in]obs_mesh- Observation triangle mesh for which the operator matrix is to be assembled.
[in]src_mesh- Source triangle mesh for which the operator matrix is to be assembled.
Returns
Scalar potential matrix.

Definition at line 239 of file efie.hpp.

◆ num_ports()

template<typename MatrixType = EigenDenseMatrix<Complex>>
Index bem::rwg::LumpedElementBase< MatrixType >::num_ports ( ) const
inlineinherited

Returns the number of excitations (right-hand sides), which equals the number of ports.

Returns
Number of excitations (right-hand sides).

Definition at line 110 of file base.hpp.

◆ num_port_elems() [1/2]

template<typename MatrixType = EigenDenseMatrix<Complex>>
Index bem::rwg::LumpedElementBase< MatrixType >::num_port_elems ( ) const
inlineinherited

Returns the number of mesh elements associated with ports.

Returns
Number of port mesh elements.

Definition at line 118 of file base.hpp.

◆ num_port_elems() [2/2]

template<typename MatrixType = EigenDenseMatrix<Complex>>
Index bem::rwg::LumpedElementBase< MatrixType >::num_port_elems ( Index  idx) const
inlineinherited

Returns the number of mesh elements associated with a given port.

Returns
Number of port mesh elements.

Definition at line 132 of file base.hpp.

◆ port_mesh_view() [1/2]

template<typename MatrixType = EigenDenseMatrix<Complex>>
MeshView< TriangleMesh< 3 > > bem::rwg::LumpedElementBase< MatrixType >::port_mesh_view ( ) const
inlineinherited

Returns a mesh view consisting of all elements associated with the ports.

Returns
Port mesh view.

Definition at line 145 of file base.hpp.

◆ port_mesh_view() [2/2]

template<typename MatrixType = EigenDenseMatrix<Complex>>
MeshView< TriangleMesh< 3 > > bem::rwg::LumpedElementBase< MatrixType >::port_mesh_view ( Index  idx) const
inlineinherited

Returns a mesh view consisting of all elements associated with a given port.

Returns
Port mesh view.

Definition at line 165 of file base.hpp.

◆ exc_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
virtual MatrixType bem::rwg::LumpedElementBase< MatrixType >::exc_matrix ( const Float  f) const
inlinevirtualinherited

Returns the right-hand side excitation matrix to set a voltage source at each lumped element.

Parameters
[in]f- Frequency in Hz.
Returns
Excitation matrix.

Definition at line 207 of file base.hpp.

◆ current_mapping_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
virtual MatrixType bem::rwg::LumpedElementBase< MatrixType >::current_mapping_matrix ( ) const
inlinevirtualinherited

Returns the matrix that maps the total port currents to the volume current densities on terminal triangles.

Returns
Mapping matrix.

Definition at line 219 of file base.hpp.

◆ voltage_mapping_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
virtual MatrixType bem::rwg::LumpedElementBase< MatrixType >::voltage_mapping_matrix ( ) const
inlinevirtualinherited

Returns the matrix that maps the scalar potential on terminal triangles to the average voltage on the port.

Returns
Mapping matrix.

Definition at line 251 of file base.hpp.

◆ terminal_mapping_matrix()

template<typename MatrixType = EigenDenseMatrix<Complex>>
virtual MatrixType bem::rwg::LumpedElementBase< MatrixType >::terminal_mapping_matrix ( ) const
inlinevirtualinherited

Returns the matrix that maps terminal triangles to their parent mesh triangles.

Returns
Mapping matrix.

Definition at line 281 of file base.hpp.

◆ terminal_area()

template<typename MatrixType = EigenDenseMatrix<Complex>>
Float bem::rwg::LumpedElementBase< MatrixType >::terminal_area ( const MeshView< TriangleMesh< 3 > > &  terminal) const
inlineinherited

Returns the total area spanned by the mesh triangles associated with a given terminal.

Parameters
[in]terminal- Terminal mesh view.
Returns
Terminal area.

Definition at line 300 of file base.hpp.

◆ terminals()

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector< MeshView< TriangleMesh< 3 > > > & bem::rwg::LumpedElementBase< MatrixType >::terminals ( ) const
inlineinherited

Returns a read-only reference to the terminal mesh views.

Definition at line 312 of file base.hpp.

◆ ports()

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector< std::array< Index, 2 > > & bem::rwg::LumpedElementBase< MatrixType >::ports ( ) const
inlineinherited

Returns a read-only reference to the port map.

Definition at line 318 of file base.hpp.

◆ impedances()

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector< Complex > & bem::rwg::LumpedElementBase< MatrixType >::impedances ( ) const
inlineinherited

Returns a read-only reference to the lumped impedances.

Definition at line 324 of file base.hpp.

◆ terminal_components()

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector< std::vector< Index > > & bem::rwg::LumpedElementBase< MatrixType >::terminal_components ( ) const
inlineinherited

Returns a read-only reference to the components associated with each terminal.

Definition at line 330 of file base.hpp.

◆ check_impedances()

template<typename MatrixType = EigenDenseMatrix<Complex>>
void bem::rwg::LumpedElementBase< MatrixType >::check_impedances ( )
inlineprotectedinherited

Ensures correct number of impedances are set.

Definition at line 338 of file base.hpp.

◆ set_terminals_from_polygons()

template<typename MatrixType = EigenDenseMatrix<Complex>>
void bem::rwg::LumpedElementBase< MatrixType >::set_terminals_from_polygons ( const std::vector< EigMatNX< Float, 3 > > &  terminal_polygons,
const bool  single_element = false 
)
inlineprotectedinherited

Populates terminals_ by finding mesh elements inside each terminal polygon.

Parameters
[in]terminal_polygons- Terminal polygons.
[in]single_element- If true, only the mesh element closest to the terminal polygon centroid is kept (optional).

A triangle is considered part of a terminal if it is coplanar with the terminal polygon, and any of its vertices lie on or within the terminal boundary.

Definition at line 359 of file base.hpp.

Member Data Documentation

◆ structure_

template<typename MatrixType = EigenDenseMatrix<Complex>>
const Structure<TriangleMesh<3> >& bem::rwg::LumpedElementBase< MatrixType >::structure_
protectedinherited

Definition at line 426 of file base.hpp.

◆ terminal_polygons_

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector<EigMatNX<Float, 3> > bem::rwg::LumpedElementBase< MatrixType >::terminal_polygons_
protectedinherited

Definition at line 427 of file base.hpp.

◆ ports_

template<typename MatrixType = EigenDenseMatrix<Complex>>
const std::vector<std::array<Index, 2> > bem::rwg::LumpedElementBase< MatrixType >::ports_
protectedinherited

Definition at line 428 of file base.hpp.

◆ terminals_

template<typename MatrixType = EigenDenseMatrix<Complex>>
std::vector<MeshView<TriangleMesh<3> > > bem::rwg::LumpedElementBase< MatrixType >::terminals_
protectedinherited

Definition at line 429 of file base.hpp.

◆ terminal_components_

template<typename MatrixType = EigenDenseMatrix<Complex>>
std::vector<std::vector<Index> > bem::rwg::LumpedElementBase< MatrixType >::terminal_components_
protectedinherited

Definition at line 430 of file base.hpp.

◆ impedances_

template<typename MatrixType = EigenDenseMatrix<Complex>>
std::vector<Complex> bem::rwg::LumpedElementBase< MatrixType >::impedances_
protectedinherited

Definition at line 431 of file base.hpp.


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