- **OpenFOAM Running, Solving & CFD**
(*https://www.cfd-online.com/Forums/openfoam-solving/*)

- - **Fundamental problem with Gamma scheme**
(*https://www.cfd-online.com/Forums/openfoam-solving/58593-fundamental-problem-gamma-scheme.html*)

Hello,
do I understand the Hello,
do I understand the Gamma discretisation scheme right that it is a blend of central differencing (CD) and upwind differencing (UD)? But then I don't understand the following problem: My test case converges easily with both UD and CD (also LUD runs without problems) giving me residuals in the order of 1e-07. If I switch to Gamma scheme, I don't get convergence, the residuals remain around 0.4 and every step takes a lot of internal iterations. My very simple test case (I attached it as a tgz-file) uses scalarTransportFoam on a 10x10 checkerboard mesh. I want to use it to evaluate convection discretisation schemes like it is done in the book by Versteeg and Malalasekera. The uniform velocity field is diagonal from the lower left to the upper right corner. The T field is set to 1 on the left side and 0 on the bottom. The boundary conditions are: For T: internalField uniform 0; boundaryField { left { type fixedValue; value uniform 1; } bottom { type fixedValue; value uniform 0; } top { type zeroGradient; } right { type zeroGradient; } frontAndBack { type empty; } } For U: internalField uniform (2 2 0); boundaryField { left { type fixedValue; value uniform (2 2 0); } bottom { type fixedValue; value uniform (2 2 0); } top { type zeroGradient; } right { type zeroGradient; } frontAndBack { type empty; } } The value for the diffusivity DT is set to zero in the transportProperties dictionary. So, do I run into a fundamental problem of the Gamma scheme, or did I just overlook a fault in my setup? Or is it a problem to use steadyState with scalarTransportFoam? Thanks for your answers in advance!! Regards Dominik http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif checkerBoard.tgz |

In fact, you have not done anyIn fact, you have not done anything wrong - you have discovered the problem at the basis of CFD convection discretisation research for the last 25 years. Basically, a scheme must be non-linear to be bounded and more than first-order accurate at the same time. With a non-linear scheme, there is no guarantee of convergence. In practice and for most schemes, you will have to play with the adjustable factor in the scheme to get what you want - it is a balance between accuracy and convergence.
Have a look at some convection differencing scheme papers and all will be clear. To make things easier, you may wish to tighten the solver tolerances, decrease the time-step size, use deferred correction schemes or all of the above. BTW, steadyState is definitely a bad idea, because you just lost the diagonal dominance. Enjoy, Hrv |

Hi Hrv,
thank you very muchHi Hrv,
thank you very much for your quick answer!! Now that I know that the case setup was correct, I can dig into theory... |

Hi Dominik,
Sometimes the aHi Dominik,
Sometimes the act of switching between CD to UD blended can itself introduce instability. |

All times are GMT -4. The time now is 17:10. |