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(); |
71 |
|
PairList oneTwo = info_->getOneTwoInteractions(); |
72 |
|
PairList oneThree = info_->getOneThreeInteractions(); |
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 |
|
|
306 |
– |
cerr << "nGroups = " << nGroups_ << "\n"; |
307 |
|
for (int cg1 = 0; cg1 < nGroups_; cg1++) { |
308 |
|
|
309 |
|
groupCutoff[cg1] = 0.0; |
332 |
|
} |
333 |
|
#endif |
334 |
|
|
335 |
– |
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 |
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 |
|
|
487 |
|
} |
883 |
|
snap_->atomData.force[atom1] += *(idat.f1); |
884 |
|
snap_->atomData.force[atom2] -= *(idat.f1); |
885 |
|
#endif |
886 |
< |
|
886 |
> |
|
887 |
|
} |
888 |
|
|
889 |
|
|
890 |
|
void ForceMatrixDecomposition::fillSkipData(InteractionData &idat, |
891 |
|
int atom1, int atom2) { |
884 |
– |
// Still Missing:: skippedCharge fill must be added to DataStorage |
892 |
|
#ifdef IS_MPI |
893 |
|
idat.atypes = make_pair( ff_->getAtomType(identsRow[atom1]), |
894 |
|
ff_->getAtomType(identsCol[atom2]) ); |
897 |
|
idat.eFrame1 = &(atomRowData.electroFrame[atom1]); |
898 |
|
idat.eFrame2 = &(atomColData.electroFrame[atom2]); |
899 |
|
} |
900 |
+ |
|
901 |
|
if (storageLayout_ & DataStorage::dslTorque) { |
902 |
|
idat.t1 = &(atomRowData.torque[atom1]); |
903 |
|
idat.t2 = &(atomColData.torque[atom2]); |
904 |
|
} |
905 |
+ |
|
906 |
+ |
if (storageLayout_ & DataStorage::dslSkippedCharge) { |
907 |
+ |
idat.skippedCharge1 = &(atomRowData.skippedCharge[atom1]); |
908 |
+ |
idat.skippedCharge2 = &(atomColData.skippedCharge[atom2]); |
909 |
+ |
} |
910 |
|
#else |
911 |
|
idat.atypes = make_pair( ff_->getAtomType(idents[atom1]), |
912 |
|
ff_->getAtomType(idents[atom2]) ); |
915 |
|
idat.eFrame1 = &(snap_->atomData.electroFrame[atom1]); |
916 |
|
idat.eFrame2 = &(snap_->atomData.electroFrame[atom2]); |
917 |
|
} |
918 |
+ |
|
919 |
|
if (storageLayout_ & DataStorage::dslTorque) { |
920 |
|
idat.t1 = &(snap_->atomData.torque[atom1]); |
921 |
|
idat.t2 = &(snap_->atomData.torque[atom2]); |
922 |
|
} |
923 |
+ |
|
924 |
+ |
if (storageLayout_ & DataStorage::dslSkippedCharge) { |
925 |
+ |
idat.skippedCharge1 = &(snap_->atomData.skippedCharge[atom1]); |
926 |
+ |
idat.skippedCharge2 = &(snap_->atomData.skippedCharge[atom2]); |
927 |
+ |
} |
928 |
|
#endif |
929 |
|
} |
930 |
|
|