OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
projector_matrix.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_PROJ_ASSEMBLER_H
19#define BEM_RWG_PROJ_ASSEMBLER_H
20
21#include <vector>
22
23#include "types.hpp"
25
26
27namespace bem
28{
29// Forward declarations
30template <typename T> class MatrixBase;
31template <uint8_t dim> class PointCloud;
32}
33
34
35namespace bem::rwg
36{
37
38// Forward declarations
39template <uint8_t src_num_dof> class ProjectorBase;
40
50template <uint8_t obs_dim = 3>
52{
53
55 using base::base;
56
57public:
58
66 void assemble(
69 const Complex k
70 ) override;
71
72};
73
74
79template <uint8_t obs_dim = 3>
81{
82
84 using base::base;
85
86public:
87
95 void assemble(
98 const Complex k
99 ) override;
100
101};
102
107}
108
109#ifndef BEM_LINKED
111#endif
112
113#endif
Class for generating projector matrices for edge-based RWG source functions.
void assemble(MatrixBase< Complex > &mat, ProjectorBase< 3 > &op, const Complex k) override
Assembles the projector matrix for edge-based RWG source functions.
Class for generating projector matrices for face-based pulse source functions.
void assemble(MatrixBase< Complex > &mat, ProjectorBase< 1 > &op, const Complex k) override
Assembles the projector matrix for face-based pulse source functions.
Base class for generating RWG-based BEM projector matrices.
Definition base.hpp:290
std::complex< Float > Complex
Complex floating point number.
Definition types.hpp:51
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.
Primary namespace for the OpenBEM library.
Definition constants.hpp:31