| 43 | 
  | 
#define _LARGEFILE_SOURCE64  | 
| 44 | 
  | 
#define _FILE_OFFSET_BITS 64  | 
| 45 | 
  | 
  | 
| 46 | 
+ | 
#ifdef IS_MPI  | 
| 47 | 
+ | 
#include <mpi.h>  | 
| 48 | 
+ | 
#endif | 
| 49 | 
+ | 
  | 
| 50 | 
  | 
#include <sys/types.h>  | 
| 51 | 
  | 
#include <sys/stat.h>  | 
| 52 | 
  | 
  | 
| 64 | 
  | 
#include "utils/StringTokenizer.hpp"  | 
| 65 | 
  | 
#include "brains/Thermo.hpp" | 
| 66 | 
  | 
  | 
| 63 | 
– | 
#ifdef IS_MPI  | 
| 64 | 
– | 
#include <mpi.h>  | 
| 65 | 
– | 
#endif | 
| 67 | 
  | 
  | 
| 67 | 
– | 
  | 
| 68 | 
  | 
namespace OpenMD {  | 
| 69 | 
  | 
    | 
| 70 | 
  | 
  DumpReader::DumpReader(SimInfo* info, const std::string& filename)  | 
| 203 | 
  | 
#ifdef IS_MPI  | 
| 204 | 
  | 
    }  | 
| 205 | 
  | 
      | 
| 206 | 
< | 
    MPI::COMM_WORLD.Bcast(&nframes_, 1, MPI::INT, 0);  | 
| 206 | 
> | 
    MPI_Bcast(&nframes_, 1, MPI_INT, 0, MPI_COMM_WORLD);  | 
| 207 | 
  | 
     | 
| 208 | 
  | 
#endif // is_mpi  | 
| 209 | 
  | 
     | 
| 289 | 
  | 
      } | 
| 290 | 
  | 
 | 
| 291 | 
  | 
      int sendBufferSize = sendBuffer.size(); | 
| 292 | 
< | 
      MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode);      | 
| 293 | 
< | 
      MPI::COMM_WORLD.Bcast((void *)sendBuffer.c_str(), sendBufferSize,  | 
| 294 | 
< | 
                            MPI::CHAR, masterNode);      | 
| 292 | 
> | 
      MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD);      | 
| 293 | 
> | 
      MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize,  | 
| 294 | 
> | 
                MPI_CHAR, masterNode, MPI_COMM_WORLD);      | 
| 295 | 
  | 
       | 
| 296 | 
  | 
      sstream.str(sendBuffer); | 
| 297 | 
  | 
    } else { | 
| 298 | 
  | 
      int sendBufferSize; | 
| 299 | 
< | 
      MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); | 
| 299 | 
> | 
      MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); | 
| 300 | 
  | 
      char * recvBuffer = new char[sendBufferSize+1]; | 
| 301 | 
  | 
      assert(recvBuffer); | 
| 302 | 
  | 
      recvBuffer[sendBufferSize] = '\0'; | 
| 303 | 
< | 
      MPI::COMM_WORLD.Bcast(recvBuffer, sendBufferSize, MPI::CHAR, masterNode); | 
| 303 | 
> | 
      MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); | 
| 304 | 
  | 
      sstream.str(recvBuffer); | 
| 305 | 
  | 
      delete [] recvBuffer; | 
| 306 | 
  | 
    }       | 
| 508 | 
  | 
           eField[1] = tokenizer.nextTokenAsDouble();  | 
| 509 | 
  | 
           eField[2] = tokenizer.nextTokenAsDouble();            | 
| 510 | 
  | 
           sd->setElectricField(eField);           | 
| 511 | 
+ | 
           break; | 
| 512 | 
+ | 
        } | 
| 513 | 
+ | 
        case 's' : { | 
| 514 | 
+ | 
 | 
| 515 | 
+ | 
           RealType sPot; | 
| 516 | 
+ | 
           sPot = tokenizer.nextTokenAsDouble();  | 
| 517 | 
+ | 
           sd->setSitePotential(sPot);           | 
| 518 | 
  | 
           break; | 
| 519 | 
  | 
        } | 
| 520 | 
  | 
        default: { | 
| 527 | 
  | 
 | 
| 528 | 
  | 
      } | 
| 529 | 
  | 
    } | 
| 523 | 
– | 
      | 
| 530 | 
  | 
  }  | 
| 531 | 
  | 
    | 
| 532 | 
  | 
 | 
| 566 | 
  | 
    if (i >> siteIndex) { | 
| 567 | 
  | 
      // chew up this token and parse as an int: | 
| 568 | 
  | 
      siteIndex = tokenizer.nextTokenAsInt(); | 
| 569 | 
< | 
      RigidBody* rb = static_cast<RigidBody*>(sd); | 
| 570 | 
< | 
      sd = rb->getAtoms()[siteIndex]; | 
| 569 | 
> | 
 | 
| 570 | 
> | 
      if (sd->isRigidBody()) { | 
| 571 | 
> | 
        RigidBody* rb = static_cast<RigidBody*>(sd); | 
| 572 | 
> | 
        sd = rb->getAtoms()[siteIndex]; | 
| 573 | 
> | 
      } | 
| 574 | 
  | 
    } | 
| 575 | 
  | 
 | 
| 576 | 
  | 
    /** | 
| 619 | 
  | 
        sd->setElectricField(eField);           | 
| 620 | 
  | 
        break; | 
| 621 | 
  | 
      } | 
| 622 | 
+ | 
      case 's' : { | 
| 623 | 
+ | 
         | 
| 624 | 
+ | 
        RealType sPot; | 
| 625 | 
+ | 
        sPot = tokenizer.nextTokenAsDouble();  | 
| 626 | 
+ | 
        sd->setSitePotential(sPot);           | 
| 627 | 
+ | 
        break; | 
| 628 | 
+ | 
      } | 
| 629 | 
  | 
      default: { | 
| 630 | 
  | 
        sprintf(painCave.errMsg,  | 
| 631 | 
  | 
                "DumpReader Error: %s is an unrecognized type\n", type.c_str());  | 
| 638 | 
  | 
  }  | 
| 639 | 
  | 
   | 
| 640 | 
  | 
   | 
| 641 | 
< | 
  void  DumpReader::readStuntDoubles(std::istream& inputStream) { | 
| 641 | 
> | 
    void  DumpReader::readStuntDoubles(std::istream& inputStream) { | 
| 642 | 
  | 
     | 
| 643 | 
  | 
    inputStream.getline(buffer, bufferSize); | 
| 644 | 
  | 
    std::string line(buffer); |