|
[Sponsors] |
April 28, 2010, 09:32 |
ROE Riemann Solver and MUSCL
|
#1 |
New Member
Join Date: Apr 2010
Posts: 20
Rep Power: 16 |
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(i-0.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 Last edited by ares; April 28, 2010 at 12:05. |
|
May 5, 2010, 10:52 |
|
#2 |
New Member
Nicholas F Camus
Join Date: Sep 2009
Location: London, England.
Posts: 21
Rep Power: 17 |
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 (Min-Mod limiter, SuperBEE or whatever). Good luck. |
|
May 5, 2010, 15:12 |
|
#3 |
New Member
Join Date: Apr 2010
Posts: 20
Rep Power: 16 |
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.
|
|
May 5, 2010, 15:18 |
|
#4 |
Senior Member
Join Date: Jul 2009
Posts: 358
Rep Power: 19 |
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 non-physical 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.
|
|
May 5, 2010, 15:20 |
|
#5 |
New Member
Join Date: Apr 2010
Posts: 20
Rep Power: 16 |
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.
|
|
May 5, 2010, 15:21 |
|
#6 |
Senior Member
Oliver Gloth
Join Date: Mar 2009
Location: Todtnau, Germany
Posts: 121
Rep Power: 17 |
Are you on structured or unstructured grids?
|
|
May 5, 2010, 15:24 |
|
#7 |
New Member
Join Date: Apr 2010
Posts: 20
Rep Power: 16 |
for now, i am on a structered grid on 1D.
and today, i added lax-wendroff 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. ) |
|
May 5, 2010, 15:29 |
|
#8 |
Senior Member
Oliver Gloth
Join Date: Mar 2009
Location: Todtnau, Germany
Posts: 121
Rep Power: 17 |
1D it should work -- 'guess your suspicion of an error elsewhere is not wrong...
good luck! |
|
May 6, 2010, 10:18 |
|
#9 |
New Member
Nicholas F Camus
Join Date: Sep 2009
Location: London, England.
Posts: 21
Rep Power: 17 |
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 time-steps and reducing discontinuities at cell interfaces. 2. increse mesh resolution. If it an extreamly course mesh this may be an issue. Forget Lax-Wendroff. You want to be using a Godunov-type 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... |
|
May 6, 2010, 20:02 |
|
#10 |
New Member
Join Date: Apr 2010
Posts: 20
Rep Power: 16 |
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 Lax-Wendroff. There were some important bugs in the code. They appeared only when I pass to a non-uniform 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 |
|
May 7, 2010, 05:47 |
|
#11 |
New Member
Nicholas F Camus
Join Date: Sep 2009
Location: London, England.
Posts: 21
Rep Power: 17 |
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 |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Trouble when using MUSCL scheme on ONERA M6 wing | Aurélien | FLUENT | 2 | January 23, 2013 08:42 |
Godunov scheme | Peter | Main CFD Forum | 6 | November 27, 2009 11:51 |
Roe approximate riemann solver | Kaira | Main CFD Forum | 15 | August 3, 2006 01:31 |
Hancock MUSCL | marek | Main CFD Forum | 0 | November 22, 2005 05:18 |
Riemann problem at boundaries | K. I. Chan | Main CFD Forum | 0 | December 10, 2000 23:56 |