PmePencilXYMap Class Reference

#include <PmeSolver.h>

List of all members.

Public Member Functions

 PmePencilXYMap (const std::vector< int > &pes)
int registerArray (CkArrayIndex &numElements, CkArrayID aid)
virtual int procNum (int, const CkArrayIndex &idx)
virtual void populateInitial (int, CkArrayOptions &, void *msg, CkArrMgr *mgr)


Detailed Description

Definition at line 70 of file PmeSolver.h.


Constructor & Destructor Documentation

PmePencilXYMap::PmePencilXYMap ( const std::vector< int > &  pes  )  [inline]

Definition at line 72 of file PmeSolver.h.

00072 : pes(pes) {}


Member Function Documentation

virtual void PmePencilXYMap::populateInitial ( int  ,
CkArrayOptions &  ,
void *  msg,
CkArrMgr *  mgr 
) [inline, virtual]

Definition at line 82 of file PmeSolver.h.

References NAMD_bug(), and procNum().

00082                                                                                 {
00083     for (int i=0;i < pes.size();i++) {
00084       if (pes[i] == CkMyPe()) {
00085         if ( msg == NULL ) NAMD_bug("PmePencilXYMap::populateInitial, multiple pencils on a pe?");
00086         CkArrayIndex3D ai(0,0,0);
00087         ai.data()[2] = i;
00088         if ( procNum(0,ai) != CkMyPe() ) NAMD_bug("PmePencilXYMap::populateInitial, map is inconsistent");
00089         mgr->insertInitial(ai, msg);
00090         msg = NULL;
00091       }
00092     }
00093     mgr->doneInserting();
00094     if (msg != NULL) CkFreeMsg(msg);
00095   }

virtual int PmePencilXYMap::procNum ( int  ,
const CkArrayIndex &  idx 
) [inline, virtual]

Definition at line 76 of file PmeSolver.h.

References NAMD_bug().

Referenced by populateInitial().

00076                                                     {
00077     int ind = idx.data()[2];
00078     if (ind < 0 || ind >= pes.size())
00079       NAMD_bug("PmePencilXYMap::procNum, index out of bounds");
00080     return pes[ind];
00081   }

int PmePencilXYMap::registerArray ( CkArrayIndex &  numElements,
CkArrayID  aid 
) [inline]

Definition at line 73 of file PmeSolver.h.

00073                                                               {
00074     return 0;
00075   }


The documentation for this class was generated from the following file:
Generated on Thu Nov 23 01:17:19 2017 for NAMD by  doxygen 1.4.7