ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/parallel/ForceDecomposition.hpp
(Generate patch)

Comparing branches/development/src/parallel/ForceDecomposition.hpp (file contents):
Revision 1562 by gezelter, Thu May 12 17:00:14 2011 UTC vs.
Revision 1571 by gezelter, Fri May 27 16:45:44 2011 UTC

# Line 43 | Line 43
43   #define PARALLEL_FORCEDECOMPOSITION_HPP
44  
45   #include "brains/SimInfo.hpp"
46 + #include "brains/SnapshotManager.hpp"
47   #include "nonbonded/NonBondedInteraction.hpp"
48  
49   using namespace std;
# Line 95 | Line 96 | namespace OpenMD {
96      virtual void collectData() = 0;
97  
98      // neighbor list routines
99 <    virtual bool checkNeighborList() = 0;
99 >    virtual bool checkNeighborList();
100      virtual vector<pair<int, int> >  buildNeighborList() = 0;
101  
102      // group bookkeeping
103      virtual pair<int, int> getGroupTypes(int cg1, int cg2) = 0;
104  
105      // Group->atom bookkeeping
106 <    virtual vector<int> getAtomsInGroupRow(int cg1) = 0;
106 >    virtual vector<int> getAtomsInGroupRow(int cg1) = 0;
107      virtual vector<int> getAtomsInGroupColumn(int cg2) = 0;
108 +
109      virtual Vector3d getAtomToGroupVectorRow(int atom1, int cg1) = 0;
110      virtual Vector3d getAtomToGroupVectorColumn(int atom2, int cg2) = 0;
111 <    virtual RealType getMfactRow(int atom1) = 0;
112 <    virtual RealType getMfactColumn(int atom2) = 0;
111 >    virtual RealType getMassFactorRow(int atom1) = 0;
112 >    virtual RealType getMassFactorColumn(int atom2) = 0;
113  
114      // spatial data
115      virtual Vector3d getIntergroupVector(int cg1, int cg2) = 0;
116      virtual Vector3d getInteratomicVector(int atom1, int atom2) = 0;
117        
118      // atom bookkeeping
119 <    virtual vector<int> getAtomList() = 0;
120 <    virtual vector<int> getSkipsForAtom(int atom1) = 0;
119 >    virtual int getNAtomsInRow() = 0;
120 >    virtual vector<int> getSkipsForRowAtom(int atom1) = 0;
121      virtual bool skipAtomPair(int atom1, int atom2) = 0;
122      virtual void addForceToAtomRow(int atom1, Vector3d fg) = 0;
123      virtual void addForceToAtomColumn(int atom2, Vector3d fg) = 0;
# Line 123 | Line 125 | namespace OpenMD {
125      // filling interaction blocks with pointers
126      virtual InteractionData fillInteractionData(int atom1, int atom2) = 0;
127      virtual InteractionData fillSkipData(int atom1, int atom2) = 0;
128 <    virtual SelfData fillSelfData(int atom1) = 0;
128 >    virtual SelfData fillSelfData(int atom1);
129      
130    protected:
131      SimInfo* info_;  
132 +    SnapshotManager* sman_;    
133 +    Snapshot* snap_;
134 +    ForceField* ff_;
135 +    int storageLayout_;
136 +    RealType skinThickness_;   /**< Verlet neighbor list skin thickness */    
137 +
138      map<pair<int, int>, int> topoDist; //< topoDist gives the
139                                         //topological distance between
140                                         //two atomic sites.  This
# Line 147 | Line 155 | namespace OpenMD {
155                                         //& column.  It will be up to
156                                         //the specific decomposition
157                                         //method to fill this.
158 +
159 +    vector<vector<int> > groupList_;
160      vector<Vector3i> cellOffsets_;
161 <    int nOffset_;
161 >    Vector3i nCells_;
162 >    vector<vector<int> > cellList_;
163 >    vector<Vector3d> saved_CG_positions_;
164 >
165    };    
166   }
167   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines