| 49 |  | namespace OpenMD { | 
| 50 |  |  | 
| 51 |  | ForceDecomposition::ForceDecomposition(SimInfo* info, InteractionManager* iMan) : info_(info), interactionMan_(iMan), needVelocities_(false) { | 
| 52 | + |  | 
| 53 |  | sman_ = info_->getSnapshotManager(); | 
| 54 |  | storageLayout_ = sman_->getStorageLayout(); | 
| 55 |  | ff_ = info_->getForceField(); | 
| 99 |  | sdat.atype = atypesLocal[atom1]; | 
| 100 |  |  | 
| 101 |  | sdat.pot = &embeddingPot; | 
| 102 | + | sdat.excludedPot = &excludedSelfPot; | 
| 103 |  |  | 
| 104 |  | if (storageLayout_ & DataStorage::dslElectroFrame) { | 
| 105 |  | sdat.eFrame = &(snap_->atomData.electroFrame[atom1]); | 
| 128 |  | if (storageLayout_ & DataStorage::dslParticlePot) { | 
| 129 |  | sdat.particlePot = &(snap_->atomData.particlePot[atom1]); | 
| 130 |  | } | 
| 131 | + |  | 
| 132 | + | if (storageLayout_ & DataStorage::dslFlucQPosition) { | 
| 133 | + | sdat.flucQ = &(snap_->atomData.flucQPos[atom1]); | 
| 134 | + | } | 
| 135 | + |  | 
| 136 | + | if (storageLayout_ & DataStorage::dslFlucQForce) { | 
| 137 | + | sdat.dVdFQ = &(snap_->atomData.flucQFrc[atom1]); | 
| 138 | + | } | 
| 139 |  | } | 
| 140 |  |  | 
| 141 |  | bool ForceDecomposition::checkNeighborList() { | 
| 173 |  | } | 
| 174 |  |  | 
| 175 |  | void ForceDecomposition::addToHeatFlux(Vector3d hf) { | 
| 176 | < | snap_->frameData.conductiveHeatFlux += hf; | 
| 176 | > | Vector3d chf = snap_->getConductiveHeatFlux(); | 
| 177 | > | chf += hf; | 
| 178 | > | snap_->setConductiveHeatFlux(chf); | 
| 179 |  | } | 
| 180 |  | void ForceDecomposition::setHeatFlux(Vector3d hf) { | 
| 181 | < | snap_->frameData.conductiveHeatFlux = hf; | 
| 181 | > | snap_->setConductiveHeatFlux(hf); | 
| 182 |  | } | 
| 183 |  |  | 
| 184 |  | } |