18#ifndef BEM_RWG_EFIE_LUMPED_ELEM_H
19#define BEM_RWG_EFIE_LUMPED_ELEM_H
48template <
typename MatrixType = EigenDenseMatrix<Complex>>
112 mat.add_block(
current_mat, 0, base::structure_.mesh().num_edges(), -one);
148 Complex k = base::structure_.background_material().k(
f);
149 Complex eps_eff = base::structure_.background_material().eps_eff(
f);
155 Lp.scale(-one / eps_eff / (
J * two_pi *
f));
181template <
typename MatrixType = EigenDenseMatrix<Complex>>
245 Complex k = base::structure_.background_material().k(
f);
246 Complex eps_eff = base::structure_.background_material().eps_eff(
f);
252 Lp.scale(-one / eps_eff / (
J * two_pi *
f));
Class for computing the discrete divergence matrix for RWG functions.
Class for generating operator matrices for RWG observation and pulse source functions.
Class for generating operator matrices for pulse observation and RWG source functions.
Class for generating operator matrices for pulse observation and source functions.
Base class for generating excitation coefficients and coupling matrices for lumped ports.
virtual MatrixType voltage_mapping_matrix() const
Returns the matrix that maps the scalar potential on terminal triangles to the average voltage on the...
virtual MatrixType current_mapping_matrix() const
Returns the matrix that maps the total port currents to the volume current densities on terminal tria...
Index num_ports() const
Returns the number of excitations (right-hand sides), which equals the number of ports.
MeshView< TriangleMesh< 3 > > port_mesh_view() const
Returns a mesh view consisting of all elements associated with the ports.
const std::vector< Complex > & impedances() const
Returns a read-only reference to the lumped impedances.
Class providing lumped element functionality for the NEFIE.
MatrixType coupling_matrix(const Float f) const override
Returns the matrix the couples the element port current to the NEFIE.
MatrixType current_matrix(const Float f) const override
Returns the matrix associated with terminal currents.
MatrixType voltage_matrix(const Float f) const override
Returns the matrix associated with the potential differences between terminals.
MatrixType nxphi_matrix(const Float f, const TriangleMesh< 3 > &obs_mesh, const TriangleMesh< 3 > &src_mesh) const
Returns the matrix associated with the scalar potential on given source and observation meshes.
void assemble(MatrixBase< Complex > &mat, OperatorType op, const Complex k)
Assembles the operator matrix for a given operator object and source and observation meshes.
Class for computing the rotationally-tested gradient of the scalar single-layer potential operator.
Class for computing the scalar single-layer potential operator.
Class providing lumped element functionality for the TEFIE.
virtual MatrixType divergence_matrix() const
Returns the matrix that comptes the divergence matrix for mesh edges.
MatrixType coupling_matrix(const Float f) const override
Returns the matrix the couples the element port current to the TEFIE.
MatrixType voltage_matrix(const Float f) const override
Returns the matrix associated with the potential differences between terminals.
MatrixType current_matrix(const Float f) const override
Returns the matrix associated with terminal currents.
MatrixType phi_matrix(const Float f, const TriangleMesh< 3 > &obs_mesh, const TriangleMesh< 3 > &src_mesh) const
Returns the matrix associated with the scalar potential on given source and observation meshes.
const Complex J
Imaginary unit.
double Float
Floating point number.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
std::size_t Index
Unsigned integer type for indices and container sizes.
Namespace for RWG-based BEM functionality.