ROE Riemann Solver and MUSCL
Hello,
I will have a question. Currently I am working on a new code which limits me greatly. The first step is to solve euler equations with 2 different initial conditions: 1)entropy wave, 2) acoustic wave. The code for now has periodic boundaries. I have to use a first order time discretization. I also have to use a flux calculator. The flux calculation is (F(i+0.5)F(i0.5))/dx Inside, to find the flux on the face I use Roe scheme. If I use directly Roe scheme the numerical dissipation becomes too important: 55% on a lap of an entropy wave. If I use a minmod MUSCL scheme, dispersion becomes too important. I tried to use Van Leer's k scheme MUSCL, it gave me the exact same solution as "no MUSCL". I would like to ask the reason of oscillations: is it due to second order MUSCL scheme ( even with a CFL= 0.3) or can it be due to periodic boundary conditions? If you can give me an advice for higher resolution interpolation scheme to calculate left and right states that would be great. Emre 
ares,
It seem to me that you are not fully understanding the correct methodology that you should be applying to this hyperbolic system. You either use the Roe method to obtain the intercell fluxes, or you don't. The first order flux calculation you have written above should not even come into it. The actual physical fluxes in each cell however, can do. Look at implementing a first order HLL scheme (see F. Toro), this is very simple and robust. This can taken to second order when you get the first order scheme operational  then you can implement a flux limiter (MinMod limiter, SuperBEE or whatever). Good luck. 
I already have a first order working riemann solver, i have hlle, hllc and roe solvers. When the first order works, i add muscl. And then it exploses.

If you are going to higher order extrapolation without some form of limiting of the extrapolated values, then you can expect your solution to blow up. The extrapolation introduces the possibility of nonphysical maxima and minima in the field variables, and these lead to computational instabilities that will corrupt the solution. Sounds like you need to implement some form of limiting in conjunction with your MUSCL scheme, as noted above.

I use a minmod limiter but the left and right sides of the center of a gaussian perturbation. the solution explose. one side goes up, one side goes down.

Are you on structured or unstructured grids?

for now, i am on a structered grid on 1D.
and today, i added laxwendroff scheme with a variable delta x, delta x changing just in the middle of the gaussian. the error was the same. so i will check tomorrow for an error, somewhere else in the code.( It is not my code, i just write the solver part. ) 
1D it should work  'guess your suspicion of an error elsewhere is not wrong...
good luck! 
ares,
If you are indeed implementing your flux limiter correctly I don't see there should be any issue. However, here is a couple of things you might try to increase stability: 1. decrease the Courant number to say 0.01, limiting the code to very small timesteps and reducing discontinuities at cell interfaces. 2. increse mesh resolution. If it an extreamly course mesh this may be an issue. Forget LaxWendroff. You want to be using a Godunovtype scheme. Whats all this about a gaussian puturbation? 1D Euler equations, or 1D ideal gas dynamics, you should be testing the 1D solver using standard tests, like the shock tube problem etc. How long have you been struggling with this? If you wish I will post some references to some papers you can use... 
Actually, I am not doing this for my pleasure, this is for my graduate thesis and I have to do what is asked from me. I fixed the problem with LaxWendroff. There were some important bugs in the code. They appeared only when I pass to a nonuniform grid. (The code is not mine, I just write solver part).
What I say as a Gaussian: it is a perturbation on temperature, so it is an entropy wave. I solve Euler equations for now, but I will add viscosity, Fourier and source terms soon. I use periodic BC. When I use first order Riemann solver, there is not any problem, but when i start to use minmod slope limiter, it exploses. I try to check the code, but it is really complicated. So my guess is that if there is not any problem with the code, then due to the oscillations created by the scheme coupled with muscl an acoustic wave appears. If you have any other any idea, I would be very happy to learn. I want to try the ADER approach of Toro, but it will take time. I also tried WENO scheme, the result was the same. It is the first time i use a limiter, so I am not familiar with it. I don't know what to expect as result. Thanks, Emre 
ares,
Short of looking at the code myself I think all you can do now is debug debug debug  which is not fun. All the best. Nick 
All times are GMT 4. The time now is 07:45. 