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

Comparing branches/development/src/nonbonded/LJ.cpp (file contents):
Revision 1505 by gezelter, Sun Oct 3 22:18:59 2010 UTC vs.
Revision 1581 by gezelter, Mon Jun 13 22:13:12 2011 UTC

# Line 240 | Line 240 | namespace OpenMD {
240      }    
241    }
242  
243 <  void LJ::calcForce(InteractionData idat) {
243 >  void LJ::calcForce(InteractionData &idat) {
244      
245      if (!initialized_) initialize();
246      
247    pair<AtomType*, AtomType*> key = make_pair(idat.atype1, idat.atype2);
247      map<pair<AtomType*, AtomType*>, LJInteractionData>::iterator it;
248 <    it = MixingMap.find(key);
248 >    it = MixingMap.find( idat.atypes );
249      
250      if (it != MixingMap.end())  {
251        
# Line 262 | Line 261 | namespace OpenMD {
261        RealType myDeriv = 0.0;
262        RealType myDerivC = 0.0;
263      
264 <      ros = idat.rij * sigmai;
264 >      ros = *(idat.rij) * sigmai;
265        
266 +      cerr << "ros = " << ros << "\n";
267 +      
268        getLJfunc(ros, myPot, myDeriv);
269        
270        if (shiftedPot_) {
271 <        rcos = idat.rcut * sigmai;
271 >        rcos = *(idat.rcut) * sigmai;
272          getLJfunc(rcos, myPotC, myDerivC);
273          myDerivC = 0.0;
274        } else if (LJ::shiftedFrc_) {
275 <        rcos = idat.rcut * sigmai;
275 >        rcos = *(idat.rcut) * sigmai;
276          getLJfunc(rcos, myPotC, myDerivC);
277 <        myPotC = myPotC + myDerivC * (idat.rij - idat.rcut) * sigmai;
277 >        myPotC = myPotC + myDerivC * (*(idat.rij) - *(idat.rcut)) * sigmai;
278        } else {
279          myPotC = 0.0;
280          myDerivC = 0.0;        
281        }
282  
283 <      RealType pot_temp = idat.vdwMult * epsilon * (myPot - myPotC);
284 <      idat.vpair += pot_temp;
285 <      
286 <      RealType dudr = idat.sw * idat.vdwMult * epsilon * (myDeriv -
287 <                                                          myDerivC)*sigmai;
288 <      
289 <      idat.pot += idat.sw * pot_temp;
290 <      idat.f1 = idat.d * dudr / idat.rij;
283 >      cerr << "myPot =  " << myPot << "\n";
284 >      cerr << "myPotC =  " << myPotC << "\n";
285 >      cerr << "myDerivC = " << myDerivC << "\n";
286 >      cerr << "epsilon =  " << epsilon << "\n";
287 >      cerr << "vdwm =  " << *(idat.vdwMult) << "\n";
288 >      cerr << "sw = " << *(idat.sw) << "\n";
289 >      RealType pot_temp = *(idat.vdwMult) * epsilon * (myPot - myPotC);
290 >      *(idat.vpair) += pot_temp;
291        
292 +      RealType dudr = *(idat.sw) * *(idat.vdwMult) * epsilon * (myDeriv -
293 +                                                                myDerivC)*sigmai;
294 +      
295 +      (idat.pot)[VANDERWAALS_FAMILY] += *(idat.sw) * pot_temp;
296 +      *(idat.f1) = *(idat.d) * dudr / *(idat.rij);
297      }
298      return;
299    }
# Line 307 | Line 313 | namespace OpenMD {
313      return;
314    }
315    
316 <  RealType LJ::getSuggestedCutoffRadius(AtomType* at1, AtomType* at2) {
316 >  RealType LJ::getSuggestedCutoffRadius(pair<AtomType*, AtomType*> atypes) {
317      if (!initialized_) initialize();  
312    pair<AtomType*, AtomType*> key = make_pair(at1, at2);
318      map<pair<AtomType*, AtomType*>, LJInteractionData>::iterator it;
319 <    it = MixingMap.find(key);
319 >    it = MixingMap.find(atypes);
320      if (it == MixingMap.end())
321        return 0.0;
322      else  {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines