OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
continuity.hpp
Go to the documentation of this file.
1// OpenBEM - Copyright (C) 2026 Shashwat Sharma
2
3// This file is part of OpenBEM.
4
5// OpenBEM is free software: you can redistribute it and/or modify it under the terms of the
6// GNU General Public License as published by the Free Software Foundation, either version 3
7// of the License, or (at your option) any later version.
8
9// You should have received a copy of the GNU General Public License along with OpenBEM.
10// If not, see <https://www.gnu.org/licenses/>.
11
12
18#ifndef BEM_RWG_INTEQ_CONT_H
19#define BEM_RWG_INTEQ_CONT_H
20
21#include "types.hpp"
22#include "constants.hpp"
23#include "materials.hpp"
24
25#include "matrix/base.hpp"
27
31
32
33namespace bem::rwg
34{
35
45template <typename MatrixType = EigenDenseMatrix<Complex>>
46class Continuity: public IntegralEquationBase<MatrixType>
47{
48
50 using base::base;
51
52public:
53
60 MatrixType j_matrix(
61 const Float f,
62 const Material& material
63 )
64 {
66 MatrixType D;
67 assm_div_.assemble(D, op_D, 0);
68 return D;
69 }
70
71
78 MatrixType rho_matrix(
79 const Float f,
80 const Material& material
81 )
82 {
83 MatrixType I (base::obs_mesh_.num_elems(), base::src_mesh_.num_elems());
84 I.set_identity();
85 I.scale(J * two_pi * f);
86 return I;
87 }
88
89
90protected:
91
93 base::obs_mesh_, base::src_mesh_, base::elem_pairs_
94 );
95
96};
97
102}
103
104#endif
Class defining a general material with a constant (zero or non-zero) electrical conductivity and real...
Definition materials.hpp:43
Class defining the RWG-based surface continuity equation.
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.
Class for computing the discrete divergence matrix for RWG functions.
Definition incidence.hpp:48
Class for generating operator matrices for pulse observation and RWG source functions.
Base class defining an RWG-based integral equation.
Definition base.hpp:44
void assemble(MatrixBase< Complex > &mat, OperatorType op, const Complex k)
Assembles the operator matrix for a given operator object and source and observation meshes.
Definition base.hpp:115
const Complex J
Imaginary unit.
Definition constants.hpp:40
double Float
Floating point number.
Definition types.hpp:47
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Definition types.hpp:86
Namespace for RWG-based BEM functionality.