--- branches/development/src/parallel/ForceDecomposition.cpp 2012/05/24 20:59:54 1723 +++ branches/development/src/parallel/ForceDecomposition.cpp 2012/06/22 20:01:37 1761 @@ -49,6 +49,7 @@ namespace OpenMD { namespace OpenMD { ForceDecomposition::ForceDecomposition(SimInfo* info, InteractionManager* iMan) : info_(info), interactionMan_(iMan), needVelocities_(false) { + sman_ = info_->getSnapshotManager(); storageLayout_ = sman_->getStorageLayout(); ff_ = info_->getForceField(); @@ -98,6 +99,7 @@ namespace OpenMD { sdat.atype = atypesLocal[atom1]; sdat.pot = &embeddingPot; + sdat.excludedPot = &excludedSelfPot; if (storageLayout_ & DataStorage::dslElectroFrame) { sdat.eFrame = &(snap_->atomData.electroFrame[atom1]); @@ -126,6 +128,14 @@ namespace OpenMD { if (storageLayout_ & DataStorage::dslParticlePot) { sdat.particlePot = &(snap_->atomData.particlePot[atom1]); } + + if (storageLayout_ & DataStorage::dslFlucQPosition) { + sdat.flucQ = &(snap_->atomData.flucQPos[atom1]); + } + + if (storageLayout_ & DataStorage::dslFlucQForce) { + sdat.dVdFQ = &(snap_->atomData.flucQFrc[atom1]); + } } bool ForceDecomposition::checkNeighborList() { @@ -163,10 +173,12 @@ namespace OpenMD { } void ForceDecomposition::addToHeatFlux(Vector3d hf) { - snap_->frameData.conductiveHeatFlux += hf; + Vector3d chf = snap_->getConductiveHeatFlux(); + chf += hf; + snap_->setConductiveHeatFlux(chf); } void ForceDecomposition::setHeatFlux(Vector3d hf) { - snap_->frameData.conductiveHeatFlux = hf; + snap_->setConductiveHeatFlux(hf); } }