msgQ test: Adjust test parameters (num priorities, numiters)
[charm.git] / tests / charm++ / pmetest / patch.h
1
2 #ifndef  __PATCH_H__
3 #define  __PATCH_H__
4
5 #include "charm++.h"
6 #include "pencilfft/pencil_api.h"
7
8 #define __TEST_PME_VERBOSE__   0
9
10 struct PatchInfo {
11   int  my_x, my_y, my_z;
12   int  nx, ny, nz;
13   
14   LineFFTInfo   fftinfo;
15
16   CkCallback    cb_start;
17   CkCallback    cb_done;
18   
19   int           niterations;
20 };
21
22 PUPbytes(PatchInfo)
23
24 #include "testpme.decl.h"
25
26 class Patch : public CBase_Patch {
27   PatchInfo      _info;       //The info for this patch element
28   LineFFTGrid  * _gridList;   //List of grid messages to send
29   
30   int            _nGridMsgs;     //number of grid messges to send
31   int            _nReceived;     //number of grid messages received
32   int            _iteration;     //number of iterations finshed
33   
34  public:
35   
36   Patch ()  {
37     memset (&_info, 0, sizeof (_info));
38     _nReceived = _nGridMsgs = 0;
39     _iteration = 0;
40     _gridList = NULL;
41   }
42   
43   Patch (CkMigrateMessage *m) {}
44   
45   void startTimeStep ();
46   void initialize (PatchInfo &info);
47   void receiveGrid (LineFFTGridMsg *msg);
48 };
49
50
51 #define INTERPOLATION_SIZE  4   //atoms interpolate to a 4x4x4 grid
52
53 #endif