Unverified Commit 1db6e419 authored by Chengwen Liu's avatar Chengwen Liu Committed by GitHub
Browse files

Added the W-H combining rule for AMOEBA+ VdW

parent b71e92d9
...@@ -188,7 +188,8 @@ double AmoebaVdwForceImpl::calcDispersionCorrection(const System& system, const ...@@ -188,7 +188,8 @@ double AmoebaVdwForceImpl::calcDispersionCorrection(const System& system, const
// ARITHMETIC = 1 // ARITHMETIC = 1
// GEOMETRIC = 2 // GEOMETRIC = 2
// HARMONIC = 3 // HARMONIC = 3
// HHG = 4 // W-H = 4
// HHG = 5
if (epsilonCombiningRule == "ARITHMETIC") { if (epsilonCombiningRule == "ARITHMETIC") {
epsilon = 0.5f * (iEpsilon + jEpsilon); epsilon = 0.5f * (iEpsilon + jEpsilon);
} else if (epsilonCombiningRule == "GEOMETRIC") { } else if (epsilonCombiningRule == "GEOMETRIC") {
...@@ -199,6 +200,13 @@ double AmoebaVdwForceImpl::calcDispersionCorrection(const System& system, const ...@@ -199,6 +200,13 @@ double AmoebaVdwForceImpl::calcDispersionCorrection(const System& system, const
} else { } else {
epsilon = 0.0; epsilon = 0.0;
} }
} else if (epsilonCombiningRule == "W-H") {
double iSigma3 = iSigma * iSigma * iSigma;
double jSigma3 = jSigma * jSigma * jSigma;
double iSigma6 = iSigma3 * iSigma3;
double jSigma6 = jSigma3 * jSigma3;
double eps_s = std::sqrt(iEpsilon*jEpsilon);
epsilon = (eps_s == 0.0 ? 0.0 : 2.0f*eps_s*iSigma3*jSigma3/(iSigma6 + jSigma6));
} else { } else {
double epsilonS = std::sqrt(iEpsilon) + std::sqrt(jEpsilon); double epsilonS = std::sqrt(iEpsilon) + std::sqrt(jEpsilon);
if (epsilonS != 0.0) { if (epsilonS != 0.0) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment