--- branches/development/src/primitives/StuntDouble.cpp 2011/11/22 20:38:56 1665 +++ branches/development/src/primitives/StuntDouble.cpp 2013/01/25 15:21:04 1839 @@ -62,9 +62,18 @@ namespace OpenMD { } void StuntDouble::zeroForcesAndTorques() { - setFrc(V3Zero); - setTrq(V3Zero); - setParticlePot(0.0); + int sl = (snapshotMan_->getCurrentSnapshot()->*storage_).getStorageLayout(); + + if (sl & DataStorage::dslForce) + setFrc(V3Zero); + if (sl & DataStorage::dslTorque) + setTrq(V3Zero); + if (sl & DataStorage::dslParticlePot) + setParticlePot(0.0); + if (sl & DataStorage::dslFlucQForce) + setFlucQFrc(0.0); + if (sl & DataStorage::dslElectricField) + setElectricField(V3Zero); } void StuntDouble::addProperty(GenericData* genData) { properties_.addProperty(genData);