59 |
|
nLocal_ = snap_->getNumberOfAtoms(); |
60 |
|
|
61 |
|
nGroups_ = info_->getNLocalCutoffGroups(); |
62 |
– |
cerr << "in dId, nGroups = " << nGroups_ << "\n"; |
62 |
|
// gather the information for atomtype IDs (atids): |
63 |
|
idents = info_->getIdentArray(); |
64 |
|
AtomLocalToGlobal = info_->getGlobalAtomIndices(); |
65 |
|
cgLocalToGlobal = info_->getGlobalGroupIndices(); |
66 |
|
vector<int> globalGroupMembership = info_->getGlobalGroupMembership(); |
67 |
+ |
|
68 |
|
massFactors = info_->getMassFactors(); |
69 |
|
|
70 |
|
PairList excludes = info_->getExcludedInteractions(); |
226 |
|
} |
227 |
|
|
228 |
|
void ForceMatrixDecomposition::createGtypeCutoffMap() { |
229 |
< |
|
229 |
> |
|
230 |
|
RealType tol = 1e-6; |
231 |
|
RealType rc; |
232 |
|
int atid; |
304 |
|
vector<RealType> groupCutoff(nGroups_, 0.0); |
305 |
|
groupToGtype.resize(nGroups_); |
306 |
|
|
307 |
– |
cerr << "nGroups = " << nGroups_ << "\n"; |
307 |
|
for (int cg1 = 0; cg1 < nGroups_; cg1++) { |
308 |
|
|
309 |
|
groupCutoff[cg1] = 0.0; |
332 |
|
} |
333 |
|
#endif |
334 |
|
|
336 |
– |
cerr << "gTypeCutoffs.size() = " << gTypeCutoffs.size() << "\n"; |
335 |
|
// Now we find the maximum group cutoff value present in the simulation |
336 |
|
|
337 |
|
RealType groupMax = *max_element(gTypeCutoffs.begin(), gTypeCutoffs.end()); |
452 |
|
atomRowData.functionalDerivative.end(), 0.0); |
453 |
|
fill(atomColData.functionalDerivative.begin(), |
454 |
|
atomColData.functionalDerivative.end(), 0.0); |
455 |
+ |
} |
456 |
+ |
|
457 |
+ |
if (storageLayout_ & DataStorage::dslSkippedCharge) { |
458 |
+ |
fill(atomRowData.skippedCharge.begin(), atomRowData.skippedCharge.end(), 0.0); |
459 |
+ |
fill(atomColData.skippedCharge.begin(), atomColData.skippedCharge.end(), 0.0); |
460 |
|
} |
461 |
|
|
462 |
|
#else |
477 |
|
if (storageLayout_ & DataStorage::dslFunctionalDerivative) { |
478 |
|
fill(snap_->atomData.functionalDerivative.begin(), |
479 |
|
snap_->atomData.functionalDerivative.end(), 0.0); |
480 |
+ |
} |
481 |
+ |
if (storageLayout_ & DataStorage::dslSkippedCharge) { |
482 |
+ |
fill(snap_->atomData.skippedCharge.begin(), |
483 |
+ |
snap_->atomData.skippedCharge.end(), 0.0); |
484 |
|
} |
485 |
|
#endif |
486 |
|
|
698 |
|
#ifdef IS_MPI |
699 |
|
return massFactorsRow[atom1]; |
700 |
|
#else |
694 |
– |
cerr << "mfs = " << massFactors.size() << " atom1 = " << atom1 << "\n"; |
701 |
|
return massFactors[atom1]; |
702 |
|
#endif |
703 |
|
} |
883 |
|
snap_->atomData.force[atom1] += *(idat.f1); |
884 |
|
snap_->atomData.force[atom2] -= *(idat.f1); |
885 |
|
#endif |
886 |
< |
|
886 |
> |
|
887 |
|
} |
888 |
|
|
889 |
|
|