--- trunk/src/constraints/Rattle.cpp 2014/04/14 18:32:51 1981 +++ trunk/src/constraints/Rattle.cpp 2014/04/18 20:07:09 1989 @@ -45,21 +45,26 @@ namespace OpenMD { #include "utils/simError.h" namespace OpenMD { - Rattle::Rattle(SimInfo* info) : info_(info), maxConsIteration_(10), consTolerance_(1.0e-6), doRattle_(false) { + Rattle::Rattle(SimInfo* info) : info_(info), maxConsIteration_(10), + consTolerance_(1.0e-6), doRattle_(false), + currConstraintTime_(0.0) { - if (info_->getNConstraints() > 0) + if (info_->getNGlobalConstraints() > 0) doRattle_ = true; + if (!doRattle_) return; + Globals* simParams = info_->getSimParams(); if (simParams->haveDt()) { dt_ = simParams->getDt(); } else { sprintf(painCave.errMsg, - "Integrator Error: dt is not set\n"); + "Rattle Error: dt is not set\n"); painCave.isFatal = 1; simError(); } + currentSnapshot_ = info_->getSnapshotManager()->getCurrentSnapshot(); if (simParams->haveConstraintTime()){ constraintTime_ = simParams->getConstraintTime(); @@ -67,10 +72,13 @@ namespace OpenMD { constraintTime_ = simParams->getStatusTime(); } - constraintOutputFile_ = getPrefix(info_->getFinalConfigFileName()) + ".constraintForces"; + constraintOutputFile_ = getPrefix(info_->getFinalConfigFileName()) + + ".constraintForces"; + // create ConstraintWriter - constraintWriter_ = new ConstraintWriter(info_, constraintOutputFile_.c_str()); + constraintWriter_ = new ConstraintWriter(info_, + constraintOutputFile_.c_str()); if (!constraintWriter_){ sprintf(painCave.errMsg, "Failed to create ConstraintWriter\n"); @@ -101,7 +109,6 @@ namespace OpenMD { constraints.push_back(consPair); } } - constraintWriter_->writeConstraintForces(constraints); currConstraintTime_ += constraintTime_; }