18#ifndef BEM_RWG_INTEQ_AEFIE_H
19#define BEM_RWG_INTEQ_AEFIE_H
58template <
typename MatrixType = EigenDenseMatrix<Complex>>
99 La.scale(-
J * two_pi *
f * material.
mu());
155 if (base::flip_normals_)
221 MatrixType
inc (base::obs_mesh_.num_edges(),
exc.num_excitations());
248 La.scale(-
J * two_pi *
f * mu);
274 Lp.scale(-one / eps_eff);
Class defining a general material with a constant (zero or non-zero) electrical conductivity and real...
virtual Complex k(const Float f) const
Returns the frequency-dependent complex wavenumber.
virtual Complex eps_eff(const Float f) const
Returns the effective complex permittivity taking into account the electric conductivity.
virtual Complex mu() const
Returns the permeability.
Class defining the RWG-based AEFIE.
MatrixType rho_matrix(const Float f, const Material &material)
Returns the operator matrix associated with the electric surface charge density.
MatrixType j_matrix(const Float f, const Material &material)
Returns the operator matrix associated with the electric surface current density.
MatrixType id_matrix()
Returns the identity operator matrix associated with the magnetic surface current density.
MatrixType exc_matrix(const Float f, const Material &material, ExcitationBase< 3 > &exc)
Returns the excitation matrix for a given excitation operator.
MatrixType rho_projector(const Float f, const Material &material, const PointCloud< 3 > &points)
Returns the projector matrix associated with the electric surface charge density.
MatrixType j_projector(const Float f, const Material &material, const PointCloud< 3 > &points)
Returns the projector matrix associated with the electric surface current density.
void set_operators(const VectorSingleLayerOp<> &op_La, const ScalarSingleLayerOp<> &op_Lp, const VectorDoubleLayerPvOp<> &op_K)
Sets custom operators for the Aefie object.
MatrixType m_projector(const Float f, const Material &material, const PointCloud< 3 > &points)
Returns the projector matrix associated with the magnetic surface current density.
MatrixType m_matrix(const Float f, const Material &material)
Returns the operator matrix associated with the magnetic surface current density.
MatrixType phi_matrix(const Float f, const Material &material)
Returns the intermediate operator matrix associated with the electric surface charge density.
MatrixType div_matrix(const Float f, const Material &material)
Returns the divergence matrix.
Class for computing the discrete divergence matrix for RWG functions.
Class for generating excitation matrices for RWG-based BEM systems with RWG testing functions.
Class for generating operator matrices for RWG observation and 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 defining an RWG-based integral equation.
void assemble(MatrixBase< Complex > &mat, OperatorType op, const Complex k)
Assembles the operator matrix for a given operator object and source and observation meshes.
const Complex J
Imaginary unit.
Eigen::Matrix< T, 1, Eigen::Dynamic > EigRowVec
Dynamic-size row vector containing type T.
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.
Namespace for RWG-based BEM functionality.