[gmx-users] Ewald sums too slow?

Vincent Ballenegger vcb25 at cam.ac.uk
Wed Jun 16 13:21:37 CEST 2004

Thanks David and Erik for your replies.

 > My guess would be you are using the default nx=ny=nz=32.
Actually, I get nx=ny=nz=12 when using fourierspacing = 0.12.

 > If memory serves me right (but please check the literature on this),
 > reasonable "normal" numbers are in the order of 5, and in any case I'm
 > pretty sure 32 is massive overkill.

To find the appropriate number of wavevectors to use, I checked the 
convergence of the forces versus fourier_nx, for one frame of my test 
system (64 SPC water molecules). Taking the results for fourier_nx=20 as 
a reference, I got the following standard deviations:
(1) Ewald with fourier_nx = 4: stddev = 1.06
(2) Ewald with fourier_nx = 5: stddev = 0.068
(3) PME with fourierspacing = 0.1, interpolation order 6: stddev = 0.33
(4) PME with fourierspacing = 0.12, interpolation order 6: stddev = 1.27
(5) PME with fourierspacing = 0.12, interpolation order 4: stddev = 4.07

With fourier_nx = 4, the Ewald sums are still about 6 times slower than 
the PME calculations of run #4!

It is very unfortunate that the Ewald sums in gromacs are too slow to be 
used, because the code in pme.c looks very obscure to me.
Actually, I'd like to implement the DEC model of water [J. Chem. Phys. 
114:6720], which is based on SPC but has additional diffuse charges. 
Since these charges have a gaussian distribution, it should be very easy 
to implement, but I don't see how to modify the code in the function 
spread_q_bsplines in pme.c to add gaussian charges in the system.
Any help would be appreciated.


More information about the gromacs.org_gmx-users mailing list