WARPXM v1.10.0
Loading...
Searching...
No Matches
boundary_condition.h
Go to the documentation of this file.
1#ifndef WMBOUNDARYCONDITION_H
2#define WMBOUNDARYCONDITION_H
3
4// Wm includes
5#include "dfem/tools/tools.h"
7
8#include <memory>
9
10namespace wxm
11{
12namespace dfem
13{
14namespace variable_adjuster
15{
17{
18
30{
31public:
32 boundary_condition() = default;
33
38 virtual void setup(const WxCryptSet& wxc) override;
39
43 void solve(real time, variables_type& input) override;
44
45protected:
46 std::vector<std::string> _boundaryNames;
47
48 // Spatial basis set
50
51 // WmUDGGeometry
52 std::unique_ptr<WmUDGGeometry> _dg_geometry;
53
54 // Spatial basis set name
55 std::string _basisSetName;
56
57 /* indexes used in apps definitions */
58 std::vector<size_t> _out_indexes;
59
60 bool is_virtual_bc = false;
61
62 // the actual kernel
63 void bc_kernel(real time, std::vector<wxm::array::patch_array_t*>& input);
64
65private:
67 boundary_condition& operator=(const boundary_condition& var) = delete;
68
70 boundary_condition(const boundary_condition& var) = delete;
71};
72
74} // namespace boundary_condition
75} // namespace variable_adjuster
76} // namespace dfem
77} // namespace wxm
78
79#endif // WMBOUNDARYCONDITION_H
Definition: wmbasisarrayset.h:13
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
The boundary_condition class applies boundary conditions to a dataset.
Definition: boundary_condition.h:30
std::vector< size_t > _out_indexes
Definition: boundary_condition.h:58
virtual void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
WmBasisArraySet _basis_set
Definition: boundary_condition.h:49
void solve(real time, variables_type &input) override
Solves the spatial system and puts result in _rhs.
std::vector< std::string > _boundaryNames
Definition: boundary_condition.h:46
std::unique_ptr< WmUDGGeometry > _dg_geometry
Definition: boundary_condition.h:52
void bc_kernel(real time, std::vector< wxm::array::patch_array_t * > &input)
std::string _basisSetName
Definition: boundary_condition.h:55
The WmVariableAdjuster class is a base class for variable adjusters.
Definition: variable_adjuster.h:31
wxm::temporal_solver::variables_type variables_type
Definition: variable_adjuster.h:41
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11