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

Comparing trunk/src/nonbonded/EAM.cpp (file contents):
Revision 1929 by gezelter, Mon Aug 19 13:12:00 2013 UTC vs.
Revision 2031 by jmichalk, Fri Oct 31 18:40:40 2014 UTC

# Line 107 | Line 107 | namespace OpenMD {
107        zj = r <= ea2.getRcut() ? z2->getValueAt(r) : 0.0;
108  
109        phi = pre11_ * (zi * zj) / r;
110 <
110 >      
111        phivals.push_back(phi);
112      }
113      
113      CubicSpline* cs = new CubicSpline();
114      cs->addPoints(rvals, phivals);
115      return cs;
# Line 309 | Line 308 | namespace OpenMD {
308    void EAM::calcFunctional(SelfData &sdat) {
309      
310      if (!initialized_) initialize();
312
311      EAMAtomData &data1 = EAMdata[ EAMtids[sdat.atid] ];
312              
313      data1.F->getValueAndDerivativeAt( *(sdat.rho), *(sdat.frho), *(sdat.dfrhodrho) );
# Line 333 | Line 331 | namespace OpenMD {
331  
332      int eamtid1 = EAMtids[idat.atid1];
333      int eamtid2 = EAMtids[idat.atid2];
336    
334      EAMAtomData &data1 = EAMdata[eamtid1];
335      EAMAtomData &data2 = EAMdata[eamtid2];
336      
# Line 341 | Line 338 | namespace OpenMD {
338      
339      RealType rci = data1.rcut;
340      RealType rcj = data2.rcut;
341 +
342      
343      RealType rha(0.0), drha(0.0), rhb(0.0), drhb(0.0);
344      RealType pha(0.0), dpha(0.0), phb(0.0), dphb(0.0);
# Line 358 | Line 356 | namespace OpenMD {
356        CubicSpline* phi = MixingMap[eamtid2][eamtid2].phi;
357        phi->getValueAndDerivativeAt( *(idat.rij), phb, dphb);
358      }
361
359      switch(mixMeth_) {
360      case eamJohnson:
364      
361        if ( *(idat.rij) < rci) {
362          phab = phab + 0.5 * (rhb / rha) * pha;
363          dvpdr = dvpdr + 0.5*((rhb/rha)*dpha +
# Line 375 | Line 371 | namespace OpenMD {
371          dvpdr = dvpdr + 0.5 * ((rha/rhb)*dphb +
372                                 phb*((drha/rhb) - (rha*drhb/rhb/rhb)));
373        }
378      
374        break;
380      
375      case eamDaw:
382      
376        if ( *(idat.rij) <  MixingMap[eamtid1][eamtid2].rcut) {
377          MixingMap[eamtid1][eamtid2].phi->getValueAndDerivativeAt( *(idat.rij),
378                                                                    phab, dvpdr);
379        }
387      
380        break;
381      case eamUnknown:
382      default:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines