NAMD
ComputePatchPair.h
Go to the documentation of this file.
1 
7 /*
8  Primary class for pairwise force calculations over pairs of patches.
9  Takes care of boxes, depositing of forces etc.
10 */
11 
12 #ifndef COMPUTEPPAIR_H
13 #define COMPUTEPPAIR_H
14 
15 #include "Compute.h"
16 #include "PatchTypes.h"
17 
18 #include "Box.h"
19 #include "OwnerBox.h"
20 
21 class Patch;
22 class Node;
23 class PatchMap;
24 
25 class ComputePatchPair : public Compute {
26 
27 public:
28  ComputePatchPair(ComputeID c, PatchID pid[], int t[]);
29  virtual ~ComputePatchPair();
30 
31  virtual void initialize();
32  virtual void atomUpdate();
33  virtual void doWork();
34 
35 protected :
36  int numAtoms[2];
38  CompAtom* p[2];
39  Results* r[2];
40 
41  // DMK - Atom Separation (water vs. non-water)
42  #if NAMD_SeparateWaters != 0
43  int numWaterAtoms[2];
44  #endif
45 
46  virtual void doForce(CompAtom* p[2], CompAtomExt* pExt[2], Results* r[2]);
47  Patch *patch[2];
48 
49 // private: // hack for ComputeNonbondedPair::noWork()
51  int trans[2];
54 };
55 
56 #endif
57 
Definition: Node.h:78
int ComputeID
Definition: NamdTypes.h:183
CompAtom * p[2]
Box< Patch, CompAtom > * positionBox[2]
CompAtomExt * pExt[2]
Definition: Patch.h:35
Box< Patch, Results > * forceBox[2]
virtual void doWork()
virtual void initialize()
virtual ~ComputePatchPair()
virtual void atomUpdate()
int PatchID
Definition: NamdTypes.h:182
virtual void doForce(CompAtom *p[2], CompAtomExt *pExt[2], Results *r[2])
ComputePatchPair(ComputeID c, PatchID pid[], int t[])