Skip to content
Snippets Groups Projects
Commit 62196b0c authored by Giovanni Bussi's avatar Giovanni Bussi
Browse files

Using faster switching functions in coordination and dhenergy

Coordination is now faster by approx 15% when using even
NN, even MM and d0=0
parent d045337f
No related branches found
No related tags found
No related merge requests found
......@@ -106,7 +106,7 @@ CoordinationBase(ao)
double Coordination::pairing(double distance,double&dfunc,unsigned i,unsigned j)const{
(void) i; // avoid warnings
(void) j; // avoid warnings
return switchingFunction.calculate(distance,dfunc);
return switchingFunction.calculateSqr(distance,dfunc);
}
}
......
......@@ -156,7 +156,7 @@ void CoordinationBase::calculate()
}
double dfunc=0.;
ncoord += pairing(distance.modulo(), dfunc,i0,i1);
ncoord += pairing(distance.modulo2(), dfunc,i0,i1);
deriv[i0] = deriv[i0] + (-dfunc)*distance ;
deriv[i1] = deriv[i1] + dfunc*distance ;
......
......@@ -118,7 +118,8 @@ constant(0.0)
log<<" Bibliography "<<plumed.cite("Do, Carloni, Varani and Bussi, J. Chem. Theory Comput. 9, 1720 (2013)")<<" \n";
}
double DHEnergy::pairing(double distance,double&dfunc,unsigned i,unsigned j)const{
double DHEnergy::pairing(double distance2,double&dfunc,unsigned i,unsigned j)const{
double distance=std::sqrt(distance2);
if(getAbsoluteIndex(i)==getAbsoluteIndex(j)){
dfunc=0.0;
return 0.0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment