For a project in my advanced numerical method class I have to solve the 1D Kuramoto-Sivashinsky equation.

$$ u_t + u u_x + \lambda u_{xx} + \eta u_{xxxx} = 0. $$

As explained here I will solve it using a random initial condition on a periodic support with homogeneous boundary conditions at the inlet and the outlet. I would like to know which is the most suitable method between compact finite differences and spectral methods to solve this equation numerically.

As a general rule, what criteria are used to select one of these methods?

Thanks in advance for your help.

  • $\begingroup$ If this thing develops shocks then you'll want something that upwinds. $\endgroup$
    – user20857
    Jan 19, 2020 at 22:20

1 Answer 1


It's hard to tell from your phrasing and because your link is broken, but are your boundary conditions periodic or not? If the problem is periodic, then spectral methods are the way to go since Fourier series (and their discrete coutnerparts) converge much faster for periodic functions than for more general functions.

For a $1$-D problem like this, a spectral method is pretty easy to code depending on how easy your FFT is to use and you should be able to get accurate results without a ton of Fourier modes. This problem is pretty stiff, so you should take care to choose an ODE solver that can handle such problems, again this is dependent on your programming environment.

  • 1
    $\begingroup$ I fixed the link. Yes I think I will use periodic boundary conditions. Thank for the explanation, that what I thought. $\endgroup$
    – user33890
    Jan 19, 2020 at 19:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.