--- branches/development/src/brains/BlockSnapshotManager.cpp 2011/11/22 20:38:56 1665 +++ branches/development/src/brains/BlockSnapshotManager.cpp 2012/07/06 22:01:58 1767 @@ -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); @@ -227,6 +227,7 @@ namespace OpenMD { Snapshot* BlockSnapshotManager::loadFrame(int frame){ Snapshot* snapshot = new Snapshot(nAtoms_, nRigidBodies_, nCutoffGroups_, getStorageLayout()); snapshot->setID(frame); + snapshot->clearDerivedProperties(); /** @todo fixed me */ Snapshot* oldSnapshot = currentSnapshot_;