#include <PmeSolver.h>
 | 
|   | PmePencilXMap (int ia, int ib, int width, 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) | 
|   | 
Definition at line 35 of file PmeSolver.h.
 
◆ PmePencilXMap()
  
  
      
        
          | PmePencilXMap::PmePencilXMap  | 
          ( | 
          int  | 
          ia,  | 
         
        
           | 
           | 
          int  | 
          ib,  | 
         
        
           | 
           | 
          int  | 
          width,  | 
         
        
           | 
           | 
          const std::vector< int > &  | 
          pes  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Definition at line 37 of file PmeSolver.h.
   37 : ia(ia), ib(ib), width(width), pes(pes) {}
  
 
 
◆ populateInitial()
  
  
      
        
          | virtual void PmePencilXMap::populateInitial  | 
          ( | 
          int  | 
          ,  | 
         
        
           | 
           | 
          CkArrayOptions &  | 
          ,  | 
         
        
           | 
           | 
          void *  | 
          msg,  | 
         
        
           | 
           | 
          CkArrMgr *  | 
          mgr  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinevirtual   | 
  
 
Definition at line 47 of file PmeSolver.h.
References NAMD_bug(), and procNum().
   48     for (
int i=0;i < pes.size();i++) {
    49       if (pes[i] == CkMyPe()) {
    50         if ( msg == NULL ) 
NAMD_bug(
"PmePencilXMap::populateInitial, multiple pencils on a pe?");
    51         CkArrayIndex3D ai(0,0,0);
    52         ai.data()[ib] = i / width;
    53         ai.data()[ia] = i % width;
    55         if ( 
procNum(0,ai) != CkMyPe() ) 
NAMD_bug(
"PmePencilXMap::populateInitial, map is inconsistent");
    56         mgr->insertInitial(ai,msg);
    61     if (msg != NULL) CkFreeMsg(msg);
 virtual int procNum(int, const CkArrayIndex &idx)
 
void NAMD_bug(const char *err_msg)
 
 
 
 
◆ procNum()
  
  
      
        
          | virtual int PmePencilXMap::procNum  | 
          ( | 
          int  | 
          ,  | 
         
        
           | 
           | 
          const CkArrayIndex &  | 
          idx  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinevirtual   | 
  
 
Definition at line 41 of file PmeSolver.h.
References NAMD_bug().
Referenced by populateInitial().
   42     int ind = idx.data()[ia] + idx.data()[ib] * width;
    43     if (ind < 0 || ind >= pes.size())
    44       NAMD_bug(
"PmePencilXMap::procNum, index out of bounds");
 void NAMD_bug(const char *err_msg)
 
 
 
 
◆ registerArray()
  
  
      
        
          | int PmePencilXMap::registerArray  | 
          ( | 
          CkArrayIndex &  | 
          numElements,  | 
         
        
           | 
           | 
          CkArrayID  | 
          aid  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
The documentation for this class was generated from the following file: