--- trunk/src/io/RestReader.cpp 2010/01/22 21:26:29 1408 +++ trunk/src/io/RestReader.cpp 2014/02/26 14:14:50 1969 @@ -35,11 +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). - * [4] Vardeman & Gezelter, in progress (2009). + * [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 @@ -55,19 +59,14 @@ #include "primitives/Molecule.hpp" #include "utils/simError.h" #include "utils/MemoryUtils.hpp" -#include "utils/StringTokenizer.hpp"the +#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; @@ -81,7 +80,7 @@ namespace OpenMD { prevPos = currPos; bool foundOpenSnapshotTag = false; - + int lineNo = 0; while(!foundOpenSnapshotTag && inFile_->getline(buffer, bufferSize)) { ++lineNo; @@ -96,7 +95,7 @@ namespace OpenMD { #ifdef IS_MPI } - MPI_Bcast(&framePos_, 1, MPI_INT, 0, MPI_COMM_WORLD); + MPI_Bcast(&framePos_, 1, MPI_INT, 0, MPI_COMM_WORLD); #endif // is_mpi } @@ -131,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; } @@ -279,9 +280,9 @@ namespace OpenMD { int index = tokenizer.nextTokenAsInt(); - StuntDouble* integrableObject = info_->getIOIndexToIntegrableObject(index); + StuntDouble* sd = info_->getIOIndexToIntegrableObject(index); - if (integrableObject == NULL) { + if (sd == NULL) { return; } @@ -309,7 +310,7 @@ namespace OpenMD { } case 'q' : { - if (integrableObject->isDirectional()) { + if (sd->isDirectional()) { q[0] = tokenizer.nextTokenAsDouble(); q[1] = tokenizer.nextTokenAsDouble(); @@ -331,7 +332,7 @@ namespace OpenMD { } case 'j' : { Vector3d ji; - if (integrableObject->isDirectional()) { + if (sd->isDirectional()) { ji[0] = tokenizer.nextTokenAsDouble(); ji[1] = tokenizer.nextTokenAsDouble(); ji[2] = tokenizer.nextTokenAsDouble(); @@ -365,8 +366,7 @@ namespace OpenMD { all_pos_[index] = pos; // is this io restrained? - GenericData* data = integrableObject->getPropertyByName("Restraint"); - ObjectRestraint* oRest; + GenericData* data = sd->getPropertyByName("Restraint"); if (data != NULL) { // make sure we can reinterpret the generic data as restraint data: @@ -374,9 +374,9 @@ 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 (integrableObject->isDirectional()) { + if (sd->isDirectional()) { oRest->setReferenceStructure(pos, q.toRotationMatrix3()); } else { oRest->setReferenceStructure(pos);