WARPXM v1.10.0
Loading...
Searching...
No Matches
kinetic_boundary_condition.h
Go to the documentation of this file.
1#ifndef wxm_dfem_variable_adjusters_boundary_condition_kinetic_boundary_condition_h
2#define wxm_dfem_variable_adjusters_boundary_condition_kinetic_boundary_condition_h
3
4// WARPXM includes
8
9// STL includes
10#include <memory>
11
12namespace wxm
13{
14namespace dfem
15{
16namespace variable_adjuster
17{
18namespace boundary_condition
19{
20
33{
34public:
40
46 virtual void setup(const WxCryptSet& wxc) override;
47
54 void solve(real time, variables_type& input) override;
55
56protected:
57 // boundary names for this bc
58 std::vector<std::string> _boundaryNames;
59
60 /* indexes used in apps definitions */
61 std::vector<size_t> _out_indexes;
62
63 // is it a virtual bc, false by default
64 bool _is_virtual_bc = false;
65
66 // Phase space geometry
67 std::shared_ptr<geometry::phase_space::PhaseSpaceDGGeometry> _phase_space_dg_geometry;
68
69 std::unique_ptr<geometry::phase_space_element::PhaseSpaceElement>
71
72 // velocity space range
73 std::unique_ptr<WxRange> _velocity_space_element_range;
74
75private:
77 KineticBoundaryCondition& operator=(const KineticBoundaryCondition& var) = delete;
78
81};
82} // namespace boundary_condition
83} // namespace variable_adjuster
84} // namespace dfem
85} // namespace wxm
86
87#endif
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
The Kinetic Boundary Condition class applies phase space boundary conditions The logic of this module...
Definition: kinetic_boundary_condition.h:33
std::vector< std::string > _boundaryNames
Definition: kinetic_boundary_condition.h:58
std::vector< size_t > _out_indexes
Definition: kinetic_boundary_condition.h:61
std::unique_ptr< geometry::phase_space_element::PhaseSpaceElement > _phase_space_element
Definition: kinetic_boundary_condition.h:70
std::unique_ptr< WxRange > _velocity_space_element_range
Definition: kinetic_boundary_condition.h:73
void solve(real time, variables_type &input) override
Solve the kinetic boundary condition.
std::shared_ptr< geometry::phase_space::PhaseSpaceDGGeometry > _phase_space_dg_geometry
Definition: kinetic_boundary_condition.h:67
bool _is_virtual_bc
Definition: kinetic_boundary_condition.h:64
virtual void setup(const WxCryptSet &wxc) override
Setup the boundary condition using the cryptset.
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