[gmx-users] Electrostatic forces
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
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