ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/ForceManager.cpp
(Generate patch)

Comparing trunk/src/brains/ForceManager.cpp (file contents):
Revision 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 1896 by gezelter, Tue Jul 2 20:02:31 2013 UTC

# Line 695 | Line 695 | namespace OpenMD {
695      RealType vij;
696      Vector3d fij, fg, f1;
697      tuple3<RealType, RealType, RealType> cuts;
698 <    RealType rCutSq;
698 >    RealType rCut, rCutSq, rListSq;
699      bool in_switching_region;
700      RealType sw, dswdr, swderiv;
701      vector<int> atomListColumn, atomListRow;
# Line 705 | Line 705 | namespace OpenMD {
705      RealType vpair;
706      RealType dVdFQ1(0.0);
707      RealType dVdFQ2(0.0);
708    Vector3d eField1(0.0);
709    Vector3d eField2(0.0);
708      potVec longRangePotential(0.0);
709      potVec workPot(0.0);
710      potVec exPot(0.0);
711 +    Vector3d eField1(0.0);
712 +    Vector3d eField2(0.0);
713      vector<int>::iterator ia, jb;
714  
715      int loopStart, loopEnd;
716 <
716 >    
717 >    idat.rcut = &rCut;
718      idat.vdwMult = &vdwMult;
719      idat.electroMult = &electroMult;
720      idat.pot = &workPot;
# Line 746 | Line 747 | namespace OpenMD {
747          if (update_nlist) {
748            if (!usePeriodicBoundaryConditions_)
749              Mat3x3d bbox = thermo->getBoundingBox();
750 <          neighborList = fDecomp_->buildNeighborList();
750 >          fDecomp_->buildNeighborList(neighborList_);
751          }
752        }
753  
754 <      for (vector<pair<int, int> >::iterator it = neighborList.begin();
755 <             it != neighborList.end(); ++it) {
754 >      for (vector<pair<int, int> >::iterator it = neighborList_.begin();
755 >             it != neighborList_.end(); ++it) {
756                  
757          cg1 = (*it).first;
758          cg2 = (*it).second;
759          
760 <        cuts = fDecomp_->getGroupCutoffs(cg1, cg2);
760 >        fDecomp_->getGroupCutoffs(cg1, cg2, rCut, rCutSq, rListSq);
761  
762          d_grp  = fDecomp_->getIntergroupVector(cg1, cg2);
763  
764 <        curSnapshot->wrapVector(d_grp);        
764 >        // already wrapped in the getIntergroupVector call:
765 >        // curSnapshot->wrapVector(d_grp);        
766          rgrpsq = d_grp.lengthSquare();
765        rCutSq = cuts.second;
767  
768          if (rgrpsq < rCutSq) {
769 <          idat.rcut = &cuts.first;
769 >
770            if (iLoop == PAIR_LOOP) {
771              vij = 0.0;
772              fij.zero();
# Line 918 | Line 919 | namespace OpenMD {
919          }
920        }
921      }
922 <  
922 >    
923      // collects pairwise information
924      fDecomp_->collectData();
925          

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines