--- trunk/OOPSE/libmdtools/SimSetup.cpp 2003/08/26 20:02:29 722 +++ trunk/OOPSE/libmdtools/SimSetup.cpp 2003/09/19 20:00:27 778 @@ -686,6 +686,12 @@ void SimSetup::gatherInfo(void){ if (globals->haveThermalTime()){ info[i].thermalTime = globals->getThermalTime(); + } + + info[i].resetIntegrator = 0; + if( globals->haveResetTime() ){ + info[i].resetTime = globals->getResetTime(); + info[i].resetIntegrator = 1; } // check for the temperature set flag @@ -1343,11 +1349,11 @@ void SimSetup::makeIntegrator(void){ int k; NVT* myNVT = NULL; - NPTi* myNPTi = NULL; + NPTi >* myNPTi = NULL; NPTf* myNPTf = NULL; NPTim* myNPTim = NULL; NPTfm* myNPTfm = NULL; - + for (k = 0; k < nInfo; k++){ switch (ensembleCase){ case NVE_ENS: @@ -1383,10 +1389,10 @@ void SimSetup::makeIntegrator(void){ case NPTi_ENS: if (globals->haveZconstraints()){ setupZConstraint(info[k]); - myNPTi = new ZConstraint >(&(info[k]), the_ff); + myNPTi = new ZConstraint > >(&(info[k]), the_ff); } else - myNPTi = new NPTi(&(info[k]), the_ff); + myNPTi = new NPTi >(&(info[k]), the_ff); myNPTi->setTargetTemp(globals->getTargetTemp()); @@ -1615,7 +1621,7 @@ void SimSetup::setupZConstraint(SimInfo& theInfo){ } theInfo.addProperty(zconsTol); - //set Force Substraction Policy + //set Force Subtraction Policy StringData* zconsForcePolicy = new StringData(); zconsForcePolicy->setID(ZCONSFORCEPOLICY_ID); @@ -1624,11 +1630,11 @@ void SimSetup::setupZConstraint(SimInfo& theInfo){ } else{ sprintf(painCave.errMsg, - "ZConstraint Warning: User does not set force substraction policy, " - "average force substraction policy is used\n"); + "ZConstraint Warning: User does not set force Subtraction policy, " + "PolicyByMass is used\n"); painCave.isFatal = 0; simError(); - zconsForcePolicy->setData("BYNUMBER"); + zconsForcePolicy->setData("BYMASS"); } theInfo.addProperty(zconsForcePolicy); @@ -1666,9 +1672,17 @@ void SimSetup::setupZConstraint(SimInfo& theInfo){ zconsParaData->addItem(tempParaItem); } + //check the uniqueness of index + if(!zconsParaData->isIndexUnique()){ + sprintf(painCave.errMsg, + "ZConstraint Error: molIndex is not unique\n"); + painCave.isFatal = 1; + simError(); + } + //sort the parameters by index of molecules zconsParaData->sortByIndex(); - + //push data into siminfo, therefore, we can retrieve later theInfo.addProperty(zconsParaData); }