Pseudo-spectral methods
The idea
Section titled “The idea”A periodic function is a sum of sine waves. Differentiating a sine wave just multiplies it by its wavenumber. So if you store a field as its Fourier coefficients , every spatial derivative is a multiplication:
No finite-difference stencil, no truncation error in the derivative. For smooth fields the error decays faster than any power of the grid spacing. This is called spectral accuracy.
The “pseudo” part
Section titled “The “pseudo” part”Nonlinear terms like are awkward in Fourier space (they become convolutions). So the engine goes back and forth:
- inverse FFT to get on the grid,
- compute pointwise,
- FFT back and multiply by .
That round trip is the pseudo-spectral method. The FFT makes it cost per evaluation.
Grid and wavenumbers
Section titled “Grid and wavenumbers”The engine uses a periodic grid on with points, and wavenumbers in FFT order . Pick large enough that nothing important reaches the boundary, and large enough that the Fourier spectrum of the solution has decayed to round-off before the highest wavenumber.
What is not yet here
Section titled “What is not yet here”- Dealiasing (the 2/3 rule) for strongly nonlinear or under-resolved runs.
- Non-periodic boundaries via Chebyshev or mapped domains.
Both are on the roadmap.