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 1549 by gezelter, Wed Apr 27 18:38:15 2011 UTC vs.
Revision 1569 by gezelter, Thu May 26 13:55:04 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 85 | Line 86 | namespace OpenMD {
86    class ForceDecomposition {
87    public:
88  
89 <    ForceDecomposition(SimInfo* info) : info_(info) {}
89 >    ForceDecomposition(SimInfo* info);
90      virtual ~ForceDecomposition() {}
91      
92      virtual void distributeInitialData() = 0;
# 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;
# 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 +    int storageLayout_;
135 +    RealType skinThickness_;   /**< Verlet neighbor list skin thickness */    
136 +
137      map<pair<int, int>, int> topoDist; //< topoDist gives the
138                                         //topological distance between
139                                         //two atomic sites.  This
# Line 147 | Line 154 | namespace OpenMD {
154                                         //& column.  It will be up to
155                                         //the specific decomposition
156                                         //method to fill this.
157 +
158 +    vector<vector<int> > groupList_;
159 +    vector<Vector3i> cellOffsets_;
160 +    Vector3i nCells_;
161 +    vector<vector<int> > cellList_;
162 +    vector<Vector3d> saved_CG_positions_;
163 +
164    };    
165   }
166   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines