# | Line 36 | Line 36 | |
---|---|---|
36 | * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | |
37 | * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | |
38 | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). | |
39 | < | * [4] Vardeman & Gezelter, in progress (2009). |
39 | > | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 | > | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 | */ | |
42 | #include <algorithm> | |
43 | #include "brains/BlockSnapshotManager.hpp" | |
# | Line 70 | 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 150 | 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 224 | 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 | ||
230 | – | /** @todo fixed me */ |
231 | – | Snapshot* oldSnapshot = currentSnapshot_; |
233 | currentSnapshot_ = snapshot; | |
234 | reader_->readFrame(frame); | |
235 | ||
235 | – | // What was this for? It doesn't make sense! |
236 | – | //currentSnapshot_ = oldSnapshot; |
237 | – | |
236 | return snapshot; | |
237 | } | |
238 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |