Commit 4386b1a8 authored by Lee-Ping Wang's avatar Lee-Ping Wang
Browse files

Fixed units for AMOEBA dipole and quadrupole moment (now returns Debye and...

Fixed units for AMOEBA dipole and quadrupole moment (now returns Debye and Debye * Angstrom, not Debye/10 and Debye*Angstrom/100.)  Rationale is that Debye/10 is not a common physical unit.  Note that CUDA platform still gets quadrupole to be incorrect.

parent 624c878f
...@@ -1713,18 +1713,18 @@ void CudaCalcAmoebaMultipoleForceKernel::computeSystemMultipoleMoments(ContextIm ...@@ -1713,18 +1713,18 @@ void CudaCalcAmoebaMultipoleForceKernel::computeSystemMultipoleMoments(ContextIm
double debye = 4.80321; double debye = 4.80321;
outputMultipoleMoments.resize(13); outputMultipoleMoments.resize(13);
outputMultipoleMoments[0] = totalCharge; outputMultipoleMoments[0] = totalCharge;
outputMultipoleMoments[1] = xdpl*debye; outputMultipoleMoments[1] = 10.0*xdpl*debye;
outputMultipoleMoments[2] = ydpl*debye; outputMultipoleMoments[2] = 10.0*ydpl*debye;
outputMultipoleMoments[3] = zdpl*debye; outputMultipoleMoments[3] = 10.0*zdpl*debye;
outputMultipoleMoments[4] = xxqdp*debye; outputMultipoleMoments[4] = 100.0*xxqdp*debye;
outputMultipoleMoments[5] = xyqdp*debye; outputMultipoleMoments[5] = 100.0*xyqdp*debye;
outputMultipoleMoments[6] = xzqdp*debye; outputMultipoleMoments[6] = 100.0*xzqdp*debye;
outputMultipoleMoments[7] = yxqdp*debye; outputMultipoleMoments[7] = 100.0*yxqdp*debye;
outputMultipoleMoments[8] = yyqdp*debye; outputMultipoleMoments[8] = 100.0*yyqdp*debye;
outputMultipoleMoments[9] = yzqdp*debye; outputMultipoleMoments[9] = 100.0*yzqdp*debye;
outputMultipoleMoments[10] = zxqdp*debye; outputMultipoleMoments[10] = 100.0*zxqdp*debye;
outputMultipoleMoments[11] = zyqdp*debye; outputMultipoleMoments[11] = 100.0*zyqdp*debye;
outputMultipoleMoments[12] = zzqdp*debye; outputMultipoleMoments[12] = 100.0*zzqdp*debye;
} }
void CudaCalcAmoebaMultipoleForceKernel::getSystemMultipoleMoments(ContextImpl& context, vector<double>& outputMultipoleMoments) { void CudaCalcAmoebaMultipoleForceKernel::getSystemMultipoleMoments(ContextImpl& context, vector<double>& outputMultipoleMoments) {
......
...@@ -1666,14 +1666,14 @@ void AmoebaReferenceMultipoleForce::calculateAmoebaSystemMultipoleMoments( const ...@@ -1666,14 +1666,14 @@ void AmoebaReferenceMultipoleForce::calculateAmoebaSystemMultipoleMoments( const
outputMultipoleMoments[0] = netchg; outputMultipoleMoments[0] = netchg;
dpl *= debye; dpl *= 10.0*debye;
outputMultipoleMoments[1] = dpl[0]; outputMultipoleMoments[1] = dpl[0];
outputMultipoleMoments[2] = dpl[1]; outputMultipoleMoments[2] = dpl[1];
outputMultipoleMoments[3] = dpl[2]; outputMultipoleMoments[3] = dpl[2];
debye *= 3.0; debye *= 3.0;
for( unsigned int ii = 4; ii < 13; ii++ ){ for( unsigned int ii = 4; ii < 13; ii++ ){
outputMultipoleMoments[ii] *= debye; outputMultipoleMoments[ii] *= 100.0*debye;
} }
return; return;
......
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