| 225 |
|
evaluator.loadScriptString(objectSelection); |
| 226 |
|
seleMan.setSelectionSet(evaluator.evaluate()); |
| 227 |
|
int selectionCount = seleMan.getSelectionCount(); |
| 228 |
< |
|
| 228 |
> |
|
| 229 |
> |
#ifdef IS_MPI |
| 230 |
> |
MPI_Allreduce(MPI_IN_PLACE, &selectionCount, 1, MPI_INT, MPI_SUM, |
| 231 |
> |
MPI_COMM_WORLD); |
| 232 |
> |
#endif |
| 233 |
> |
|
| 234 |
|
sprintf(painCave.errMsg, |
| 235 |
|
"Restraint Info: The specified restraint objectSelection,\n" |
| 236 |
|
"\t\t%s\n" |
| 319 |
|
void RestraintForceManager::calcForces(){ |
| 320 |
|
|
| 321 |
|
ForceManager::calcForces(); |
| 322 |
< |
RealType restPot_local, restPot; |
| 322 |
> |
RealType restPot(0.0); |
| 323 |
|
|
| 324 |
< |
restPot_local = doRestraints(1.0); |
| 324 |
> |
restPot = doRestraints(1.0); |
| 325 |
|
|
| 326 |
|
#ifdef IS_MPI |
| 327 |
< |
MPI_Allreduce(&restPot_local, &restPot, 1, |
| 328 |
< |
MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); |
| 324 |
< |
#else |
| 325 |
< |
restPot = restPot_local; |
| 327 |
> |
MPI_Allreduce(MPI_IN_PLACE, &restPot, 1, MPI_REALTYPE, MPI_SUM, |
| 328 |
> |
MPI_COMM_WORLD); |
| 329 |
|
#endif |
| 330 |
+ |
|
| 331 |
|
currSnapshot_ = info_->getSnapshotManager()->getCurrentSnapshot(); |
| 332 |
|
RealType pot = currSnapshot_->getLongRangePotential(); |
| 333 |
|
pot += restPot; |
| 415 |
|
index++; |
| 416 |
|
} |
| 417 |
|
|
| 418 |
< |
unscaledPotential_ += mRest->getUnscaledPotential(); |
| 418 |
> |
unscaledPotential_ += mRest->getUnscaledPotential(); |
| 419 |
|
|
| 416 |
– |
restInfo = mRest->getRestraintInfo(); |
| 417 |
– |
|
| 420 |
|
// only collect data on restraints that we're going to print: |
| 421 |
|
if (mRest->getPrintRestraint()) |
| 422 |
+ |
restInfo = mRest->getRestraintInfo(); |
| 423 |
|
restInfo_.push_back(restInfo); |
| 424 |
|
} |
| 425 |
|
|
| 479 |
|
|
| 480 |
|
unscaledPotential_ += oRest->getUnscaledPotential(); |
| 481 |
|
|
| 479 |
– |
restInfo = oRest->getRestraintInfo(); |
| 480 |
– |
|
| 482 |
|
// only collect data on restraints that we're going to print: |
| 483 |
|
if (oRest->getPrintRestraint()) |
| 484 |
+ |
restInfo = oRest->getRestraintInfo(); |
| 485 |
|
restInfo_.push_back(restInfo); |
| 486 |
|
} |
| 487 |
|
|