[gmx-users] How does fourierspacing correspond to fourier_nx, fourier_ny, and fourier_nz?

Mark Abraham Mark.Abraham at anu.edu.au
Fri Apr 20 16:47:51 CEST 2012

On 21/04/2012 12:33 AM, Andrew DeYoung wrote:
> Hi,
> I am wondering how the fourierspacing parameter corresponds to fourier_nx,
> fourier_ny, and fourier_nz.  The manual
> (http://manual.gromacs.org/current/online/mdp_opt.html#ewald) says, "For
> ordinary Ewald the spacing times the box dimensions determines the highest
> magnitude to use in each direction."  Will you please help me with an
> example of this?
> Suppose I have fourierspacing = 0.24 nm, and my box dimensions are 3.3 nm,
> 3.3 nm, and 30 nm along x, y, and z.  Then what are the values of
> fourier_nx, fourier_ny, and fourier_nz?  fourier_n* is a dimensionless
> integer, and I don't understand how we can get a dimensionless number from
> multiplying two quantities that each have dimensions of nm.  Should I
> actually divide the box dimension by fourierspacing, so that (fourier_nx,
> fourier_ny, and fourier_nz) = (3.3 nm / 0.24 nm, 3.3 nm / 0.24 nm, 30 nm /
> 0.24 nm) = (13.75, 13.75, 125) ~ (14, 14, 125)?  Or am doing this
> incorrectly?

Well spotted - I'll fix both bits of the manual. fourierspacing in fact 
functions in the way you suggest - the ratio of the box size and 
fourierspacing creates a lower bound for the number of grid points that 
will be used in that direction (guaranteeing a minimum accuracy in that 
part of the Ewald approximation). The actual number of grid points used 
will suit various algorithmic details. At high parallelization it can be 
worthwhile to choose fourier_n[xyz] to have common factors with the 
number of processors available to use, and to juggle ewald_rtol and 
rcoulomb to compensate cost and accuracy. See g_tune_pme, g_pme_error 
and other tools.


More information about the gromacs.org_gmx-users mailing list