Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ComputePme.h

Go to the documentation of this file.
00001 
00007 #ifndef COMPUTEPME_H
00008 #define COMPUTEPME_H
00009 
00010 #include "ComputeHomePatches.h"
00011 #include "PmeBase.h"
00012 #include "NamdTypes.h"
00013 
00014 class PmeRealSpace;
00015 class ComputeMgr;
00016 class SubmitReduction;
00017 class PmeGridMsg;
00018 class ComputePmeMgr;
00019 
00020 class ComputePme : public ComputeHomePatches {
00021 public:
00022   ComputePme(ComputeID c);
00023   virtual ~ComputePme();
00024   void doWork();
00025   void sendData(int, int*, int*, int*);
00026   void sendPencils();
00027   void copyResults(PmeGridMsg *);
00028   void copyPencils(PmeGridMsg *);
00029   void ungridForces();
00030   void setMgr(ComputePmeMgr *mgr) { myMgr = mgr; }
00031 #if CMK_PERSISTENT_COMM
00032   void setup_recvgrid_persistent();
00033 #endif
00034  private:
00035   PmeGrid myGrid;
00036   int qsize, fsize, bsize;
00037   int alchFepOn, alchThermIntOn, lesOn, lesFactor, pairOn, selfOn, numGrids;
00038   int alchDecouple;
00039   BigReal alchElecLambdaStart;
00040   BigReal elecLambdaUp;
00041   BigReal elecLambdaDown;
00042   
00043   double **q_arr;
00044   double **q_list;
00045   int q_count;
00046   char *f_arr;
00047   char *fz_arr;
00048   PmeReduction evir[PME_MAX_EVALS];
00049   SubmitReduction *reduction;
00050   SubmitReduction *amd_reduction;
00051   int strayChargeErrors;
00052   int resultsRemaining;
00053   PmeRealSpace *myRealSpace[PME_MAX_EVALS];
00054   int numLocalAtoms;
00055   PmeParticle *localData;
00056   unsigned char *localPartition;
00057   int numGridAtoms[PME_MAX_EVALS];
00058   PmeParticle *localGridData[PME_MAX_EVALS];
00059   ComputePmeMgr *myMgr;
00060 
00061 #if CMK_PERSISTENT_COMM
00062   PersistentHandle   *recvGrid_handle;
00063 #endif
00064 
00065 };
00066 
00067 #endif
00068 

Generated on Fri May 25 04:07:14 2012 for NAMD by  doxygen 1.3.9.1