57 |
|
storageLayout_ = sman_->getStorageLayout(); |
58 |
|
ff_ = info_->getForceField(); |
59 |
|
nLocal_ = snap_->getNumberOfAtoms(); |
60 |
– |
nGroups_ = snap_->getNumberOfCutoffGroups(); |
60 |
|
|
61 |
+ |
nGroups_ = info_->getNLocalCutoffGroups(); |
62 |
|
// gather the information for atomtype IDs (atids): |
63 |
|
identsLocal = info_->getIdentArray(); |
64 |
|
AtomLocalToGlobal = info_->getGlobalAtomIndices(); |
104 |
|
cgColData.resize(nGroupsInCol_); |
105 |
|
cgColData.setStorageLayout(DataStorage::dslPosition); |
106 |
|
|
107 |
< |
identsRow.reserve(nAtomsInRow_); |
108 |
< |
identsCol.reserve(nAtomsInCol_); |
107 |
> |
identsRow.resize(nAtomsInRow_); |
108 |
> |
identsCol.resize(nAtomsInCol_); |
109 |
|
|
110 |
|
AtomCommIntRow->gather(identsLocal, identsRow); |
111 |
|
AtomCommIntColumn->gather(identsLocal, identsCol); |
120 |
|
AtomCommRealColumn->gather(massFactorsLocal, massFactorsCol); |
121 |
|
|
122 |
|
groupListRow_.clear(); |
123 |
< |
groupListRow_.reserve(nGroupsInRow_); |
123 |
> |
groupListRow_.resize(nGroupsInRow_); |
124 |
|
for (int i = 0; i < nGroupsInRow_; i++) { |
125 |
|
int gid = cgRowToGlobal[i]; |
126 |
|
for (int j = 0; j < nAtomsInRow_; j++) { |
131 |
|
} |
132 |
|
|
133 |
|
groupListCol_.clear(); |
134 |
< |
groupListCol_.reserve(nGroupsInCol_); |
134 |
> |
groupListCol_.resize(nGroupsInCol_); |
135 |
|
for (int i = 0; i < nGroupsInCol_; i++) { |
136 |
|
int gid = cgColToGlobal[i]; |
137 |
|
for (int j = 0; j < nAtomsInCol_; j++) { |
142 |
|
} |
143 |
|
|
144 |
|
skipsForRowAtom.clear(); |
145 |
< |
skipsForRowAtom.reserve(nAtomsInRow_); |
145 |
> |
skipsForRowAtom.resize(nAtomsInRow_); |
146 |
|
for (int i = 0; i < nAtomsInRow_; i++) { |
147 |
|
int iglob = AtomRowToGlobal[i]; |
148 |
|
for (int j = 0; j < nAtomsInCol_; j++) { |
153 |
|
} |
154 |
|
|
155 |
|
toposForRowAtom.clear(); |
156 |
< |
toposForRowAtom.reserve(nAtomsInRow_); |
156 |
> |
toposForRowAtom.resize(nAtomsInRow_); |
157 |
|
for (int i = 0; i < nAtomsInRow_; i++) { |
158 |
|
int iglob = AtomRowToGlobal[i]; |
159 |
|
int nTopos = 0; |
178 |
|
} |
179 |
|
|
180 |
|
#endif |
181 |
– |
|
181 |
|
groupList_.clear(); |
182 |
< |
groupList_.reserve(nGroups_); |
182 |
> |
groupList_.resize(nGroups_); |
183 |
|
for (int i = 0; i < nGroups_; i++) { |
184 |
|
int gid = cgLocalToGlobal[i]; |
185 |
|
for (int j = 0; j < nLocal_; j++) { |
186 |
|
int aid = AtomLocalToGlobal[j]; |
187 |
< |
if (globalGroupMembership[aid] == gid) |
187 |
> |
if (globalGroupMembership[aid] == gid) { |
188 |
|
groupList_[i].push_back(j); |
189 |
+ |
|
190 |
+ |
} |
191 |
|
} |
192 |
|
} |
193 |
|
|
194 |
|
skipsForLocalAtom.clear(); |
195 |
< |
skipsForLocalAtom.reserve(nLocal_); |
195 |
> |
skipsForLocalAtom.resize(nLocal_); |
196 |
|
|
197 |
|
for (int i = 0; i < nLocal_; i++) { |
198 |
|
int iglob = AtomLocalToGlobal[i]; |
202 |
|
skipsForLocalAtom[i].push_back(j); |
203 |
|
} |
204 |
|
} |
204 |
– |
|
205 |
|
toposForLocalAtom.clear(); |
206 |
< |
toposForLocalAtom.reserve(nLocal_); |
206 |
> |
toposForLocalAtom.resize(nLocal_); |
207 |
|
for (int i = 0; i < nLocal_; i++) { |
208 |
|
int iglob = AtomLocalToGlobal[i]; |
209 |
|
int nTopos = 0; |
236 |
|
int atid; |
237 |
|
set<AtomType*> atypes = info_->getSimulatedAtomTypes(); |
238 |
|
vector<RealType> atypeCutoff; |
239 |
< |
atypeCutoff.reserve( atypes.size() ); |
239 |
> |
atypeCutoff.resize( atypes.size() ); |
240 |
|
|
241 |
|
for (set<AtomType*>::iterator at = atypes.begin(); at != atypes.end(); ++at){ |
242 |
|
rc = interactionMan_->getSuggestedCutoffRadius(*at); |