[gmx-users] Electrostatic forces

Mark Abraham Mark.Abraham at anu.edu.au
Wed Jun 17 08:11:14 CEST 2009

Florian Dommert wrote:
> * Mark Abraham <Mark.Abraham at anu.edu.au> [2009-06-17 15:31:43 +1000]:
>> Florian Dommert wrote:
>>> * Mark Abraham <Mark.Abraham at anu.edu.au> [2009-06-17 14:14:22 +1000]:
>>>> Florian Dommert wrote:
>>>>> However I am very confident and in case of success, that there will be
>>>>> soon an error estimate for the Ewald Sum available, which will be 
>>>>> the first
>>>>> step to the an implementation a tuning routine for the SPME 
>>>>> paramters to achieve optimal
>>>>> balance between performance and accuracy ;)
>>>> I've already implemented a version of mdrun that actually computes  
>>>> the  RMS error in the force components under PME, and am planning 
>>>> to  release  it soon.
>>> That is very nice to hear, how do you compute the error ? By 
>>> comparing  to an
>>> Ewald Sum ?
>> Holding beta fixed, I compare force components with those from a  
>> converged real-space summation and high Fourier grid density &  
>> interpolation order.
> So you have to perform a very costly simulation for every system, when
> you gather the reference force ?

Actually, both the reference force run and the parameter scan runs are 
invocations of "mdrun -rerun". I haven't notice the former to be very 
costly, but there's a trade-off involved. To converge the components to 
machine precision might indeed be very costly, but one doesn't need to 
go to that extreme to estimate that the average RMS force error over the 
test trajectory is 1e-4 (or whatever).

> And which beta do you choose, because
> if you take the right choice you can decrease the computational cost
> extremely.

Yep. Having chosen a desired accuracy, you have to scan beta (with 
ewald_rtol and rcoulomb) and then scan the grid densities to find 
point(s) with acceptable accuracy and minimal cost. This is not such an 
extreme problem once you have some guidance from previous optimizations.

> So theoretically at first you have to find the right beta by
> sampling through the corresponding parameter space with a fixed
> Interpolation order and grid size. In the optimal range a change of beta
> within 0.1 will yield a difference in the error of about 10-1 this trend
> continues around +/- 0.5 of the optimal value for beta.

OK, I'll have to take your word for that, since I haven't looked at the 
maths in that detail. It's certainly well-known (e.g. original PME 
papers) that a correct choice of parameters can swing orders of 
magnitude of computational cost for given accuracy, or vice-versa.


More information about the gromacs.org_gmx-users mailing list