--- trunk/OOPSE/libmdtools/SimSetup.cpp 2004/06/01 15:57:30 1211 +++ trunk/OOPSE/libmdtools/SimSetup.cpp 2004/06/01 17:15:43 1212 @@ -1020,9 +1020,9 @@ void SimSetup::gatherInfo(void){ info[i].orthoTolerance = globals->getOrthoBoxTolerance(); // check for thermodynamic integration - if (globals->getUseThermInt()) { + if (globals->getUseSolidThermInt() && !globals->getUseLiquidThermInt()) { if (globals->haveThermIntLambda() && globals->haveThermIntK()) { - info[i].useThermInt = globals->getUseThermInt(); + info[i].useSolidThermInt = globals->getUseSolidThermInt(); info[i].thermIntLambda = globals->getThermIntLambda(); info[i].thermIntK = globals->getThermIntK(); @@ -1032,7 +1032,36 @@ void SimSetup::gatherInfo(void){ else { sprintf(painCave.errMsg, "SimSetup Error:\n" - "\tKeyword useThermInt was set to 'true' but\n" + "\tKeyword useSolidThermInt 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->getUseLiquidThermInt()) { + if (globals->getUseSolidThermInt()) { + sprintf( painCave.errMsg, + "SimSetup Warning: It appears that you have both solid and\n" + "\tliquid thermodynamic integration activated in your .bass\n" + "\tfile. To avoid confusion, specify only one technique in\n" + "\tyour .bass file. Liquid-state thermodynamic integration\n" + "\twill be assumed for the current simulation. If this is not\n" + "\twhat you desire, set useSolidThermInt to 'true' and\n" + "\tuseLiquidThermInt to 'false' in your .bass file.\n"); + painCave.isFatal = 0; + simError(); + } + if (globals->haveThermIntLambda() && globals->haveThermIntK()) { + info[i].useLiquidThermInt = globals->getUseLiquidThermInt(); + info[i].thermIntLambda = globals->getThermIntLambda(); + info[i].thermIntK = globals->getThermIntK(); + } + else { + sprintf(painCave.errMsg, + "SimSetup Error:\n" + "\tKeyword useLiquidThermInt 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"); @@ -1043,9 +1072,10 @@ void SimSetup::gatherInfo(void){ 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"); + "\tIntegration, set useSolidThermInt or useLiquidThermInt to\n" + "\t'true' in your .bass file. These keywords are set to\n" + "\t'false' by default, so your lambda and/or k values are\n" + "\tbeing ignored.\n"); painCave.isFatal = 0; simError(); }