next up previous
Next: Parallelisation Up: Introduction Previous: Introduction

Numerical Methods

Both codes are pseudospectral - the nonlinear advective terms of the Navier-Stokes equations are evaluated in real space; the necessary transformation to and from wave space is carried out in slices (a one-dimensional domain decomposition), which means that a parallel transpose (all-to-all communication) is required to transform with respect to the remaining direction.

Note that the Navier-Stokes equations are quadratically nonlinear, so this procedure can generate nonzero coefficients for wavenumbers of up to $\pm 2 k_{max}$, where the original wavenumber interval was $[-k_{max}:k_{max}]$. To avoid, when transforming the nonlinear terms back to wave space, the aliasing of any outside this interval to any within, we require that

2 k_{max} - 2 N \le -k_{max} \; \; \mathrm{or} \; \; 2 k_{max} + 2 N \ge k_{max},
\end{displaymath} (1)

and thus

k_{max} \le 2 N/3
\end{displaymath} (2)

Explicit zero padding of the upper third of the spectrum is therefore sufficient to prevent this, and full dealising ($k_{max} = N/2$) is not required. Alternatives (eg. phase shift dealiasing) are less attractive as a result.

R.Johnstone 2012-07-31