WARPXM v1.10.0
Loading...
Searching...
No Matches
unique_variable_solver.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <memory>
6
7namespace wxm
8{
9namespace dfem
10{
11namespace solver
12{
13namespace dg
14{
21{
22public:
25
30 void setup(const WxCryptSet& wxc) override;
31
35 const std::shared_ptr<TimestepConstraint>
36 solve(const real time, const variables_type& input, variables_type& output) override;
37
41 const WxRange& element_interior_range() const override
42 {
43 return *_dummy_range;
44 }
45
49 const WxRange& element_periphery_range() const override
50 {
51 return *_dummy_range;
52 }
53
58 const WxRange& element_full_range() const override
59 {
60 return *_dummy_range;
61 }
62
63 void zero_fluxes() override;
64
65 size_t get_num_dof() const override
66 {
67 return 1;
68 }
69
70protected:
71 std::unique_ptr<WxRange> _dummy_range;
72
73private:
75 UniqueVariableSolver& operator=(const UniqueVariableSolver& var) = delete;
76
78 UniqueVariableSolver(const UniqueVariableSolver& var) = delete;
79};
80} // namespace dg
81} // namespace solver
82} // namespace dfem
83} // namespace wxm
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
WxRange represents a hyper-rectangular domain of an n-dimensional space of integers.
Definition: wxrange.h:23
The UniqueVariableSolver class is used for solving the RHS for a unique variable for some time integr...
Definition: unique_variable_solver.h:21
const std::shared_ptr< TimestepConstraint > solve(const real time, const variables_type &input, variables_type &output) override
Computes the RHS.
std::unique_ptr< WxRange > _dummy_range
Definition: unique_variable_solver.h:71
void setup(const WxCryptSet &wxc) override
setup sets up the DG solver
const WxRange & element_full_range() const override
Get a range of elements associated with the entire patch (periphery+interior)
Definition: unique_variable_solver.h:58
size_t get_num_dof() const override
Gets the number of degrees of freedom per element per component.
Definition: unique_variable_solver.h:65
const WxRange & element_interior_range() const override
Get a range of elements associated with the interior.
Definition: unique_variable_solver.h:41
const WxRange & element_periphery_range() const override
Get a range of elements associated with the interior.
Definition: unique_variable_solver.h:49
The WmSpatialSolver class is a base class for spatial sovers.
Definition: spatial_solver.h:32
wxm::temporal_solver::variables_type variables_type
Definition: spatial_solver.h:46
warpy dg
Definition: diffusion.py:157
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11