--- trunk/src/io/DumpReader.cpp 2013/06/16 15:15:42 1879 +++ trunk/src/io/DumpReader.cpp 2014/02/26 14:14:50 1969 @@ -43,6 +43,10 @@ #define _LARGEFILE_SOURCE64 #define _FILE_OFFSET_BITS 64 +#ifdef IS_MPI +#include +#endif + #include #include @@ -59,10 +63,6 @@ #include "utils/MemoryUtils.hpp" #include "utils/StringTokenizer.hpp" #include "brains/Thermo.hpp" - -#ifdef IS_MPI -#include -#endif namespace OpenMD { @@ -203,7 +203,7 @@ namespace OpenMD { #ifdef IS_MPI } - MPI::COMM_WORLD.Bcast(&nframes_, 1, MPI::INT, 0); + MPI_Bcast(&nframes_, 1, MPI_INT, 0, MPI_COMM_WORLD); #endif // is_mpi @@ -289,18 +289,18 @@ namespace OpenMD { } int sendBufferSize = sendBuffer.size(); - MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); - MPI::COMM_WORLD.Bcast((void *)sendBuffer.c_str(), sendBufferSize, - MPI::CHAR, masterNode); + 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::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); + MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); char * recvBuffer = new char[sendBufferSize+1]; assert(recvBuffer); recvBuffer[sendBufferSize] = '\0'; - MPI::COMM_WORLD.Bcast(recvBuffer, sendBufferSize, MPI::CHAR, masterNode); + MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); sstream.str(recvBuffer); delete [] recvBuffer; } @@ -520,7 +520,6 @@ namespace OpenMD { } } - } @@ -560,8 +559,11 @@ namespace OpenMD { if (i >> siteIndex) { // chew up this token and parse as an int: siteIndex = tokenizer.nextTokenAsInt(); - RigidBody* rb = static_cast(sd); - sd = rb->getAtoms()[siteIndex]; + + if (sd->isRigidBody()) { + RigidBody* rb = static_cast(sd); + sd = rb->getAtoms()[siteIndex]; + } } /**