--- trunk/src/io/RestReader.cpp 2012/08/22 02:28:28 1782 +++ trunk/src/io/RestReader.cpp 2014/03/06 19:34:22 1973 @@ -35,12 +35,15 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ - +#ifdef IS_MPI +#include +#endif + #include #include @@ -59,18 +62,13 @@ #include "utils/StringTokenizer.hpp" #include "restraints/ObjectRestraint.hpp" #include "restraints/MolecularRestraint.hpp" - -#ifdef IS_MPI - -#include -#endif namespace OpenMD { void RestReader::scanFile(){ - int lineNo = 0; + std::streampos prevPos; - std::streampos currPos; + std::streampos currPos; #ifdef IS_MPI @@ -82,7 +80,7 @@ namespace OpenMD { prevPos = currPos; bool foundOpenSnapshotTag = false; - + int lineNo = 0; while(!foundOpenSnapshotTag && inFile_->getline(buffer, bufferSize)) { ++lineNo; @@ -90,14 +88,14 @@ namespace OpenMD { currPos = inFile_->tellg(); if (line.find("")!= std::string::npos) { foundOpenSnapshotTag = true; - framePos_ = prevPos; + framePos_ = (long long) prevPos; } prevPos = currPos; } #ifdef IS_MPI } - MPI_Bcast(&framePos_, 1, MPI_INT, 0, MPI_COMM_WORLD); + MPI_Bcast(&framePos_, 1, MPI_LONG_LONG, 0, MPI_COMM_WORLD); #endif // is_mpi } @@ -132,17 +130,19 @@ namespace OpenMD { } int sendBufferSize = sendBuffer.size(); - MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); - MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); + MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); + MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize, + MPI_CHAR, masterNode, MPI_COMM_WORLD); sstream.str(sendBuffer); } else { int sendBufferSize; - MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); + MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); char * recvBuffer = new char[sendBufferSize+1]; assert(recvBuffer); recvBuffer[sendBufferSize] = '\0'; - MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); + MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, + MPI_COMM_WORLD); sstream.str(recvBuffer); delete [] recvBuffer; } @@ -367,7 +367,6 @@ namespace OpenMD { // is this io restrained? GenericData* data = sd->getPropertyByName("Restraint"); - ObjectRestraint* oRest; if (data != NULL) { // make sure we can reinterpret the generic data as restraint data: @@ -375,7 +374,7 @@ namespace OpenMD { if (restData != NULL) { // make sure we can reinterpet the restraint data as a pointer to // an ObjectRestraint: - oRest = dynamic_cast(restData->getData()); + ObjectRestraint* oRest = dynamic_cast(restData->getData()); if (oRest != NULL) { if (sd->isDirectional()) { oRest->setReferenceStructure(pos, q.toRotationMatrix3());