WARPXM v1.10.0
Loading...
Searching...
No Matches
fourier.h
Go to the documentation of this file.
1#ifndef wmapplication_function_arbitrary_fourier_h
2#define wmapplication_function_arbitrary_fourier_h
3
4// WARPXM includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace functions
12{
13namespace arbitrary
14{
15
16class Fourier : public WmApplication
17{
18public:
24
29 ~Fourier() override;
30
35 void setup(const WxCryptSet& wxc) override;
36
42 const std::vector<int>& getOutputVariableIndexes(int flag) const override
43 {
44 return _output_variables;
45 }
46
54 void evaluate_function(const real* q,
55 const real* aux,
56 const solverVariables_t* pSV,
57 real* result) const override;
58
59protected:
60 std::vector<int> _output_variables;
61
62 // Number of arguments that this class is designed to set
64
65 std::vector<real> _sine_amp;
66 std::vector<real> _sine_freq;
67 std::vector<real> _sine_phase;
68 std::vector<real> _cosine_amp;
69 std::vector<real> _cosine_freq;
70 std::vector<real> _cosine_phase;
71
72 std::vector<real> _direction;
73 std::vector<real> _center;
74
76
77private:
78 Fourier& operator=(const Fourier& var);
79 Fourier(const Fourier& var);
80};
81} // namespace arbitrary
82} // namespace functions
83} // namespace apps
84} // namespace wxm
85
86#endif
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
std::vector< real > _cosine_amp
Definition: fourier.h:68
int _num_args
Definition: fourier.h:63
std::vector< real > _sine_freq
Definition: fourier.h:66
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
std::vector< real > _cosine_freq
Definition: fourier.h:69
std::vector< int > _output_variables
Definition: fourier.h:60
std::vector< real > _sine_phase
Definition: fourier.h:67
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: fourier.h:42
void setup(const WxCryptSet &wxc) override
Setup.
std::vector< real > _sine_amp
Definition: fourier.h:65
std::vector< real > _center
Definition: fourier.h:73
real _base
Definition: fourier.h:75
std::vector< real > _cosine_phase
Definition: fourier.h:70
std::vector< real > _direction
Definition: fourier.h:72
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