88 |
|
|
89 |
|
vector<Component*> components = simParams->getComponents(); |
90 |
|
|
91 |
< |
for (vector<Component*>::iterator i = components.begin(); i !=components.end(); ++i) { |
91 |
> |
for (vector<Component*>::iterator i = components.begin(); |
92 |
> |
i !=components.end(); ++i) { |
93 |
|
molStamp = (*i)->getMoleculeStamp(); |
94 |
|
nMolWithSameStamp = (*i)->getNMol(); |
95 |
|
|
268 |
|
ndf_local -= nConstraints_; |
269 |
|
|
270 |
|
#ifdef IS_MPI |
271 |
< |
MPI_Allreduce(&ndf_local,&ndf_,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
272 |
< |
MPI_Allreduce(&nfq_local,&nGlobalFluctuatingCharges_,1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); |
271 |
> |
MPI::COMM_WORLD.Allreduce(&ndf_local, &ndf_, 1, MPI::INT,MPI::SUM); |
272 |
> |
MPI::COMM_WORLD.Allreduce(&nfq_local, &nGlobalFluctuatingCharges_, 1, |
273 |
> |
MPI::INT, MPI::SUM); |
274 |
|
#else |
275 |
|
ndf_ = ndf_local; |
276 |
|
nGlobalFluctuatingCharges_ = nfq_local; |
284 |
|
|
285 |
|
int SimInfo::getFdf() { |
286 |
|
#ifdef IS_MPI |
287 |
< |
MPI_Allreduce(&fdf_local,&fdf_,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
287 |
> |
MPI::COMM_WORLD.Allreduce(&fdf_local, &fdf_, 1, MPI::INT, MPI::SUM); |
288 |
|
#else |
289 |
|
fdf_ = fdf_local; |
290 |
|
#endif |
340 |
|
} |
341 |
|
|
342 |
|
#ifdef IS_MPI |
343 |
< |
MPI_Allreduce(&ndfRaw_local,&ndfRaw_,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
343 |
> |
MPI::COMM_WORLD.Allreduce(&ndfRaw_local, &ndfRaw_, 1, MPI::INT, MPI::SUM); |
344 |
|
#else |
345 |
|
ndfRaw_ = ndfRaw_local; |
346 |
|
#endif |
353 |
|
|
354 |
|
|
355 |
|
#ifdef IS_MPI |
356 |
< |
MPI_Allreduce(&ndfTrans_local,&ndfTrans_,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
356 |
> |
MPI::COMM_WORLD.Allreduce(&ndfTrans_local, &ndfTrans_, 1, |
357 |
> |
MPI::INT, MPI::SUM); |
358 |
|
#else |
359 |
|
ndfTrans_ = ndfTrans_local; |
360 |
|
#endif |
784 |
|
|
785 |
|
void SimInfo::setupSimVariables() { |
786 |
|
useAtomicVirial_ = simParams_->getUseAtomicVirial(); |
787 |
< |
// we only call setAccumulateBoxDipole if the accumulateBoxDipole parameter is true |
787 |
> |
// we only call setAccumulateBoxDipole if the accumulateBoxDipole |
788 |
> |
// parameter is true |
789 |
|
calcBoxDipole_ = false; |
790 |
|
if ( simParams_->haveAccumulateBoxDipole() ) |
791 |
|
if ( simParams_->getAccumulateBoxDipole() ) { |
983 |
|
|
984 |
|
for (mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) { |
985 |
|
|
986 |
< |
for (atom = mol->beginAtom(atomIter); atom != NULL; atom = mol->nextAtom(atomIter)) { |
986 |
> |
for (atom = mol->beginAtom(atomIter); atom != NULL; |
987 |
> |
atom = mol->nextAtom(atomIter)) { |
988 |
|
atom->setSnapshotManager(sman_); |
989 |
|
} |
990 |
|
|
991 |
< |
for (rb = mol->beginRigidBody(rbIter); rb != NULL; rb = mol->nextRigidBody(rbIter)) { |
991 |
> |
for (rb = mol->beginRigidBody(rbIter); rb != NULL; |
992 |
> |
rb = mol->nextRigidBody(rbIter)) { |
993 |
|
rb->setSnapshotManager(sman_); |
994 |
|
} |
995 |
|
|
996 |
< |
for (cg = mol->beginCutoffGroup(cgIter); cg != NULL; cg = mol->nextCutoffGroup(cgIter)) { |
996 |
> |
for (cg = mol->beginCutoffGroup(cgIter); cg != NULL; |
997 |
> |
cg = mol->nextCutoffGroup(cgIter)) { |
998 |
|
cg->setSnapshotManager(sman_); |
999 |
|
} |
1000 |
|
} |
1009 |
|
|
1010 |
|
|
1011 |
|
StuntDouble* SimInfo::getIOIndexToIntegrableObject(int index) { |
1012 |
< |
return IOIndexToIntegrableObject.at(index); |
1012 |
> |
if (index >= IOIndexToIntegrableObject.size()) { |
1013 |
> |
sprintf(painCave.errMsg, |
1014 |
> |
"SimInfo::getIOIndexToIntegrableObject Error: Integrable Object\n" |
1015 |
> |
"\tindex exceeds number of known objects!\n"); |
1016 |
> |
painCave.isFatal = 1; |
1017 |
> |
simError(); |
1018 |
> |
return NULL; |
1019 |
> |
} else |
1020 |
> |
return IOIndexToIntegrableObject.at(index); |
1021 |
|
} |
1022 |
|
|
1023 |
|
void SimInfo::setIOIndexToIntegrableObject(const vector<StuntDouble*>& v) { |
1024 |
|
IOIndexToIntegrableObject= v; |
1025 |
|
} |
1011 |
– |
/* |
1012 |
– |
void SimInfo::setStuntDoubleFromGlobalIndex(vector<StuntDouble*> v) { |
1013 |
– |
assert( v.size() == nAtoms_ + nRigidBodies_); |
1014 |
– |
sdByGlobalIndex_ = v; |
1015 |
– |
} |
1026 |
|
|
1017 |
– |
StuntDouble* SimInfo::getStuntDoubleFromGlobalIndex(int index) { |
1018 |
– |
//assert(index < nAtoms_ + nRigidBodies_); |
1019 |
– |
return sdByGlobalIndex_.at(index); |
1020 |
– |
} |
1021 |
– |
*/ |
1027 |
|
int SimInfo::getNGlobalConstraints() { |
1028 |
|
int nGlobalConstraints; |
1029 |
|
#ifdef IS_MPI |
1030 |
< |
MPI_Allreduce(&nConstraints_, &nGlobalConstraints, 1, MPI_INT, MPI_SUM, |
1031 |
< |
MPI_COMM_WORLD); |
1030 |
> |
MPI::COMM_WORLD.Allreduce(&nConstraints_, &nGlobalConstraints, 1, |
1031 |
> |
MPI::INT, MPI::SUM); |
1032 |
|
#else |
1033 |
|
nGlobalConstraints = nConstraints_; |
1034 |
|
#endif |