--- trunk/OOPSE/libmdtools/SimSetup.cpp 2004/05/12 20:54:10 1174 +++ trunk/OOPSE/libmdtools/SimSetup.cpp 2004/05/22 18:16:18 1187 @@ -948,7 +948,37 @@ void SimSetup::gatherInfo(void){ info[i].useInitXSstate = globals->getUseInitXSstate(); info[i].orthoTolerance = globals->getOrthoBoxTolerance(); - + + // check for thermodynamic integration + if (globals->getUseThermInt()) { + if (globals->haveThermIntLambda() && globals->haveThermIntK()) { + info[i].useThermInt = globals->getUseThermInt(); + info[i].thermIntLambda = globals->getThermIntLambda(); + info[i].thermIntK = globals->getThermIntK(); + + Restraints *myRestraint = new Restraints(tot_nmol, info[i].thermIntLambda, info[i].thermIntK); + info[i].restraint = myRestraint; + } + else { + sprintf(painCave.errMsg, + "SimSetup Error:\n" + "\tKeyword useThermInt was set to 'true' but\n" + "\tthermodynamicIntegrationLambda (and/or\n" + "\tthermodynamicIntegrationK) was not specified.\n" + "\tPlease provide a lambda value and k value in your .bass file.\n"); + painCave.isFatal = 1; + simError(); + } + } + else if(globals->haveThermIntLambda() || globals->haveThermIntK()){ + sprintf(painCave.errMsg, + "SimSetup Warning: If you want to use Thermodynamic\n" + "\tIntegration, set useThermInt to 'true' in your .bass file.\n" + "\tThe useThermInt keyword is 'false' by default, so your\n" + "\tlambda and/or k values are being ignored.\n"); + painCave.isFatal = 0; + simError(); + } } //setup seed for random number generator @@ -1258,7 +1288,29 @@ void SimSetup::makeOutNames(void){ } else{ strcat(info[k].statusName, ".stat"); + } + } + + strcpy(info[k].rawPotName, inFileName); + nameLength = strlen(info[k].rawPotName); + endTest = &(info[k].rawPotName[nameLength - 5]); + if (!strcmp(endTest, ".bass")){ + strcpy(endTest, ".raw"); + } + else if (!strcmp(endTest, ".BASS")){ + strcpy(endTest, ".raw"); + } + else{ + endTest = &(info[k].rawPotName[nameLength - 4]); + if (!strcmp(endTest, ".bss")){ + strcpy(endTest, ".raw"); + } + else if (!strcmp(endTest, ".mdl")){ + strcpy(endTest, ".raw"); } + else{ + strcat(info[k].rawPotName, ".raw"); + } } #ifdef IS_MPI