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 |
|
|
92 |
|
} |
93 |
|
|
94 |
|
strcpy(checkPointMsg, "Dump file opened for reading successfully."); |
95 |
< |
MPIcheckPoint(); |
95 |
> |
errorCheckPoint(); |
96 |
|
|
97 |
|
#endif |
98 |
|
|
113 |
|
} |
114 |
|
|
115 |
|
strcpy(checkPointMsg, "Dump file closed successfully."); |
116 |
< |
MPIcheckPoint(); |
116 |
> |
errorCheckPoint(); |
117 |
|
|
118 |
|
#endif |
119 |
|
|
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) { |