WVGeometryDoublyPeriodic

A domain periodic in both x and y.


Overview

The WVGeometryDoublyPeriodic encapsulates the transformations and logic necessary for computing Fourier transforms and spectral derivatives in a doubly periodic domain.

The class primarily converts between two different data structures for representing functions of (k,l): what we call the “DFT” grid, and the “WV” grid. The DFT grid is appropriate for many FFT algorithms, while the WV grid is ideal for the vertical mode matrix multiplications in the WaveVortexModel, as it contains no redundant coefficients.

The DFT layout is the the matrix structure used by many modern FFT algorithms. For real-valued functions, this format contains twice as much information as necessary, due to Hermitian conjugacy. Additionally, we often want to restrict ourselves to wavenumbers that do not alias with quadratic multiplication (the two-thirds rule). In two dimensions, this means that 4/9ths of the available wavenumbers are aliased. The WV layout thus does not include either the Hermitian conjugates nor the aliased modes.

The basic usage of the indices is as follows: assume wvMatrix and dftMatrix are shaped as

    size(wvMatrix) == [Nkl_wv 1];
    size(dftMatrix) == [Nk_dft Nl_dft]; % (equivalently [Nx Ny]

then to transform data from the DFT matrix to the WV matrix,

    wvMatrix = dftMatrix(dftPrimaryIndices);

and the reverse is

    dftMatrix(dftPrimaryIndices) = wvMatrix;
    dftMatrix(dftConjugateIndices) = conj(wvMatrix(wvConjugateIndex));

Topics