CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   extrapolation in MUSCL scheme (

Chandra February 14, 2007 04:10

extrapolation in MUSCL scheme

I am planning to shift to MUSCL scheme in my Energy Equation solver(calculation of T) from upwind scheme (which I am using so far). I went through details and understood almost all the things except one, which is as follows:

To solve, say, "du/dt + df(u)/dx = 0", using MUSCL scheme, one needs to evaluate f[u*_(i+1/2)] and f[u*_(i-1/2)]. Literature says that u*_(i+1/2) = g[u_(1+1/2)_L, u_(1+1/2)_R] and u*_(i-1/2) = g[u_(1-1/2)_L, u_(1-1/2)_R].

For these functions "g()", the reference I got on wikipedia is to use Kurganov and Tadmor central scheme []. But that requires evaluation of spectral radius of "df/du" at different node-points to calculate the local propagation speed. This evaluation of spectral radius seems to be much time consuming.

Could any of you please suggest me any of the following:

1. How to evaluate the local-propagation speed "easily"?

2. Is there any other way to get a reliable function "g()" (instead of Kurganov and Tadmor's scheme).

and at last,

3. If I am wrong somewhere, please suggest me if there is any other way to implement the MUSCL scheme easily. Or, a way to have better solution than the upwind scheme I am using now (I thought of using 3rd order upwind scheme but I rejected the idea because it will get too complex on staggered, non-uniform grids).

Thank you very much in anticipation,

Please help me if you have any experience with using MUSCL,

regards, Chandra

Fuka February 14, 2007 08:04

Re: extrapolation in MUSCL scheme
Karganov -Tadmor is a central scheme. It is more dissipative than upwind schemes but if you want something to be applied easily, I think KT is a good choice. Sometimes you know local speed without computing (for example for 1D Euler eq. it is u-c, u and u+c) you can also use approximation Delta x/ Delta t and than you get Local Lax-Friedrichs (Rusanov) with MUSCL rconstruction, slightly more dissipative then KT. If you don't want to use central schemes, you can employ classical upwind Godunov schemes with Riemann solver. But this is even more time-consuming than computation of local speeds. Of course it has also better accuracy. If you are not developing standard compressible code (or some other hyperbolical c. laws) take a look at the book Drikakis, Rider - High-Resolution Methods for Incompressble and Low Speed Flows.

Maybe in your case it would be better to try QUICK scheme or some monotone version of it.

Chandra February 14, 2007 09:47

Re: extrapolation in MUSCL scheme
hey Fuka,

thank you very much for your response. However, I have few queries. Please enlighten me.

1. The Lax-Friedrichs(LF) scheme seems to be easy to implement. I think it is a kind of Karganov-Tadmor scheme with local speed approximated easily by DELTA x/DELTA t. But as you said, the upwind scheme is less dissipative than KT or LF, if I use this LF with MUSCL reconstruction, is it expected to produce better result than upwind? (For KT in combination with MUSCL, the wikipedia shows very nice results even in case of shock waves: )

2. Are Lax-Friedrichs scheme and Lax-Friedrichs (Rusanov) schemes are same ?? ( )

3. I am using Finite Difference Method (FDM). The MUSCL scheme can be applied for FDM also?? (I heard that MUSCL is for Finite Volume Method).

Thank you once again.



Fuka February 14, 2007 10:04

Re: extrapolation in MUSCL scheme
Reference to Rusanov scheme was my mistake, it is version of normal first order LF scheme with local speeds instead of Dx/Dt. Lax Friedrichs with MUSCL and second order Runge-Kutta time-stepping has much lower numerical viscosity than first order LF and you get results that look very similar to that of KT.

With upwind schemes I thought Godunov schemes with Riemann solvers (Roe scheme etc.) not the finite difference upwind scheme. These employ solution of Riemann problem (usually with characteristic variables). I don't know anything about your code, but in Cartesian grids there is very little difference between FD and FV and these methods can be treated as both FV and FD. If you are using some other type of grids than, it is ussualy better to use FV.

Chandra February 14, 2007 10:35

Re: extrapolation in MUSCL scheme
Thank you very much Fuka for your valuable responses. Now I have things clear in mind except one thing: The Lax Friedrichs scheme (NOT Lax Friedrichs Rusanov) is 2nd order in space? (which is mentioned at the link: ) ??

I am using cylindrical co-ordinate (orthogonal grids) and so I think it is OK if I use MUSCL with FDM. Also, I am using 3rd order RK scheme for time marching. So, I think I should get reasonable results.

Thank you, Please confirm the aforementioned query about Lax Friedrichs scheme.

regards, Chandra

Fuka February 14, 2007 10:52

Re: extrapolation in MUSCL scheme
The LF scheme at that link is first order. You will use the same flux, but instead of RHOi+1 and RHOi use RHORi+1/2 and RHOLi+1/2 that you will get from MUSCL interpolation.

best regards, V. Fuka

Chandra February 14, 2007 11:21

Re: extrapolation in MUSCL scheme
Dear Fuka,

I am really very very thankful to you for all of your responses and helps. It was indeed quite helpful and now I think I can proceed with things properly.

Thanks a lot.

with regards,


All times are GMT -4. The time now is 09:19.