228 |
|
catch (OpenMDException& e) { |
229 |
|
sprintf(painCave.errMsg, |
230 |
|
"%s\n", |
231 |
< |
e.getMessage().c_str()); |
231 |
> |
e.what()); |
232 |
|
painCave.isFatal = 1; |
233 |
|
simError(); |
234 |
|
} |
253 |
|
std::string mdRawData; |
254 |
|
int metaDataBlockStart = -1; |
255 |
|
int metaDataBlockEnd = -1; |
256 |
– |
int i, j; |
256 |
|
streamoff mdOffset; |
257 |
|
int mdFileVersion; |
258 |
|
|
293 |
|
mdFile_.getline(buffer, bufferSize); |
294 |
|
++lineNo; |
295 |
|
std::string line = trimLeftCopy(buffer); |
296 |
< |
i = CaseInsensitiveFind(line, "<OpenMD"); |
297 |
< |
if (static_cast<size_t>(i) == string::npos) { |
296 |
> |
std::size_t i = CaseInsensitiveFind(line, "<OpenMD"); |
297 |
> |
if (i == string::npos) { |
298 |
|
// try the older file strings to see if that works: |
299 |
|
i = CaseInsensitiveFind(line, "<OOPSE"); |
300 |
|
} |
301 |
|
|
302 |
< |
if (static_cast<size_t>(i) == string::npos) { |
302 |
> |
if (i == string::npos) { |
303 |
|
// still no luck! |
304 |
|
sprintf(painCave.errMsg, |
305 |
|
"SimCreator: File: %s is not a valid OpenMD file!\n", |
334 |
|
|
335 |
|
std::string line = trimLeftCopy(buffer); |
336 |
|
if (metaDataBlockStart == -1) { |
337 |
< |
i = CaseInsensitiveFind(line, "<MetaData>"); |
337 |
> |
std::size_t i = CaseInsensitiveFind(line, "<MetaData>"); |
338 |
|
if (i != string::npos) { |
339 |
|
metaDataBlockStart = lineNo; |
340 |
|
mdOffset = mdFile_.tellg(); |
341 |
|
} |
342 |
|
} else { |
343 |
< |
i = CaseInsensitiveFind(line, "</MetaData>"); |
343 |
> |
std::size_t i = CaseInsensitiveFind(line, "</MetaData>"); |
344 |
|
if (i != string::npos) { |
345 |
|
metaDataBlockEnd = lineNo; |
346 |
|
} |
373 |
|
for (int i = 0; i < metaDataBlockEnd - metaDataBlockStart - 1; ++i) { |
374 |
|
mdFile_.getline(buffer, bufferSize); |
375 |
|
std::string line = trimLeftCopy(buffer); |
376 |
< |
j = CaseInsensitiveFind(line, "## Last run using OpenMD Version"); |
377 |
< |
if (static_cast<size_t>(j) != string::npos) { |
376 |
> |
std::size_t j = CaseInsensitiveFind(line, |
377 |
> |
"## Last run using OpenMD Version"); |
378 |
> |
if (j != string::npos) { |
379 |
|
foundVersion = true; |
380 |
|
mdRawData += version; |
381 |
|
} else { |
785 |
|
} |
786 |
|
} |
787 |
|
|
788 |
< |
if (simParams->getOutputElectricField() | simParams->haveElectricField()) { |
788 |
> |
if (simParams->getOutputElectricField() | |
789 |
> |
simParams->haveElectricField() | simParams->haveUniformField() | |
790 |
> |
simParams->haveUniformGradientStrength() | |
791 |
> |
simParams->haveUniformGradientDirection1() | |
792 |
> |
simParams->haveUniformGradientDirection2() ) { |
793 |
|
storageLayout |= DataStorage::dslElectricField; |
794 |
|
} |
795 |
|
|
833 |
|
int beginBendIndex; |
834 |
|
int beginTorsionIndex; |
835 |
|
int beginInversionIndex; |
836 |
+ |
#ifdef IS_MPI |
837 |
|
int nGlobalAtoms = info->getNGlobalAtoms(); |
838 |
|
int nGlobalRigidBodies = info->getNGlobalRigidBodies(); |
839 |
+ |
#endif |
840 |
|
|
841 |
|
beginAtomIndex = 0; |
842 |
|
// The rigid body indices begin immediately after the atom indices: |