[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.
Mark
More information about the gromacs.org_gmx-users
mailing list