Careful selection of TVD interpolation schemes is important for solving high speed compressible flows. In cases with discontinuities such as shockwaves and contact surfaces, these schemes help keep the simulations free of spurious oscillations. In this post I will use the shock tube tutorial case to test some of the available schemes in OpenFOAM (specifically rhoCentralFoam).
I am going to test the following schemes: vanLeer, vanAlbada, and Gamma (0, 0.5 and 1). To test them, I will first simulate the tutorial case without changing anything. I will then examine how each of the limiters respond to an increase in grid density and also a decrease in CFL (CourantFreidrichsLevy) number … also the amazing Canadian Football League :).
Here is a summary of what I’ve found… then you can read through all the plots after!
 In all cases the results at a cell count of 100 showed oscillatory and therefore unsatisfactory results. As you should already know, grid resolution is important.
 At a CFL of 0.2, vanLeer in rhoCentralFoam was inconsistent. What I mean by this is when using vanLeer, as you refine your grid the results actually get worse! This is not desirable in a numerical scheme for obvious reasons.
 At a CFL of 0.1 vanLeer showed good results. This indicates that one should probably avoid using vanLeer unless you are committed to using small timesteps (more computing time).
 vanAlbada is consistent at both CFL numbers tested. This indicates that by using vanAlbada, it is possible that a larger CFL could be tolerated (assuming sufficient grid density is used).
 Gamma 0 – Corresponds to central differencing and therefore we expect it to be the least stable (and not total variation diminishing). This is confirmed by the results which are poor in all cases! Decreasing the CFL number helps but it is clear that different schemes should be used.
 Gamma 0.5 – Corresponds to hybrid central and upwind (TVD) differencing. The results are much better than Gamma 0. In fact, the results are very similar to the results of vanLeer.
 Gamma 1 – Corresponds to fully TVD linear upwind interpolation. This scheme should be the most stable. However, because it is only first order, higher grid resolution is required to get the best results. This is the compromise that must be made between stability and accuracy when using TVD schemes.
In my opinion, the two best options are vanAlbada and Gamma 1. vanAlbada most likely provides the best mix between accuracy and stability (at least for the case examined here). Gamma 1 provides the best option if stability is the most important thing to you. However, because it is first order you will need more cells to get the most accurate solution.
Details of the test case and all of the results are listed below! Hopefully somebody finds this useful. If I have anything wrong please let me know! If you want me to try more schemes or anything different let me know as well!
Cheers,
curiosityFluids
Shocktube Case
If you aren’t familiar with the shock tube case, it is the simple one dimensional problem where one side (the driver side) begins at a high pressure. The other side (the driven side) is at a lower pressure. When the simulation begins, the discontinuous initial conditions send a shock wave down the tube. Following the shock wave is a contact surface. Here is an animation of the simulation:
vanLeer
CFL=0.2
 100, 1000, 10000 cells
CFL=0.1
 100, 1000, 10000 cell
vanAlbada
CFL=0.2
 100, 1000, 10000 cells
CFL=0.1
 100, 1000, 10000 cells
Gamma
Gamma 0

CFL=0.2
 100, 1000, 10000 cells

CFL=0.1
 100, 1000, 10000 cells
Gamma 0.5

CFL=0.2
 100, 1000, 10000 cells

CFL=0.1
 100, 1000, 10000 cells
Gamma 1

CFL=0.2
 100, 1000, 10000 cells

CFL=0.1
 100, 1000, 10000 cells