# | Line 70 | Line 70 | namespace oopse { | |
---|---|---|
70 | namespace oopse { | |
71 | ||
72 | DumpReader::DumpReader(SimInfo* info, const std::string& filename) | |
73 | < | : info_(info), filename_(filename), isScanned_(false), nframes_(0) { |
73 | > | : info_(info), filename_(filename), isScanned_(false), nframes_(0), needCOMprops_(false) { |
74 | ||
75 | #ifdef IS_MPI | |
76 | ||
# | Line 92 | Line 92 | namespace oopse { | |
92 | } | |
93 | ||
94 | strcpy(checkPointMsg, "Dump file opened for reading successfully."); | |
95 | < | MPIcheckPoint(); |
95 | > | errorCheckPoint(); |
96 | ||
97 | #endif | |
98 | ||
# | Line 113 | Line 113 | namespace oopse { | |
113 | } | |
114 | ||
115 | strcpy(checkPointMsg, "Dump file closed successfully."); | |
116 | < | MPIcheckPoint(); |
116 | > | errorCheckPoint(); |
117 | ||
118 | #endif | |
119 | ||
# | Line 240 | Line 240 | namespace oopse { | |
240 | } | |
241 | ||
242 | readSet(whichFrame); | |
243 | + | |
244 | + | if (needCOMprops_) { |
245 | + | Snapshot* s = info_->getSnapshotManager()->getCurrentSnapshot(); |
246 | + | Vector3d com; |
247 | + | Vector3d comvel; |
248 | + | Vector3d comw; |
249 | + | if (needPos_ && needVel_){ |
250 | + | info_->getComAll(com, comvel); |
251 | + | comw = info_->getAngularMomentum(); |
252 | + | }else{ |
253 | + | com = info_->getCom(); |
254 | + | comvel = 0.0; |
255 | + | comw = 0.0; |
256 | + | } |
257 | + | s->setCOMprops(com, comvel, comw); |
258 | + | } |
259 | + | |
260 | } | |
261 | ||
262 | void DumpReader::readSet(int whichFrame) { | |
263 | std::string line; | |
264 | ||
265 | #ifndef IS_MPI | |
249 | – | |
266 | inFile_->clear(); | |
267 | inFile_->seekg(framePos_[whichFrame]); | |
268 | ||
# | Line 276 | Line 292 | namespace oopse { | |
292 | MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); | |
293 | ||
294 | sstream.str(sendBuffer); | |
279 | – | std::cerr << sendBuffer; |
295 | } else { | |
296 | int sendBufferSize; | |
297 | MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD); | |
# | Line 339 | Line 354 | namespace oopse { | |
354 | } | |
355 | std::string type = tokenizer.nextToken(); | |
356 | int size = type.size(); | |
357 | + | |
358 | for(int i = 0; i < size; ++i) { | |
359 | switch(type[i]) { | |
360 | ||
# | Line 399 | Line 415 | namespace oopse { | |
415 | integrableObject->setJ(ji); | |
416 | } | |
417 | } | |
418 | + | break; |
419 | } | |
420 | case 'f': { | |
421 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |