--- branches/development/src/brains/BlockSnapshotManager.cpp 2011/11/22 20:38:56 1665 +++ branches/development/src/brains/BlockSnapshotManager.cpp 2013/02/20 15:39:39 1850 @@ -35,7 +35,7 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ @@ -71,7 +71,7 @@ namespace OpenMD { // total number of frames that can fit in memory //RealType frameCapacity = avaliablePhysMem / bytesPerFrame; - RealType frameCapacity = memSize_ / bytesPerFrame; + RealType frameCapacity = (RealType) memSize_ / (RealType) bytesPerFrame; // number of frames in each block given the need to hold multiple blocks // in memory at the same time: @@ -151,7 +151,7 @@ namespace OpenMD { //if number of active blocks is less than the block capacity, just load it internalLoad(block); loadSuccess = true; - } else if (hasZeroRefBlock() > 0) { + } else if ( hasZeroRefBlock() ) { //if already reach the block capacity, need to unload a block with 0 reference int zeroRefBlock = getFirstZeroRefBlock(); assert(zeroRefBlock != -1); @@ -225,17 +225,14 @@ namespace OpenMD { } Snapshot* BlockSnapshotManager::loadFrame(int frame){ - Snapshot* snapshot = new Snapshot(nAtoms_, nRigidBodies_, nCutoffGroups_, getStorageLayout()); + Snapshot* snapshot = new Snapshot(nAtoms_, nRigidBodies_, nCutoffGroups_, + getStorageLayout()); snapshot->setID(frame); + snapshot->clearDerivedProperties(); - /** @todo fixed me */ - Snapshot* oldSnapshot = currentSnapshot_; currentSnapshot_ = snapshot; reader_->readFrame(frame); - // What was this for? It doesn't make sense! - //currentSnapshot_ = oldSnapshot; - return snapshot; }