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

Comparing branches/development/src/parallel/ForceDecomposition.cpp (file contents):
Revision 1576 by gezelter, Wed Jun 8 16:05:07 2011 UTC vs.
Revision 1583 by gezelter, Thu Jun 16 22:00:08 2011 UTC

# Line 47 | Line 47 | namespace OpenMD {
47   using namespace std;
48   namespace OpenMD {
49  
50 <  ForceDecomposition::ForceDecomposition(SimInfo* info) : info_(info) {
50 >  ForceDecomposition::ForceDecomposition(SimInfo* info, InteractionManager* iMan) : info_(info), interactionMan_(iMan) {
51      sman_ = info_->getSnapshotManager();
52      storageLayout_ = sman_->getStorageLayout();
53      ff_ = info_->getForceField();
# Line 87 | Line 87 | namespace OpenMD {
87      cellOffsets_.push_back( Vector3i(1, -1,1) );
88    }
89  
90 <  SelfData ForceDecomposition::fillSelfData(int atom1) {
91 <    SelfData sdat;
92 <    // Still Missing atype, skippedCharge, potVec pot,
90 >  void ForceDecomposition::fillSelfData(SelfData &sdat, int atom1) {
91 >
92 >    sdat.atype = ff_->getAtomType(idents[atom1]);
93 >        
94 >    // Still Missing skippedCharge
95      if (storageLayout_ & DataStorage::dslElectroFrame) {
96        sdat.eFrame = &(snap_->atomData.electroFrame[atom1]);
97      }
# Line 113 | Line 115 | namespace OpenMD {
115      if (storageLayout_ & DataStorage::dslParticlePot) {
116        sdat.particlePot = &(snap_->atomData.particlePot[atom1]);
117      }
116
117    return sdat;    
118    }
119  
120    bool ForceDecomposition::checkNeighborList() {
# Line 124 | Line 124 | namespace OpenMD {
124      // if we have changed the group identities or haven't set up the
125      // saved positions we automatically will need a neighbor list update:
126  
127 <    if ( saved_CG_positions_.size() != nGroups ) return true;
127 >    if ( saved_CG_positions_.size() != nGroups ) {
128 >      cerr << "build because size\n";
129 >      return true;
130 >    }
131  
132      RealType dispmax = 0.0;
133      Vector3d disp;    
# Line 142 | Line 145 | namespace OpenMD {
145      // a conservative test of list skin crossings
146      dispmax = 2.0 * sqrt (3.0 * dispmax * dispmax);
147  
148 <    return (dispmax > skinThickness_);    
148 >
149 >    if (dispmax > skinThickness_) {
150 >      cerr << "build because movement\n";
151 >      return (dispmax > skinThickness_);  
152 >    } else {
153 >      cerr << "not rebuilding\n";
154 >    }
155 >    return false;
156    }
157   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines