145 |
|
treeParser.initializeASTFactory(factory); |
146 |
|
treeParser.setASTFactory(&factory); |
147 |
|
simParams = treeParser.walkTree(parser.getAST()); |
148 |
– |
|
148 |
|
} |
149 |
|
|
150 |
|
|
263 |
|
++lineNo; |
264 |
|
std::string line = trimLeftCopy(buffer); |
265 |
|
i = CaseInsensitiveFind(line, "<OOPSE"); |
266 |
< |
if (i == string::npos) { |
266 |
> |
if (static_cast<size_t>(i) == string::npos) { |
267 |
|
sprintf(painCave.errMsg, |
268 |
|
"SimCreator: File: %s is not an OOPSE file!\n", |
269 |
|
mdFileName.c_str()); |
329 |
|
Globals* simParams = parseFile(rawMetaDataStream, mdFileName, metaDataBlockStart+1); |
330 |
|
|
331 |
|
//create the force field |
332 |
< |
ForceField * ff = ForceFieldFactory::getInstance() |
333 |
< |
->createForceField(simParams->getForceField()); |
335 |
< |
|
332 |
> |
ForceField * ff = ForceFieldFactory::getInstance()->createForceField(simParams->getForceField()); |
333 |
> |
|
334 |
|
if (ff == NULL) { |
335 |
|
sprintf(painCave.errMsg, |
336 |
|
"ForceField Factory can not create %s force field\n", |
393 |
|
//responsibility to LocalIndexManager. |
394 |
|
setGlobalIndex(info); |
395 |
|
|
396 |
< |
//Although addExcludePairs is called inside SimInfo's addMolecule |
396 |
> |
//Although addInteractionPairs is called inside SimInfo's addMolecule |
397 |
|
//method, at that point atoms don't have the global index yet |
398 |
|
//(their global index are all initialized to -1). Therefore we |
399 |
< |
//have to call addExcludePairs explicitly here. A way to work |
399 |
> |
//have to call addInteractionPairs explicitly here. A way to work |
400 |
|
//around is that we can determine the beginning global indices of |
401 |
|
//atoms before they get created. |
402 |
|
SimInfo::MoleculeIterator mi; |
403 |
|
Molecule* mol; |
404 |
|
for (mol= info->beginMolecule(mi); mol != NULL; mol = info->nextMolecule(mi)) { |
405 |
< |
info->addExcludePairs(mol); |
405 |
> |
info->addInteractionPairs(mol); |
406 |
|
} |
407 |
|
|
408 |
|
if (loadInitCoords) |
589 |
|
info->setMolToProcMap(molToProcMap); |
590 |
|
sprintf(checkPointMsg, |
591 |
|
"Successfully divided the molecules among the processors.\n"); |
592 |
< |
MPIcheckPoint(); |
592 |
> |
errorCheckPoint(); |
593 |
|
} |
594 |
|
|
595 |
|
#endif |
775 |
|
startingIndex += numIntegrableObjectsPerMol[i]; |
776 |
|
} |
777 |
|
|
780 |
– |
std::cerr << "nGIO = " << info->getNGlobalIntegrableObjects() << "\n"; |
778 |
|
std::vector<StuntDouble*> IOIndexToIntegrableObject(info->getNGlobalIntegrableObjects(), (StuntDouble*)NULL); |
779 |
|
for (mol = info->beginMolecule(mi); mol != NULL; mol = info->nextMolecule(mi)) { |
780 |
|
int myGlobalIndex = mol->getGlobalIndex(); |
781 |
|
int globalIO = startingIOIndexForMol[myGlobalIndex]; |
785 |
– |
std::cerr << "myGlobalIndex = " << myGlobalIndex << " globalIO = " << globalIO << "\n"; |
782 |
|
for (StuntDouble* integrableObject = mol->beginIntegrableObject(ioi); integrableObject != NULL; |
783 |
|
integrableObject = mol->nextIntegrableObject(ioi)) { |
784 |
|
integrableObject->setGlobalIntegrableObjectIndex(globalIO); |