--- branches/development/src/nonbonded/Sticky.cpp 2012/05/18 21:44:02 1710 +++ branches/development/src/nonbonded/Sticky.cpp 2013/02/20 15:39:39 1850 @@ -35,7 +35,7 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ @@ -86,10 +86,8 @@ namespace OpenMD { painCave.severity = OPENMD_INFO; painCave.isFatal = 0; simError(); - } + } - RealType w0i, v0i, v0pi, rli, rui, rlpi, rupi; - StickyAdapter sticky1 = StickyAdapter(atomType); // Now, iterate over all known types and add to the mixing map: @@ -114,7 +112,7 @@ namespace OpenMD { mixer.rup = 0.5 * ( sticky1.getRup() + sticky2.getRup() ); mixer.rbig = max(mixer.ru, mixer.rup); mixer.w0 = sqrt( sticky1.getW0() * sticky2.getW0() ); - mixer.v0 = sqrt( sticky1.getW0() * sticky2.getV0() ); + mixer.v0 = sqrt( sticky1.getV0() * sticky2.getV0() ); mixer.v0p = sqrt( sticky1.getV0p() * sticky2.getV0p() ); mixer.isPower = sticky1.isStickyPower() && sticky2.isStickyPower(); @@ -235,6 +233,7 @@ namespace OpenMD { } } + RealType wi = 2.0*(xi2-yi2)*zi / r3; RealType wj = 2.0*(xj2-yj2)*zj / r3; RealType w = wi+wj; @@ -286,6 +285,7 @@ namespace OpenMD { 0.0); if (isPower) { + cerr << "This is probably an error!\n"; RealType frac1 = 0.25; RealType frac2 = 0.75; RealType wi2 = wi*wi; @@ -305,6 +305,8 @@ namespace OpenMD { dspdr = 0.0; } + + *(idat.vpair) += RealType(0.5)*(v0*s*w + v0p*sp*wp); (*(idat.pot))[HYDROGENBONDING_FAMILY] += RealType(0.5)*(v0*s*w + v0p*sp*wp)* *(idat.sw) ; @@ -330,7 +332,7 @@ namespace OpenMD { Vector3d fjj = A2trans * radcomj; // now assemble these with the radial-only terms: - + *(idat.f1) += RealType(0.5) * ((v0*dsdr*w + v0p*dspdr*wp) * *(idat.d) / *(idat.rij) + fii - fjj);