--- trunk/src/io/RestReader.cpp 2010/01/22 21:31:12 1409 +++ branches/development/src/io/RestReader.cpp 2013/05/17 14:41:42 1875 @@ -35,8 +35,9 @@ * * [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). */ @@ -67,7 +68,7 @@ namespace OpenMD { namespace OpenMD { void RestReader::scanFile(){ - int lineNo = 0; + std::streampos prevPos; std::streampos currPos; @@ -81,7 +82,7 @@ namespace OpenMD { prevPos = currPos; bool foundOpenSnapshotTag = false; - + int lineNo = 0; while(!foundOpenSnapshotTag && inFile_->getline(buffer, bufferSize)) { ++lineNo; @@ -96,7 +97,7 @@ namespace OpenMD { #ifdef IS_MPI } - MPI_Bcast(&framePos_, 1, MPI_INT, 0, MPI_COMM_WORLD); + MPI::COMM_WORLD.Bcast(&framePos_, 1, MPI::INT, 0); #endif // is_mpi } @@ -131,17 +132,18 @@ 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::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); + MPI::COMM_WORLD.Bcast((void *)sendBuffer.c_str(), sendBufferSize, + MPI::CHAR, masterNode); sstream.str(sendBuffer); } else { int sendBufferSize; - MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); + MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); char * recvBuffer = new char[sendBufferSize+1]; assert(recvBuffer); recvBuffer[sendBufferSize] = '\0'; - MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); + MPI::COMM_WORLD.Bcast(recvBuffer, sendBufferSize, MPI::CHAR, masterNode); sstream.str(recvBuffer); delete [] recvBuffer; } @@ -279,9 +281,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 +311,7 @@ namespace OpenMD { } case 'q' : { - if (integrableObject->isDirectional()) { + if (sd->isDirectional()) { q[0] = tokenizer.nextTokenAsDouble(); q[1] = tokenizer.nextTokenAsDouble(); @@ -331,7 +333,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 +367,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 +375,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);