--- trunk/OOPSE-4/src/brains/ForceManager.cpp 2005/10/12 21:57:16 2363 +++ trunk/OOPSE-4/src/brains/ForceManager.cpp 2005/10/19 16:49:59 2387 @@ -128,13 +128,34 @@ namespace oopse { } - double shortRangePotential = 0.0; + + double bondPotential = 0.0; + double bendPotential = 0.0; + double torsionPotential = 0.0; + for (mol = info_->beginMolecule(mi); mol != NULL; mol = info_->nextMolecule(mi)) { - shortRangePotential += mol->getPotential(); - } + for (bond = mol->beginBond(bondIter); bond != NULL; bond = mol->nextBond(bondIter)) { + bondPotential += bond->getPotential(); + } + + for (bend = mol->beginBend(bendIter); bend != NULL; bend = mol->nextBend(bendIter)) { + bendPotential += bend->getPotential(); + } + + for (torsion = mol->beginTorsion(torsionIter); torsion != NULL; torsion = mol->nextTorsion(torsionIter)) { + torsionPotential += torsion->getPotential(); + } + + } + + double shortRangePotential = bondPotential + bendPotential + torsionPotential; Snapshot* curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot(); curSnapshot->statData[Stats::SHORT_RANGE_POTENTIAL] = shortRangePotential; + curSnapshot->statData[Stats::BOND_POTENTIAL] = bondPotential; + curSnapshot->statData[Stats::BEND_POTENTIAL] = bendPotential; + curSnapshot->statData[Stats::DIHEDRAL_POTENTIAL] = torsionPotential; + } void ForceManager::calcLongRangeInteraction(bool needPotential, bool needStress) { @@ -221,6 +242,9 @@ namespace oopse { //store the tau and long range potential curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL] = lrPot; // curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL] = longRangePotential; + curSnapshot->statData[Stats::VANDERWAALS_POTENTIAL] = longRangePotential[VDW_POT]; + curSnapshot->statData[Stats::ELECTROSTATIC_POTENTIAL] = longRangePotential[ELECTROSTATIC_POT]; + curSnapshot->statData.setTau(tau); }