| 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 |
|
|