Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | 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 "Compute.h"
00011 #include "PmeBase.h"
00012 #include "NamdTypes.h"
00013 #include "PatchTypes.h"
00014 #include "Box.h"
00015 #include "OwnerBox.h"
00016 
00017 class PmeRealSpace;
00018 class ComputeMgr;
00019 class SubmitReduction;
00020 class PmeGridMsg;
00021 class ComputePmeMgr;
00022 class Patch;
00023 
00024 class ComputePme : public Compute {
00025 public:
00026   ComputePme(ComputeID c, PatchID pid);
00027   virtual ~ComputePme();
00028   void initialize();
00029   int noWork();
00030   void doWork();
00031   void ungridForces();
00032   void setMgr(ComputePmeMgr *mgr) { myMgr = mgr; }
00033 
00034  private:
00035   PatchID patchID;
00036   Patch *patch;
00037   Box<Patch,CompAtom> *positionBox;
00038   Box<Patch,CompAtom> *avgPositionBox;
00039   Box<Patch,Results> *forceBox;
00040 
00041   PmeGrid myGrid;
00042   int alchFepOn, alchThermIntOn, lesOn, lesFactor, pairOn, selfOn, numGrids;
00043   int alchDecouple;
00044   BigReal alchElecLambdaStart;
00045   BigReal elecLambdaUp;
00046   BigReal elecLambdaDown;
00047   
00048   PmeRealSpace *myRealSpace[PME_MAX_EVALS];
00049   int numLocalAtoms;
00050   PmeParticle *localData;
00051   ResizeArray<PmeParticle> localData_alloc;
00052   unsigned char *localPartition;
00053   ResizeArray<unsigned char> localPartition_alloc;
00054   ResizeArray<Vector> localResults_alloc;
00055   int numGridAtoms[PME_MAX_EVALS];
00056   PmeParticle *localGridData[PME_MAX_EVALS];
00057   ComputePmeMgr *myMgr;
00058 
00059 };
00060 
00061 #endif
00062 

Generated on Sat May 18 04:07:16 2013 for NAMD by  doxygen 1.3.9.1