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) |
103 |
|
#ifdef IS_MPI |
104 |
|
|
105 |
|
if (worldRank == 0) { |
106 |
< |
#endif |
107 |
< |
|
106 |
> |
#endif |
107 |
> |
|
108 |
|
delete inFile_; |
109 |
|
|
110 |
|
#ifdef IS_MPI |
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 |
|
|
245 |
|
readSet(whichFrame); |
246 |
|
|
247 |
|
if (needCOMprops_) { |
248 |
– |
Snapshot* s = info_->getSnapshotManager()->getCurrentSnapshot(); |
248 |
|
Thermo thermo(info_); |
249 |
|
Vector3d com; |
250 |
|
|
288 |
|
} |
289 |
|
|
290 |
|
int sendBufferSize = sendBuffer.size(); |
291 |
< |
MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); |
292 |
< |
MPI::COMM_WORLD.Bcast((void *)sendBuffer.c_str(), sendBufferSize, |
293 |
< |
MPI::CHAR, masterNode); |
291 |
> |
MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); |
292 |
> |
MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize, |
293 |
> |
MPI_CHAR, masterNode, MPI_COMM_WORLD); |
294 |
|
|
295 |
|
sstream.str(sendBuffer); |
296 |
|
} else { |
297 |
|
int sendBufferSize; |
298 |
< |
MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode); |
298 |
> |
MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); |
299 |
|
char * recvBuffer = new char[sendBufferSize+1]; |
300 |
|
assert(recvBuffer); |
301 |
|
recvBuffer[sendBufferSize] = '\0'; |
302 |
< |
MPI::COMM_WORLD.Bcast(recvBuffer, sendBufferSize, MPI::CHAR, masterNode); |
302 |
> |
MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); |
303 |
|
sstream.str(recvBuffer); |
304 |
|
delete [] recvBuffer; |
305 |
|
} |
509 |
|
sd->setElectricField(eField); |
510 |
|
break; |
511 |
|
} |
512 |
+ |
case 's' : { |
513 |
+ |
|
514 |
+ |
RealType sPot; |
515 |
+ |
sPot = tokenizer.nextTokenAsDouble(); |
516 |
+ |
sd->setSitePotential(sPot); |
517 |
+ |
break; |
518 |
+ |
} |
519 |
|
default: { |
520 |
|
sprintf(painCave.errMsg, |
521 |
|
"DumpReader Error: %s is an unrecognized type\n", type.c_str()); |
526 |
|
|
527 |
|
} |
528 |
|
} |
523 |
– |
|
529 |
|
} |
530 |
|
|
531 |
|
|
618 |
|
sd->setElectricField(eField); |
619 |
|
break; |
620 |
|
} |
621 |
+ |
case 's' : { |
622 |
+ |
|
623 |
+ |
RealType sPot; |
624 |
+ |
sPot = tokenizer.nextTokenAsDouble(); |
625 |
+ |
sd->setSitePotential(sPot); |
626 |
+ |
break; |
627 |
+ |
} |
628 |
|
default: { |
629 |
|
sprintf(painCave.errMsg, |
630 |
|
"DumpReader Error: %s is an unrecognized type\n", type.c_str()); |
637 |
|
} |
638 |
|
|
639 |
|
|
640 |
< |
void DumpReader::readStuntDoubles(std::istream& inputStream) { |
640 |
> |
void DumpReader::readStuntDoubles(std::istream& inputStream) { |
641 |
|
|
642 |
|
inputStream.getline(buffer, bufferSize); |
643 |
|
std::string line(buffer); |