CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Wavy Solutions in 1D Euler Equation (

RameshK February 11, 2012 19:51

Wavy Solutions in 1D Euler Equation
Hello All

I have implemented 1D Euler equations using LUAF procedure, and found the following things in the solution. I have used central difference scheme for flux evaluation and FVmethod is used

1. The solution oscillates after the relative error reduces to 1e-10.
2. Looking at the solution
a. The pressure has a wavy nature, Temperature is uniform on all cells, Density has wavy nature as of pressure.
3. The Mach number which should attain at steady state is not attained.
4. The code is getting diverged if the number of cells <50
I am using CFL = 1.0 and the time step being evaluated using

del_T = (CFL*del_X)/(fabs(v.n)+C)

my boundary conditions are P0 =121325 Pa, T0 =300K, and exit pressure 101325 Pa

any comments or suggestions on how to eliminate the wavy nature of the solution

cfdnewbie February 12, 2012 03:52

If you are using a central flux and your problem is convective ( sounds like it ), that's most likely your answer! A simple modification (add a jump term, aka lax-friedrichs flux, will help!

RameshK February 12, 2012 10:06

Thank you for the suggestion, but I know that when I use Fredrick's scheme it just converges .I have a 3D code with that scheme and converging to machine epsilon, but I am looking at a scheme which is implicit and which does not need any dissipation. that is why I was not adding any of the numerical dissipation.

cfdnewbie February 12, 2012 11:22

Hello Ramesh,
I'm not familiar with Fredick's scheme, so I'm no sure what is going on. But you mentioned that your CFL is 1.0, so I was (falsely) assuming that you are doing some explicit timestepping. I haven't worked with implicit methods, but I ask myself if you use an unstable spatial discretization (central), wil your implicit scheme have trouble converging?


RameshK February 12, 2012 11:59

It was typo error, lax-friedrichs flux is the flux I was talking about. As I mentioned my solution is converging to 1e-10 and at that stage it is oscillating for ever with central scheme but with lax-friedrichs flux scheme it goes to machine epsilon. But my problem is when I use an implicit Lower Upper approximate factorization method for 1D Euler equation the error oscillates and I get a wavy solution, in which I see only pressure and density has wavy nature but the velocity and temperature are not. So at this point I am clueless of how to eliminate this wavy nature of the solution in the implicit scheme without adding additional artificial dissipation for Euler equations.

Martin Hegedus February 12, 2012 23:08

I'm not sure of the ins and outs of what you are doing, but I gather you are having difficulty with an implicit cental difference solver. And you've added artifical dissipation, as you should. The requirement of artificial dissipation is indepentent of whether you are using an implicit or explicit solver. However, if you are using an implicit solver you should have artificial dissipation terms in the left hand side also. However, as you drop the CFL value well below 1.0, the implicit scheme becomes explicit, i.e. it becomes very much diagonal dominant. So try dropping the CFL number down to .1 or .01. If that doesn't help then there is probably a problem with the explicit formulation, i.e. the RHS. So maybe you need more dissipation. If you then crank up the CFL number and run into stability problems, it is likely there is a problem with the LHS. Since your problem is 1D Euler it should be easy to check your dirivatives, i.e. matrix values, just take your dirivatives numerically by varying your qs. Again, not sure of your details, but for 1D Euler you should be able to crank up the CFL to 40 or 50, or even into the 100s.

RameshK February 13, 2012 02:56

Hi Martin
Thank you for your suggestion. Let me explain what I am doing.
I have to implement Lower Upper Approximate Factorization which for 1D Euler equation which is an implicit method. I am using Finite volume method for the discretization and am using central schemes for flux evaluation. with this kind of flux the above numerical method we have pure central flux calculations on the RHS and Flux Jacobians to be evaluated in the LHS side which I am solving using an iterative method. now the problem is when I solve this problem with CFL 1.0, the relative error converges to 1e-10 then starts oscillating at that point, the solution has wavy nature in the pressure and density terms. For the code if I add explicit artificial dissipation of second order to the right hand side flux calculation the same relative error converges down to machine epsilon and the solution seems to be uniform for a case where there are no shocks.

These are the boundary conditions I have applied
Po = 121325, To = 300K and exit p_static = 101325 which corresponds to final steady solution of M = 0.51. on a domain of unit length.
On the cell interfaces I am calculating flux by taking the average value of Q and then flux from that Q.

when I reported to my Prof he said I don't need to add explicit artificial dissipation to the RHS of Euler equation even then I should get the same solution as I add dissipation.

This is where I am stuck. I am evaluating Flux Jacobian as prescribed by Pulliam and Chausse.

I wanted comments on this procedure.

Thank you one and all who have commented on this topic

Martin Hegedus February 13, 2012 03:36

For 2nd order FV (or FD) central differencing you need to add artificial dissipation, or so I believe. In general, the amount of artificial dissipation does change your RHS. So I guess I don't understand what your Prof. is saying. If you are doing some sort of flux splitting scheme or higher order method, artificial dissipation is not required. Of course, if your solution ends up being uniform everywhere, then the final converged answer will be independent of artificial dissipation. However, to get there, I believe you need artificial dissipation.

Martin Hegedus February 13, 2012 03:38

BTW, Pulliam and Chausse's method does have dissipation terms on the left hand side.

All times are GMT -4. The time now is 15:58.