# | Line 71 | Line 71 | namespace OpenMD { | |
---|---|---|
71 | ||
72 | // total number of frames that can fit in memory | |
73 | //RealType frameCapacity = avaliablePhysMem / bytesPerFrame; | |
74 | < | RealType frameCapacity = memSize_ / bytesPerFrame; |
74 | > | RealType frameCapacity = (RealType) memSize_ / (RealType) bytesPerFrame; |
75 | ||
76 | // number of frames in each block given the need to hold multiple blocks | |
77 | // in memory at the same time: | |
# | Line 151 | Line 151 | namespace OpenMD { | |
151 | //if number of active blocks is less than the block capacity, just load it | |
152 | internalLoad(block); | |
153 | loadSuccess = true; | |
154 | < | } else if (hasZeroRefBlock() > 0) { |
154 | > | } else if ( hasZeroRefBlock() ) { |
155 | //if already reach the block capacity, need to unload a block with 0 reference | |
156 | int zeroRefBlock = getFirstZeroRefBlock(); | |
157 | assert(zeroRefBlock != -1); | |
# | Line 225 | Line 225 | namespace OpenMD { | |
225 | } | |
226 | ||
227 | Snapshot* BlockSnapshotManager::loadFrame(int frame){ | |
228 | < | Snapshot* snapshot = new Snapshot(nAtoms_, nRigidBodies_, nCutoffGroups_, getStorageLayout()); |
228 | > | Snapshot* snapshot = new Snapshot(nAtoms_, nRigidBodies_, nCutoffGroups_, |
229 | > | getStorageLayout()); |
230 | snapshot->setID(frame); | |
231 | + | snapshot->clearDerivedProperties(); |
232 | ||
231 | – | /** @todo fixed me */ |
232 | – | Snapshot* oldSnapshot = currentSnapshot_; |
233 | currentSnapshot_ = snapshot; | |
234 | reader_->readFrame(frame); | |
235 | ||
236 | – | // What was this for? It doesn't make sense! |
237 | – | //currentSnapshot_ = oldSnapshot; |
238 | – | |
236 | return snapshot; | |
237 | } | |
238 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |