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

Comparing branches/development/src/brains/ForceManager.cpp (file contents):
Revision 1744 by gezelter, Tue Jun 5 18:07:08 2012 UTC vs.
Revision 1756 by gezelter, Mon Jun 18 18:23:20 2012 UTC

# Line 110 | Line 110 | namespace OpenMD {
110      Globals* simParams_ = info_->getSimParams();
111      ForceFieldOptions& forceFieldOptions_ = forceField_->getForceFieldOptions();
112      int mdFileVersion;
113 +    rCut_ = 0.0; //Needs a value for a later max() call;  
114      
115      if (simParams_->haveMDfileVersion())
116        mdFileVersion = simParams_->getMDfileVersion();
# Line 672 | Line 673 | namespace OpenMD {
673      } else {
674        loopStart = PAIR_LOOP;
675      }
675  
676      for (int iLoop = loopStart; iLoop <= loopEnd; iLoop++) {
677      
678        if (iLoop == loopStart) {
# Line 704 | Line 704 | namespace OpenMD {
704            
705            in_switching_region = switcher_->getSwitch(rgrpsq, sw, dswdr,
706                                                       rgrp);
707 <          
707 >
708            atomListRow = fDecomp_->getAtomsInGroupRow(cg1);
709            atomListColumn = fDecomp_->getAtomsInGroupColumn(cg2);
710  
711            if (doHeatFlux_)
712              gvel2 = fDecomp_->getGroupVelocityColumn(cg2);
713 <        
713 >
714            for (ia = atomListRow.begin();
715                 ia != atomListRow.end(); ++ia) {            
716              atom1 = (*ia);
717 <            
717 >
718              for (jb = atomListColumn.begin();
719                   jb != atomListColumn.end(); ++jb) {              
720                atom2 = (*jb);
721  
722 <              if (!fDecomp_->skipAtomPair(atom1, atom2)) {
722 >              if (!fDecomp_->skipAtomPair(atom1, atom2, cg1, cg2)) {
723 >
724                  vpair = 0.0;
725                  workPot = 0.0;
726                  f1 = V3Zero;
# Line 727 | Line 728 | namespace OpenMD {
728                  dVdFQ2 = 0.0;
729  
730                  fDecomp_->fillInteractionData(idat, atom1, atom2);
731 <                
731 >
732                  topoDist = fDecomp_->getTopologicalDistance(atom1, atom2);
733                  vdwMult = vdwScale_[topoDist];
734                  electroMult = electrostaticScale_[topoDist];
# Line 843 | Line 844 | namespace OpenMD {
844        }
845      }
846      
847 +    // collects pairwise information
848      fDecomp_->collectData();
849          
850      if (info_->requiresSelfCorrection()) {
851 <
850 <      for (int atom1 = 0; atom1 < info_->getNAtoms(); atom1++) {          
851 >      for (int atom1 = 0; atom1 < info_->getNAtoms(); atom1++) {
852          fDecomp_->fillSelfData(sdat, atom1);
853          interactionMan_->doSelfCorrection(sdat);
854        }
854
855      }
856  
857 +    // collects single-atom information
858 +    fDecomp_->collectSelfData();
859 +
860      longRangePotential = *(fDecomp_->getEmbeddingPotential()) +
861        *(fDecomp_->getPairwisePotential());
862  
# Line 885 | Line 888 | namespace OpenMD {
888      }
889      
890   #ifdef IS_MPI
888
891      MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, stressTensor.getArrayPointer(), 9,
892                                MPI::REALTYPE, MPI::SUM);
893   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines