--- branches/development/src/parallel/ForceDecomposition.hpp 2011/05/12 17:00:14 1562 +++ branches/development/src/parallel/ForceDecomposition.hpp 2011/05/26 13:55:04 1569 @@ -43,6 +43,7 @@ #define PARALLEL_FORCEDECOMPOSITION_HPP #include "brains/SimInfo.hpp" +#include "brains/SnapshotManager.hpp" #include "nonbonded/NonBondedInteraction.hpp" using namespace std; @@ -95,19 +96,20 @@ namespace OpenMD { virtual void collectData() = 0; // neighbor list routines - virtual bool checkNeighborList() = 0; + virtual bool checkNeighborList(); virtual vector > buildNeighborList() = 0; // group bookkeeping virtual pair getGroupTypes(int cg1, int cg2) = 0; // Group->atom bookkeeping - virtual vector getAtomsInGroupRow(int cg1) = 0; + virtual vector getAtomsInGroupRow(int cg1) = 0; virtual vector getAtomsInGroupColumn(int cg2) = 0; + virtual Vector3d getAtomToGroupVectorRow(int atom1, int cg1) = 0; virtual Vector3d getAtomToGroupVectorColumn(int atom2, int cg2) = 0; - virtual RealType getMfactRow(int atom1) = 0; - virtual RealType getMfactColumn(int atom2) = 0; + virtual RealType getMassFactorRow(int atom1) = 0; + virtual RealType getMassFactorColumn(int atom2) = 0; // spatial data virtual Vector3d getIntergroupVector(int cg1, int cg2) = 0; @@ -123,10 +125,15 @@ namespace OpenMD { // filling interaction blocks with pointers virtual InteractionData fillInteractionData(int atom1, int atom2) = 0; virtual InteractionData fillSkipData(int atom1, int atom2) = 0; - virtual SelfData fillSelfData(int atom1) = 0; + virtual SelfData fillSelfData(int atom1); protected: SimInfo* info_; + SnapshotManager* sman_; + Snapshot* snap_; + int storageLayout_; + RealType skinThickness_; /**< Verlet neighbor list skin thickness */ + map, int> topoDist; //< topoDist gives the //topological distance between //two atomic sites. This @@ -147,8 +154,13 @@ namespace OpenMD { //& column. It will be up to //the specific decomposition //method to fill this. + + vector > groupList_; vector cellOffsets_; - int nOffset_; + Vector3i nCells_; + vector > cellList_; + vector saved_CG_positions_; + }; } #endif