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 1572 by gezelter, Sun May 29 01:49:17 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();
54 +    userChoseCutoff_ = false;
55  
56      Globals* simParams_ = info_->getSimParams();    
57    
# Line 86 | 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 109 | Line 112 | namespace OpenMD {
112        sdat.dfrhodrho = &(snap_->atomData.functionalDerivative[atom1]);
113      }
114  
115 <    return sdat;    
115 >    if (storageLayout_ & DataStorage::dslParticlePot) {
116 >      sdat.particlePot = &(snap_->atomData.particlePot[atom1]);
117 >    }
118    }
119  
120    bool ForceDecomposition::checkNeighborList() {
# Line 119 | 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 137 | 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