--- trunk/OOPSE/libmdtools/SimSetup.cpp 2003/07/15 03:08:00 604 +++ trunk/OOPSE/libmdtools/SimSetup.cpp 2003/07/15 03:27:24 605 @@ -788,6 +788,7 @@ void SimSetup::createSim( void ){ NPTi* myNPTi = NULL; NPTf* myNPTf = NULL; NPTim* myNPTim = NULL; + NPTfm* myNPTfm = NULL; switch( ensembleCase ){ @@ -915,8 +916,41 @@ void SimSetup::createSim( void ){ simError(); } break; + + case NPTfm_ENS: + myNPTfm = new NPTfm( simnfo, the_ff ); + myNPTfm->setTargetTemp( the_globals->getTargetTemp()); + if (the_globals->haveTargetPressure()) + myNPTfm->setTargetPressure(the_globals->getTargetPressure()); + else { + sprintf( painCave.errMsg, + "SimSetup error: If you use a constant pressure\n" + " ensemble, you must set targetPressure in the BASS file.\n"); + painCave.isFatal = 1; + simError(); + } + if( the_globals->haveTauThermostat() ) + myNPTfm->setTauThermostat( the_globals->getTauThermostat() ); + else{ + sprintf( painCave.errMsg, + "SimSetup error: If you use an NPT\n" + " ensemble, you must set tauThermostat.\n"); + painCave.isFatal = 1; + simError(); + } + + if( the_globals->haveTauBarostat() ) + myNPTfm->setTauBarostat( the_globals->getTauBarostat() ); + else{ + sprintf( painCave.errMsg, + "SimSetup error: If you use an NPT\n" + " ensemble, you must set tauBarostat.\n"); + painCave.isFatal = 1; + simError(); + } + break; default: sprintf( painCave.errMsg,