WARPXM v1.10.0
Loading...
Searching...
No Matches
wmsynchronizer.h
Go to the documentation of this file.
1#ifndef WMSYNCHRONIZER_H
2#define WMSYNCHRONIZER_H
3
4// Wm includes
6#include <sync/synchronizer.h>
7
8// STL includes
9#include <vector>
10
20{
21public:
27 WmSynchronizer(const WmConstOpaquePtr& parent_solver)
28 : WmHostAction(parent_solver), _dfem_synchronizer(NULL), _cfem_synchronizer(NULL)
29 {
30 }
31
33 {
34 SAFE_DELETE(_dfem_synchronizer);
35 SAFE_DELETE(_cfem_synchronizer);
36 SAFE_DELETE(_unique_variable_synchronizer);
37 }
38
44 void setup(const WxCryptSet& wxc);
45
50 virtual void typeCheck();
51
58
64 bool needsDomain() const
65 {
66 return false;
67 }
68
69private:
70 wxm::sync::rank_synchronizer_t* _dfem_synchronizer;
71 wxm::sync::rank_synchronizer_t* _cfem_synchronizer;
72 wxm::sync::rank_synchronizer_t* _unique_variable_synchronizer;
73};
74
77#endif // WMSYNCHRONIZER_H
Opaque Pointer object that carries the referenced data type, but does not expose this payload type as...
Definition: wmopaqueptr.h:81
The WmHostAction class is a base class for sub-solvers in the WARPXM system.
Definition: wmhostaction.h:35
The WmSynchronizer class syncs distributed variables overlapping cell boundaries (ghost cells)
Definition: wmsynchronizer.h:20
WmSynchronizer(const WmConstOpaquePtr &parent_solver)
Create new WmSynchronizer host action.
Definition: wmsynchronizer.h:27
void setup(const WxCryptSet &wxc)
Setup HostAction object using supplied cryptset.
WxStepperStatus step()
Step the solver by assigned time step.
virtual void typeCheck()
check that variable types are appropriate for this HostAction.
~WmSynchronizer()
Definition: wmsynchronizer.h:32
bool needsDomain() const
Return false because swap operation does not depend on domain specifics.
Definition: wmsynchronizer.h:64
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
Represents important parameters for the efficacy of a completing simulation step.
Definition: wxstepperstatus.h:19
Definition: synchronizer.h:68
#define SAFE_DELETE(ptr)
Definition: wmudgfunctions.h:18