CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   4th and 5th Order TVD Runge-Kutta Methods (

saygin January 29, 2006 17:53

4th and 5th Order TVD Runge-Kutta Methods
I have a question about 4th and 5th order TVD Runge-Kutta Methods. I'm writing a fortran code in order to solve shock-tube problem, I am using WENO5 Scheme and the Runge-Kutta Method for time advancing. 3rd order TVD RK and 4th order non-TVD RK works well with my code. I want to extend the code for the 4th and 5th order TVD RK methods. The main problem that I came across is finding spatial discretization operators L~(U) which are appearing for these two RK's. With respect to Shu and Osher's paper (1988), Journal of Comp. Phy. 77, 439-471, Eq.2.9, I simply take;

Lu(i,m) = (num_f(i-1,m) - num_f(i,m))/delta_x Lub(i,m) = (num_f(i-2,m) - num_f(i-1,m))/delta_x where Lu(i,m)=L(U) and Lub(i,m)=L~(U)

But Lub vectors aren't working. The question is what are the things that I miss? And how L~(U)'s can be placed in a code?

Thanks in advance.

saygin January 30, 2006 02:49

Re: 4th and 5th Order TVD Runge-Kutta Methods
I have to add something to the question.

The procedure I used above looks so simple to compute L~(U). Because it is simply Lub(i,m) = Lu(i-1,m) and it causes no storage and computation costs, this makes contradiction with the papers. It has to be incorrect.

So does the procedure must be held from the beginning for negative Beta coefficients and how?

Any contributions?

Runge_Kutta January 30, 2006 12:45

Re: 4th and 5th Order TVD Runge-Kutta Methods
Just use the methods in their Butcher array format.

Go find Kraaijevanger's 5-stage, 4th-order method in BIT 1992 and be done with it. Contractivity and monotonicity end up placing the same requirements on methods. See Ferracina and Spijker. Contractivity on nonlinear problems in a max norm is an academic exercise and little else. These schemes offer no discernable advantage over traditional schemes having similar principal error norms and linear stability domains. Put an error controller on the methods. Use a PI or PID controller. You'll also need the embedded method. By the way, it is impossible to meet the requirements of contractivity for ERK methods beyond 4th-order. Also, the only reason to use 5th-order methods is when the error tolerance is extremely tight. Since you don't even determine your error and you are likely at the edge of your stability domain, you have absolutely no need for a 5th-order method. The appropriate order that you choose depends on the accuracy needed.

The best 5th-order method out there is probably by Bogacki and Shampine. There are 5-th order TVD schemes by people like Ruuth and Spiteri. The Bogacki and Shampine method is a much better method, TVD or not. Seriously!!

All times are GMT -4. The time now is 10:11.