| 201 |
|
// electrostaticSummationMethod keyword. |
| 202 |
|
|
| 203 |
|
if (simParams_->haveElectrostaticSummationMethod()) { |
| 204 |
< |
std::string myMethod = simParams_->getElectrostaticSummationMethod(); |
| 204 |
> |
string myMethod = simParams_->getElectrostaticSummationMethod(); |
| 205 |
|
toUpper(myMethod); |
| 206 |
|
|
| 207 |
|
if (myMethod == "SHIFTED_POTENTIAL") { |
| 256 |
|
stringToCutoffPolicy["MAX"] = MAX; |
| 257 |
|
stringToCutoffPolicy["TRADITIONAL"] = TRADITIONAL; |
| 258 |
|
|
| 259 |
< |
std::string cutPolicy; |
| 259 |
> |
string cutPolicy; |
| 260 |
|
if (forceFieldOptions_.haveCutoffPolicy()){ |
| 261 |
|
cutPolicy = forceFieldOptions_.getCutoffPolicy(); |
| 262 |
|
}else if (simParams_->haveCutoffPolicy()) { |
| 388 |
|
setupCutoffs(); |
| 389 |
|
|
| 390 |
|
info_->prepareTopology(); |
| 391 |
+ |
|
| 392 |
+ |
doParticlePot_ = info_->getSimParams()->getOutputParticlePotential(); |
| 393 |
+ |
|
| 394 |
|
} |
| 395 |
|
|
| 396 |
|
ForceFieldOptions& fopts = forceField_->getForceFieldOptions(); |
| 505 |
|
|
| 506 |
|
for (bond = mol->beginBond(bondIter); bond != NULL; |
| 507 |
|
bond = mol->nextBond(bondIter)) { |
| 508 |
< |
bond->calcForce(); |
| 508 |
> |
bond->calcForce(doParticlePot_); |
| 509 |
|
bondPotential += bond->getPotential(); |
| 510 |
|
} |
| 511 |
|
|
| 513 |
|
bend = mol->nextBend(bendIter)) { |
| 514 |
|
|
| 515 |
|
RealType angle; |
| 516 |
< |
bend->calcForce(angle); |
| 516 |
> |
bend->calcForce(angle, doParticlePot_); |
| 517 |
|
RealType currBendPot = bend->getPotential(); |
| 518 |
|
|
| 519 |
|
bendPotential += bend->getPotential(); |
| 538 |
|
for (torsion = mol->beginTorsion(torsionIter); torsion != NULL; |
| 539 |
|
torsion = mol->nextTorsion(torsionIter)) { |
| 540 |
|
RealType angle; |
| 541 |
< |
torsion->calcForce(angle); |
| 541 |
> |
torsion->calcForce(angle, doParticlePot_); |
| 542 |
|
RealType currTorsionPot = torsion->getPotential(); |
| 543 |
|
torsionPotential += torsion->getPotential(); |
| 544 |
|
map<Torsion*, TorsionDataSet>::iterator i = torsionDataSets.find(torsion); |
| 562 |
|
inversion != NULL; |
| 563 |
|
inversion = mol->nextInversion(inversionIter)) { |
| 564 |
|
RealType angle; |
| 565 |
< |
inversion->calcForce(angle); |
| 565 |
> |
inversion->calcForce(angle, doParticlePot_); |
| 566 |
|
RealType currInversionPot = inversion->getPotential(); |
| 567 |
|
inversionPotential += inversion->getPotential(); |
| 568 |
|
map<Inversion*, InversionDataSet>::iterator i = inversionDataSets.find(inversion); |
| 653 |
|
idat.sw = &sw; |
| 654 |
|
idat.shiftedPot = (cutoffMethod_ == SHIFTED_POTENTIAL) ? true : false; |
| 655 |
|
idat.shiftedForce = (cutoffMethod_ == SHIFTED_FORCE) ? true : false; |
| 656 |
+ |
idat.doParticlePot = doParticlePot_; |
| 657 |
+ |
sdat.doParticlePot = doParticlePot_; |
| 658 |
|
|
| 659 |
|
loopEnd = PAIR_LOOP; |
| 660 |
|
if (info_->requiresPrepair() ) { |
| 859 |
|
MPI_Allreduce(tmpTau.getArrayPointer(), tau.getArrayPointer(), |
| 860 |
|
9, MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); |
| 861 |
|
#endif |
| 862 |
< |
curSnapshot->statData.setTau(tau); |
| 862 |
> |
curSnapshot->setTau(tau); |
| 863 |
|
} |
| 864 |
|
|
| 865 |
|
} //end namespace OpenMD |