# | Line 59 | Line 59 | namespace OpenMD { | |
---|---|---|
59 | #include "primitives/Inversion.hpp" | |
60 | namespace OpenMD { | |
61 | ||
62 | < | void ForceManager::calcForces(bool needPotential, bool needStress) { |
62 | > | void ForceManager::calcForces() { |
63 | ||
64 | if (!info_->isFortranInitialized()) { | |
65 | info_->update(); | |
# | Line 69 | Line 69 | namespace OpenMD { | |
69 | ||
70 | calcShortRangeInteraction(); | |
71 | ||
72 | < | calcLongRangeInteraction(needPotential, needStress); |
72 | > | calcLongRangeInteraction(); |
73 | ||
74 | < | postCalculation(needStress); |
74 | > | postCalculation(); |
75 | ||
76 | } | |
77 | ||
# | Line 223 | Line 223 | namespace OpenMD { | |
223 | ||
224 | } | |
225 | ||
226 | < | void ForceManager::calcLongRangeInteraction(bool needPotential, |
227 | < | bool needStress) { |
226 | > | void ForceManager::calcLongRangeInteraction() { |
227 | Snapshot* curSnapshot; | |
228 | DataStorage* config; | |
229 | RealType* frc; | |
# | Line 277 | Line 276 | namespace OpenMD { | |
276 | RealType longRangePotential[LR_POT_TYPES]; | |
277 | RealType lrPot = 0.0; | |
278 | Vector3d totalDipole; | |
280 | – | short int passedCalcPot = needPotential; |
281 | – | short int passedCalcStress = needStress; |
279 | int isError = 0; | |
280 | ||
281 | for (int i=0; i<LR_POT_TYPES;i++){ | |
# | Line 294 | Line 291 | namespace OpenMD { | |
291 | tau.getArrayPointer(), | |
292 | longRangePotential, | |
293 | particlePot, | |
297 | – | &passedCalcPot, |
298 | – | &passedCalcStress, |
294 | &isError ); | |
295 | ||
296 | if( isError ){ | |
# | Line 324 | Line 319 | namespace OpenMD { | |
319 | } | |
320 | ||
321 | ||
322 | < | void ForceManager::postCalculation(bool needStress) { |
322 | > | void ForceManager::postCalculation() { |
323 | SimInfo::MoleculeIterator mi; | |
324 | Molecule* mol; | |
325 | Molecule::RigidBodyIterator rbIter; | |
# | Line 337 | Line 332 | namespace OpenMD { | |
332 | mol = info_->nextMolecule(mi)) { | |
333 | for (rb = mol->beginRigidBody(rbIter); rb != NULL; | |
334 | rb = mol->nextRigidBody(rbIter)) { | |
335 | < | if (needStress) { |
336 | < | Mat3x3d rbTau = rb->calcForcesAndTorquesAndVirial(); |
342 | < | tau += rbTau; |
343 | < | } else{ |
344 | < | rb->calcForcesAndTorques(); |
345 | < | } |
335 | > | Mat3x3d rbTau = rb->calcForcesAndTorquesAndVirial(); |
336 | > | tau += rbTau; |
337 | } | |
338 | } | |
339 | < | |
349 | < | if (needStress) { |
339 | > | |
340 | #ifdef IS_MPI | |
341 | < | Mat3x3d tmpTau(tau); |
342 | < | MPI_Allreduce(tmpTau.getArrayPointer(), tau.getArrayPointer(), |
343 | < | 9, MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); |
341 | > | Mat3x3d tmpTau(tau); |
342 | > | MPI_Allreduce(tmpTau.getArrayPointer(), tau.getArrayPointer(), |
343 | > | 9, MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); |
344 | #endif | |
345 | < | curSnapshot->statData.setTau(tau); |
356 | < | } |
345 | > | curSnapshot->statData.setTau(tau); |
346 | } | |
347 | ||
348 | } //end namespace OpenMD |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |