Runge-Kutta time stepping any comments?

Most of all of the examples I’ve seen here use Euler but it is possible to
do FEM along time and there is a lot of literature I found, mostly from years
ago combining RK with FEM. Whatever happened to that ?

Thanks.

Backward Euler discretizations are easier to implement and easier to proof mathematical statements.
Nevertheless, in fluid mechanics many people use (Shifted) Crank-Nicolson, Fractional Step Theta, BDF2, or other complicated schemes for time discretization, because backward Euler would damp out the solution too much and would require a very small time step size. There is also a lot of research on RK, IRK, DIRK, … and this is also in my opinion a good option for time discretization. There are also some groups working on finite elements also for the time discretization, either full space-time FEM or tensor-product space-time FEM, but this can be a bit cumbersome to implement.

Most of the methods you are mentioning are implemented inside PETSc TS https://arxiv.org/pdf/1806.01437.pdf which is available within FreeFEM via load "PETSc" + TSSolve().

1 Like

Thanks everyone. I guess in general I like to try to use Fourier or LaPlace methods
and typically they seem to make intuitive sense with differential equations
but they aren’t real good on discontinuities or shock. Right now however conservation
of particles or energy seems to be a bigger concern. I did have a problem conserving
integrated molecule densties ( total particles ) with adpative meshes too.

I want to solve Navier-Stokes equation with Runge-Kutta method and characteristic Galerkin method. For example, the standard RK4 method is: y_{n+1}=y_n+\frac{h}{6}(K_1+2K_2+2K_3+K_4), K_1=f(x_n,y_n), K_2=f(x_n+\frac{h}{2},x_n+\frac{h}{2}K_1),K_3=f(x_n+\frac{h}{2},x_n+\frac{h}{2}K_2),K_4=f(x_n+h,y_n+hK_3).
In FreeFem++ manual, the convection operator convect can be used for the convection term: \begin{aligned} \frac{1}{\tau}\left(u^{n+1}-u^n \circ X^n\right)-\nu \Delta u^{n+1}+\nabla p^{n+1} & =0, \\ \nabla \cdot u^{n+1} & =0\end{aligned}.
How do I combine them?