--- branches/development/src/parallel/ForceMatrixDecomposition.hpp 2012/06/21 19:26:46 1760 +++ trunk/src/parallel/ForceMatrixDecomposition.hpp 2013/07/01 21:09:37 1895 @@ -35,7 +35,7 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ @@ -67,33 +67,33 @@ namespace OpenMD { void collectData(); // neighbor list routines - vector > buildNeighborList(); + void buildNeighborList(vector >& neighborList); // group bookkeeping groupCutoffs getGroupCutoffs(int cg1, int cg2); - Vector3d getGroupVelocityColumn(int cg2); + Vector3d& getGroupVelocityColumn(int cg2); // Group->atom bookkeeping - vector getAtomsInGroupRow(int cg1); - vector getAtomsInGroupColumn(int cg2); + vector& getAtomsInGroupRow(int cg1); + vector& getAtomsInGroupColumn(int cg2); Vector3d getAtomToGroupVectorRow(int atom1, int cg1); Vector3d getAtomToGroupVectorColumn(int atom2, int cg2); - RealType getMassFactorRow(int atom1); - RealType getMassFactorColumn(int atom2); + RealType& getMassFactorRow(int atom1); + RealType& getMassFactorColumn(int atom2); // spatial data Vector3d getIntergroupVector(int cg1, int cg2); Vector3d getInteratomicVector(int atom1, int atom2); // atom bookkeeping - int getNAtomsInRow(); + int& getNAtomsInRow(); int getTopologicalDistance(int atom1, int atom2); - vector getExcludesForAtom(int atom1); + vector& getExcludesForAtom(int atom1); bool skipAtomPair(int atom1, int atom2, int cg1, int cg2); bool excludeAtomPair(int atom1, int atom2); void addForceToAtomRow(int atom1, Vector3d fg); void addForceToAtomColumn(int atom2, Vector3d fg); - Vector3d getAtomVelocityColumn(int atom2); + Vector3d& getAtomVelocityColumn(int atom2); // filling interaction blocks with pointers void fillInteractionData(InteractionData &idat, int atom1, int atom2);