# | Line 226 | Line 226 | void SimSetup::makeMolecules(void){ | |
---|---|---|
226 | molInfo.myAtoms = &(info[k].atoms[atomOffset]); | |
227 | ||
228 | if (molInfo.nBonds > 0) | |
229 | < | molInfo.myBonds = new (Bond *) [molInfo.nBonds]; |
229 | > | molInfo.myBonds = new Bond*[molInfo.nBonds]; |
230 | else | |
231 | molInfo.myBonds = NULL; | |
232 | ||
233 | if (molInfo.nBends > 0) | |
234 | < | molInfo.myBends = new (Bend *) [molInfo.nBends]; |
234 | > | molInfo.myBends = new Bend*[molInfo.nBends]; |
235 | else | |
236 | molInfo.myBends = NULL; | |
237 | ||
238 | if (molInfo.nTorsions > 0) | |
239 | < | molInfo.myTorsions = new (Torsion *) [molInfo.nTorsions]; |
239 | > | molInfo.myTorsions = new Torsion *[molInfo.nTorsions]; |
240 | else | |
241 | molInfo.myTorsions = NULL; | |
242 | ||
# | Line 948 | Line 948 | void SimSetup::gatherInfo(void){ | |
948 | ||
949 | info[i].useInitXSstate = globals->getUseInitXSstate(); | |
950 | info[i].orthoTolerance = globals->getOrthoBoxTolerance(); | |
951 | < | |
951 | > | |
952 | > | // check for thermodynamic integration |
953 | > | if (globals->getUseThermInt()) { |
954 | > | if (globals->haveThermIntLambda() && globals->haveThermIntK()) { |
955 | > | info[i].useThermInt = globals->getUseThermInt(); |
956 | > | info[i].thermIntLambda = globals->getThermIntLambda(); |
957 | > | info[i].thermIntK = globals->getThermIntK(); |
958 | > | |
959 | > | Restraints *myRestraint = new Restraints(tot_nmol, info[i].thermIntLambda, info[i].thermIntK); |
960 | > | info[i].restraint = myRestraint; |
961 | > | } |
962 | > | else { |
963 | > | sprintf(painCave.errMsg, |
964 | > | "SimSetup Error:\n" |
965 | > | "\tKeyword useThermInt was set to 'true' but\n" |
966 | > | "\tthermodynamicIntegrationLambda (and/or\n" |
967 | > | "\tthermodynamicIntegrationK) was not specified.\n" |
968 | > | "\tPlease provide a lambda value and k value in your .bass file.\n"); |
969 | > | painCave.isFatal = 1; |
970 | > | simError(); |
971 | > | } |
972 | > | } |
973 | > | else if(globals->haveThermIntLambda() || globals->haveThermIntK()){ |
974 | > | sprintf(painCave.errMsg, |
975 | > | "SimSetup Warning: If you want to use Thermodynamic\n" |
976 | > | "\tIntegration, set useThermInt to 'true' in your .bass file.\n" |
977 | > | "\tThe useThermInt keyword is 'false' by default, so your\n" |
978 | > | "\tlambda and/or k values are being ignored.\n"); |
979 | > | painCave.isFatal = 0; |
980 | > | simError(); |
981 | > | } |
982 | } | |
983 | ||
984 | //setup seed for random number generator | |
# | Line 1258 | Line 1288 | void SimSetup::makeOutNames(void){ | |
1288 | } | |
1289 | else{ | |
1290 | strcat(info[k].statusName, ".stat"); | |
1291 | + | } |
1292 | + | } |
1293 | + | |
1294 | + | strcpy(info[k].rawPotName, inFileName); |
1295 | + | nameLength = strlen(info[k].rawPotName); |
1296 | + | endTest = &(info[k].rawPotName[nameLength - 5]); |
1297 | + | if (!strcmp(endTest, ".bass")){ |
1298 | + | strcpy(endTest, ".raw"); |
1299 | + | } |
1300 | + | else if (!strcmp(endTest, ".BASS")){ |
1301 | + | strcpy(endTest, ".raw"); |
1302 | + | } |
1303 | + | else{ |
1304 | + | endTest = &(info[k].rawPotName[nameLength - 4]); |
1305 | + | if (!strcmp(endTest, ".bss")){ |
1306 | + | strcpy(endTest, ".raw"); |
1307 | + | } |
1308 | + | else if (!strcmp(endTest, ".mdl")){ |
1309 | + | strcpy(endTest, ".raw"); |
1310 | + | } |
1311 | + | else{ |
1312 | + | strcat(info[k].rawPotName, ".raw"); |
1313 | } | |
1314 | } | |
1315 | ||
# | Line 1479 | Line 1531 | void SimSetup::mpiMolDivide(void){ | |
1531 | } | |
1532 | local_SRI = local_bonds + local_bends + local_torsions; | |
1533 | ||
1534 | < | info[0].n_atoms = mpiSim->getMyNlocal(); |
1534 | > | info[0].n_atoms = mpiSim->getLocalNatoms(); |
1535 | ||
1536 | ||
1537 | if (local_atoms != info[0].n_atoms){ |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |