62 class ForceMatrixDecomposition :
public ForceDecomposition {
65 ~ForceMatrixDecomposition();
68 void zeroWorkArrays();
69 void distributeData();
70 void collectIntermediateData();
71 void distributeIntermediateData();
76 void buildNeighborList(vector<int>& neighborList, vector<int>& point,
77 vector<Vector3d>& savedPositions);
80 Vector3d& getGroupVelocityColumn(
int cg2);
84 vector<int>& getAtomsInGroupColumn(
int cg2);
85 Vector3d getAtomToGroupVectorRow(
int atom1,
int cg1);
86 Vector3d getAtomToGroupVectorColumn(
int atom2,
int cg2);
87 RealType& getMassFactorRow(
int atom1);
88 RealType& getMassFactorColumn(
int atom2);
91 Vector3d getIntergroupVector(
int cg1,
int cg2);
92 Vector3d getInteratomicVector(
int atom1,
int atom2);
95 int& getNAtomsInRow();
96 int getTopologicalDistance(
int atom1,
int atom2);
97 vector<int>& getExcludesForAtom(
int atom1);
98 bool skipAtomPair(
int atom1,
int atom2,
int cg1,
int cg2);
100 int getGlobalIDRow(
int atom1);
101 int getGlobalIDCol(
int atom1);
102 int getGlobalID(
int atom1);
103 void addForceToAtomRow(
int atom1, Vector3d fg);
104 void addForceToAtomColumn(
int atom2, Vector3d fg);
105 Vector3d& getAtomVelocityColumn(
int atom2);
109 bool newAtom1 =
true);
110 void unpackInteractionData(
InteractionData& idat,
int atom1,
int atom2);
116 vector<int> AtomLocalToGlobal;
117 vector<int> cgLocalToGlobal;
118 vector<RealType> groupCutoff;
119 vector<int> groupToGtype;
153 vector<potVec> pot_row;
154 vector<potVec> pot_col;
156 vector<potVec> expot_row;
157 vector<potVec> expot_col;
159 vector<potVec> selepot_row;
160 vector<potVec> selepot_col;
162 vector<int> identsRow;
163 vector<int> identsCol;
165 vector<int> regionsRow;
166 vector<int> regionsCol;
168 vector<AtomType*> atypesRow;
169 vector<AtomType*> atypesCol;
171 vector<int> AtomRowToGlobal;
172 vector<int> AtomColToGlobal;
175 vector<int> cgRowToGlobal;
176 vector<int> cgColToGlobal;
179 vector<vector<int>> cellListRow_;
180 vector<vector<int>> cellListCol_;
182 vector<vector<int>> groupListRow_;
183 vector<vector<int>> groupListCol_;
185 vector<RealType> massFactorsRow;
186 vector<RealType> massFactorsCol;
188 vector<int> regionRow;
189 vector<int> regionCol;