| 155 | 
  | 
    Molecule::BondIterator bondIter;; | 
| 156 | 
  | 
    Molecule::BendIterator  bendIter; | 
| 157 | 
  | 
    Molecule::TorsionIterator  torsionIter; | 
| 158 | 
< | 
    double bondPotential = 0.0; | 
| 159 | 
< | 
    double bendPotential = 0.0; | 
| 160 | 
< | 
    double torsionPotential = 0.0; | 
| 158 | 
> | 
    RealType bondPotential = 0.0; | 
| 159 | 
> | 
    RealType bendPotential = 0.0; | 
| 160 | 
> | 
    RealType torsionPotential = 0.0; | 
| 161 | 
  | 
 | 
| 162 | 
  | 
    //calculate short range interactions     | 
| 163 | 
  | 
    for (mol = info_->beginMolecule(mi); mol != NULL; mol = info_->nextMolecule(mi)) { | 
| 175 | 
  | 
 | 
| 176 | 
  | 
      for (bend = mol->beginBend(bendIter); bend != NULL; bend = mol->nextBend(bendIter)) { | 
| 177 | 
  | 
 | 
| 178 | 
< | 
          double angle; | 
| 178 | 
> | 
          RealType angle; | 
| 179 | 
  | 
            bend->calcForce(angle); | 
| 180 | 
< | 
          double currBendPot = bend->getPotential();           | 
| 180 | 
> | 
          RealType currBendPot = bend->getPotential();           | 
| 181 | 
  | 
            bendPotential += bend->getPotential(); | 
| 182 | 
  | 
          std::map<Bend*, BendDataSet>::iterator i = bendDataSets.find(bend); | 
| 183 | 
  | 
          if (i == bendDataSets.end()) { | 
| 196 | 
  | 
      } | 
| 197 | 
  | 
 | 
| 198 | 
  | 
      for (torsion = mol->beginTorsion(torsionIter); torsion != NULL; torsion = mol->nextTorsion(torsionIter)) { | 
| 199 | 
< | 
        double angle; | 
| 199 | 
> | 
        RealType angle; | 
| 200 | 
  | 
          torsion->calcForce(angle); | 
| 201 | 
< | 
        double currTorsionPot = torsion->getPotential(); | 
| 201 | 
> | 
        RealType currTorsionPot = torsion->getPotential(); | 
| 202 | 
  | 
          torsionPotential += torsion->getPotential(); | 
| 203 | 
  | 
          std::map<Torsion*, TorsionDataSet>::iterator i = torsionDataSets.find(torsion); | 
| 204 | 
  | 
          if (i == torsionDataSets.end()) { | 
| 218 | 
  | 
 | 
| 219 | 
  | 
    } | 
| 220 | 
  | 
     | 
| 221 | 
< | 
    double  shortRangePotential = bondPotential + bendPotential + torsionPotential;     | 
| 221 | 
> | 
    RealType  shortRangePotential = bondPotential + bendPotential + torsionPotential;     | 
| 222 | 
  | 
    Snapshot* curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot(); | 
| 223 | 
  | 
    curSnapshot->statData[Stats::SHORT_RANGE_POTENTIAL] = shortRangePotential; | 
| 224 | 
  | 
    curSnapshot->statData[Stats::BOND_POTENTIAL] = bondPotential; | 
| 230 | 
  | 
  void ForceManager::calcLongRangeInteraction(bool needPotential, bool needStress) { | 
| 231 | 
  | 
    Snapshot* curSnapshot; | 
| 232 | 
  | 
    DataStorage* config; | 
| 233 | 
< | 
    double* frc; | 
| 234 | 
< | 
    double* pos; | 
| 235 | 
< | 
    double* trq; | 
| 236 | 
< | 
    double* A; | 
| 237 | 
< | 
    double* electroFrame; | 
| 238 | 
< | 
    double* rc; | 
| 233 | 
> | 
    RealType* frc; | 
| 234 | 
> | 
    RealType* pos; | 
| 235 | 
> | 
    RealType* trq; | 
| 236 | 
> | 
    RealType* A; | 
| 237 | 
> | 
    RealType* electroFrame; | 
| 238 | 
> | 
    RealType* rc; | 
| 239 | 
  | 
     | 
| 240 | 
  | 
    //get current snapshot from SimInfo | 
| 241 | 
  | 
    curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot(); | 
| 272 | 
  | 
    } | 
| 273 | 
  | 
   | 
| 274 | 
  | 
    //initialize data before passing to fortran | 
| 275 | 
< | 
    double longRangePotential[LR_POT_TYPES]; | 
| 276 | 
< | 
    double lrPot = 0.0; | 
| 275 | 
> | 
    RealType longRangePotential[LR_POT_TYPES]; | 
| 276 | 
> | 
    RealType lrPot = 0.0; | 
| 277 | 
  | 
     | 
| 278 | 
  | 
    Mat3x3d tau; | 
| 279 | 
  | 
    short int passedCalcPot = needPotential; |