WARPXM v1.10.0
Loading...
Searching...
No Matches
sine2d.h
Go to the documentation of this file.
1#ifndef wmapplication_function_arbitrary_sine2d_h
2#define wmapplication_function_arbitrary_sine2d_h
3
4// WARPXM includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace functions
12{
13namespace arbitrary
14{
15
16class Sine2D : public WmApplication
17{
23public:
29
34 ~Sine2D() override;
35
40 void setup(const WxCryptSet& wxc) override;
41
47 const std::vector<int>& getOutputVariableIndexes(int flag) const override
48 {
49 return _output_variables;
50 }
51
59 void evaluate_function(const real* q,
60 const real* aux,
61 const solverVariables_t* pSV,
62 real* result) const override;
63
64protected:
65 std::vector<int> _output_variables;
66
67 // Number of arguments that this class is designed to set
69
76
77 std::vector<real> _direction;
78 std::vector<real> _center;
79
81
82private:
83 Sine2D& operator=(const Sine2D& var);
84 Sine2D(const Sine2D& var);
85};
86} // namespace arbitrary
87} // namespace functions
88} // namespace apps
89} // namespace wxm
90
91#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
real _sine_x_amp
Definition: sine2d.h:70
int _num_args
Definition: sine2d.h:68
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
std::vector< int > _output_variables
Definition: sine2d.h:65
real _base
Definition: sine2d.h:80
Sine2D()
Sum of independent sine functions of x and y q = A * sin(x*c) + B * sin(y*d)
std::vector< real > _direction
Definition: sine2d.h:77
real _sine_y_amp
Definition: sine2d.h:73
real _sine_x_freq
Definition: sine2d.h:71
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: sine2d.h:47
real _sine_y_phase
Definition: sine2d.h:75
std::vector< real > _center
Definition: sine2d.h:78
real _sine_y_freq
Definition: sine2d.h:74
real _sine_x_phase
Definition: sine2d.h:72
void setup(const WxCryptSet &wxc) override
Setup.
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