WARPXM v1.10.0
Loading...
Searching...
No Matches
wmicgenerator.h
Go to the documentation of this file.
1#ifndef WmICGenerator_h
2#define WmICGenerator_h
3
4// WARPM lib includes
5//#include <wmdomaingeometry.h>
6
7// WARPM HostAction includes
10
11// std includes
12#include <vector>
13
18class WmICFunction;
19class WmICGenerator;
20
45{
46public:
52 class WmICApplicator;
53
55 {
56 public:
62 enum
63 {
67 };
68
76
83
91 void setup(const WxCryptSet& wxc);
92
100 void apply(const WmUnstructuredPatch& patch);
101
109 {
110 return _args;
111 }
112
113 protected:
117
118 std::string _basisSetName;
119
122 };
123
124 typedef std::vector<WmICFunction*> icFunctionList_t;
125 typedef std::vector<WmICApplicator*> icApplicatorList_t;
126
133 WmICGenerator(const WmConstOpaquePtr& parent_solver);
134
141
149 void setup(const WxCryptSet& wxc);
150
156 virtual void typeCheck();
157
165
171 bool needsDomain() const
172 {
173 return false;
174 }
175
176private:
177 WmICFunction* hasFunction(const std::string& name);
178
179 const WmDomain& _domain;
180
181 icApplicatorList_t _icApplicators;
182 icFunctionList_t _icFunctions;
183};
184
187#endif // WmICGenerator_h
Opaque Pointer object that carries the referenced data type, but does not expose this payload type as...
Definition: wmopaqueptr.h:81
Definition: wmdomain.h:35
The WmHostAction class is a base class for sub-solvers in the WARPXM system.
Definition: wmhostaction.h:35
Base class for functions used in generating initial conditions.
Definition: wmicfunction.h:25
Definition: wmicgenerator.h:55
void apply(const WmUnstructuredPatch &patch)
Applies the initial condition to the variable for a given patch TODO: needs to work with any patch (s...
@ WMICGENERATORSCHEME_FV
Definition: wmicgenerator.h:66
@ WMICGENERATORSCHEME_MODAL
Definition: wmicgenerator.h:64
@ WMICGENERATORSCHEME_NODAL
Definition: wmicgenerator.h:65
~WmICApplicator()
Destroy WmICApplicator.
int _spatialScheme
Definition: wmicgenerator.h:115
int _spatialOrder
Definition: wmicgenerator.h:116
std::string _basisSetName
Definition: wmicgenerator.h:118
WmICApplicator(WmICGenerator *parent)
Create new WmICApplicator.
WmICGenerator * _parent
Definition: wmicgenerator.h:114
void setup(const WxCryptSet &wxc)
Setup the WmICApplicator from a cryptset and an application index.
WmICFunction * _f
Definition: wmicgenerator.h:121
const WmVariableParser::componentList_t & getComponents() const
Grabs the components used by this applicator.
Definition: wmicgenerator.h:108
WmVariableParser::componentList_t _args
Definition: wmicgenerator.h:120
The WmICGenerator class generates initial conditions.
Definition: wmicgenerator.h:45
WmICGenerator(const WmConstOpaquePtr &parent_solver)
Create new WmICGenerator host action.
WxStepperStatus step()
Step the solver by assigned time step.
std::vector< WmICApplicator * > icApplicatorList_t
Definition: wmicgenerator.h:125
void setup(const WxCryptSet &wxc)
Setup HostAction object using supplied cryptset.
virtual void typeCheck()
check that variable types are appropriate for this HostAction.
std::vector< WmICFunction * > icFunctionList_t
Definition: wmicgenerator.h:124
~WmICGenerator()
Destroy WmICGenerator host action.
bool needsDomain() const
Return false because icGenerator is not yet setup for structured grids.
Definition: wmicgenerator.h:171
Definition: wmunstructuredpatch.h:22
std::vector< component_t > componentList_t
Definition: wmvariableparser.h:94
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
virtual std::string name() const
Get name of object.
Represents important parameters for the efficacy of a completing simulation step.
Definition: wxstepperstatus.h:19