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 , where the original wavenumber interval was . To avoid, when transforming the nonlinear terms back to wave space, the aliasing of any outside this interval to any within, we require that
(1) |
and thus
(2) |
Explicit zero padding of the upper third of the spectrum is therefore sufficient to prevent this, and full dealising () is not required. Alternatives (eg. phase shift dealiasing) are less attractive as a result.