WARPXM v1.10.0
Loading...
Searching...
No Matches
dyadic_monomial_moments.h
Go to the documentation of this file.
1#ifndef wxm_apps_vlasovmaxwell_dyadicmonomialmoments_h
2#define wxm_apps_vlasovmaxwell_dyadicmonomialmoments_h
3
5
6namespace wxm
7{
8namespace apps
9{
10namespace vlasovmaxwell
11{
12
14{
15public:
21
27
32 void setup(const WxCryptSet& wxc) override;
33
39 const std::vector<int>& getInputVariableIndexes(int flag) const override
40 {
41 return _input_variables;
42 }
43
49 const std::vector<int>& getOutputVariableIndexes(int flag) const override
50 {
51 return _output_variables;
52 }
53
61 void evaluate_function(const real* q,
62 const real* aux,
63 const solverVariables_t* pSV,
64 real* result) const override;
65
66 static int number_of_monomials(const int v_ndims, int max_degree);
67
68 // Expose these functions and make them static so they can be tested.
69 static void
70 one_variable_dyadic_monomials(const int max_degree, const real x, real* result);
71
72 static void two_variable_dyadic_monomials(const int max_degree,
73 const real x,
74 const real y,
75 real* result);
76
77 static void three_variable_dyadic_monomials(const int max_degree,
78 const real x,
79 const real y,
80 const real z,
81 real* result);
82
83protected:
86
87 std::vector<int> _input_variables;
88 std::vector<int> _output_variables;
89
90private:
91 DyadicMonomialMoments& operator=(const DyadicMonomialMoments& var);
93};
94
95} // namespace vlasovmaxwell
96} // namespace apps
97} // namespace wxm
98
99#endif // wxm_apps_vlasovmaxwell_dyadicmonomialmoments_h
Base Class for physics applications.
Definition: wmapplication.h:93
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
Definition: dyadic_monomial_moments.h:14
static void one_variable_dyadic_monomials(const int max_degree, const real x, real *result)
const std::vector< int > & getInputVariableIndexes(int flag) const override
Grab input variable indices.
Definition: dyadic_monomial_moments.h:39
static void two_variable_dyadic_monomials(const int max_degree, const real x, const real y, real *result)
int _max_degree
Definition: dyadic_monomial_moments.h:85
static int number_of_monomials(const int v_ndims, int max_degree)
void setup(const WxCryptSet &wxc) override
Setup.
std::vector< int > _input_variables
Definition: dyadic_monomial_moments.h:87
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: dyadic_monomial_moments.h:49
std::vector< int > _output_variables
Definition: dyadic_monomial_moments.h:88
int _v_ndims
Definition: dyadic_monomial_moments.h:84
static void three_variable_dyadic_monomials(const int max_degree, const real x, const real y, const real z, real *result)
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
list apps
Definition: shock_tube.py:33
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
Definition: wmapplication.h:38
#define real
Definition: wmoclunstructuredreconstruction.h:11