ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/restraints/RestraintForceManager.cpp
(Generate patch)

Comparing trunk/src/restraints/RestraintForceManager.cpp (file contents):
Revision 1407 by cli2, Wed Jan 20 16:04:40 2010 UTC vs.
Revision 1938 by gezelter, Thu Oct 31 15:32:17 2013 UTC

# Line 35 | Line 35
35   *                                                                      
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43 + #ifdef IS_MPI
44 + #include <mpi.h>
45 + #endif
46 +
47 + #include "config.h"
48   #include <cmath>
49 +
50   #include "restraints/RestraintForceManager.hpp"
51   #include "restraints/MolecularRestraint.hpp"
52   #include "restraints/ObjectRestraint.hpp"
# Line 49 | Line 56
56   #include "utils/StringUtils.hpp"
57   #include "selection/SelectionEvaluator.hpp"
58   #include "selection/SelectionManager.hpp"
52 #ifdef IS_MPI
53 #include <mpi.h>
54 #endif
59  
56
60   namespace OpenMD {
61  
62    RestraintForceManager::RestraintForceManager(SimInfo* info): ForceManager(info) {
# Line 98 | Line 101 | namespace OpenMD {
101        if (myType.compare("MOLECULAR")==0){
102  
103          int molIndex;
101        std::vector<Vector3d> ref;
104          Vector3d refCom;
105  
106          if (!stamp[i]->haveMolIndex()) {
# Line 305 | Line 307 | namespace OpenMD {
307      currRestTime_ = currSnapshot_->getTime();
308    }
309  
310 <  void RestraintForceManager::calcForces(bool needPotential, bool needStress){
310 >  void RestraintForceManager::calcForces(){
311  
312 <    ForceManager::calcForces(needPotential, needStress);    
312 >    ForceManager::calcForces();    
313      RealType restPot_local, restPot;
314  
315      restPot_local = doRestraints(1.0);
# Line 319 | Line 321 | namespace OpenMD {
321      restPot = restPot_local;
322   #endif
323      currSnapshot_ = info_->getSnapshotManager()->getCurrentSnapshot();
324 <    currSnapshot_->statData[Stats::LONG_RANGE_POTENTIAL] += restPot;
325 <    currSnapshot_->statData[Stats::VHARM] = restPot;
324 >    RealType pot = currSnapshot_->getLongRangePotential();
325 >    pot += restPot;
326 >    currSnapshot_->setLongRangePotential(pot);
327 >    currSnapshot_->setRestraintPotential(restPot);
328  
329      //write out forces and current positions of restrained molecules    
330      if (currSnapshot_->getTime() >= currRestTime_){
# Line 335 | Line 339 | namespace OpenMD {
339      Molecule::IntegrableObjectIterator ioi;
340      MolecularRestraint* mRest;
341      StuntDouble* sd;
338    RealType pTot;
342  
343      std::vector<StuntDouble*>::const_iterator ro;
344      ObjectRestraint* oRest;

Comparing trunk/src/restraints/RestraintForceManager.cpp (property svn:keywords):
Revision 1407 by cli2, Wed Jan 20 16:04:40 2010 UTC vs.
Revision 1938 by gezelter, Thu Oct 31 15:32:17 2013 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines