[gmx-users] PME accuracy

David spoel at xray.bmc.uu.se
Thu May 8 19:33:01 CEST 2003

On Thu, 2003-05-08 at 17:54, Vincent Ballenegger wrote:
>                  pme_order = 4 for the first curve
>                  pme_order = 6 for the second curve
> We see immediately on the plot that
> 1) the classical Ewald method works and gives a nice smooth curve.
> (I checked that this curve converges to the Coulomb force 1/r^2 when the 
> box size increases.)
> 2) the PME curve with pme_order = 6 falls nicely on the previous curve
> 3) the PME curve with pme_order = 4 is reasonably accurate at short 
> distances, but develops rapidely large oscillations and gets quickly 
> very inaccurate. For example, the relative error in the force is 6% at 
> 1.5nm, 42% at 2.5nm, 110% at 2.84nm !!
Dear Vincent,

thanks for a thorough piece of work. It is important that all GROMACS
users realize that such effects may exists, and understand how the
algorithms work! We don't want to have a black box program.

However.... I'm still puzzled by the results: If you subtract the
order=6 curve from the order=4 curve you have an almost perfect cosine
function, with constant amplitude. Could you please do another set of
tests after modifying and recompiling the code? Modify the pme.c file
around line 3463 (routine gather_f_bsplines)
        if (order == 4) {
          for(ithy=norder; (ithy<norder1); ithy++,j0++) {

change the code to:
        if (order == -1) {
          for(ithy=norder; (ithy<norder1); ithy++,j0++) {

And run the tests again... Just to check that I haven't optimized too
much there...

Groeten, David.
Dr. David van der Spoel, 	Dept. of Cell and Molecular Biology
Husargatan 3, Box 596,  	75124 Uppsala, Sweden
phone:	46 18 471 4205		fax: 46 18 511 755
spoel at xray.bmc.uu.se	spoel at gromacs.org   http://xray.bmc.uu.se/~spoel

More information about the gromacs.org_gmx-users mailing list