## Howto reduce round-off errors without changing the numerical model

When you compute the BGK equilibrium distribution function, you have to evaluate a function of the form $f^{eq}_{i}=t_{i}·\rho(1+ε)$, where ε scales proportionally with the Mach number. If ε, and thus the Mach number, is too small , then by numerically evaluating the equilibrium you get as a result something which may be of the form $t_i·1.00000001$… . Since the number of digits that one can store with a computer is limited (7 or 14 for single or double precision floating point numbers), you in fact lose, in this example 7, digits of accuracy in the evaluation of your equilibrium distribution. This can have a great impact on the accuracy and stability of your simulations. A trick that can be applied is to evaluate a slightly different equilibrium distribution function, namely $f^{eq}_{i}=t_{i}·\rho(1+\cdots)-t_{i}$. Doing so you recover the digits that you lost when you computed the normal equilibrium distribution function. But you have to remember that to recover the right density you must correct the way you compute it, namely $\rho=\sum_{i} f_{i}+1$, and that you are not simulating the usual $f_{i}$ but rather $f^{★}_{i}=f_{i}-t_{i}$. The original idea was due to Skordos 1993, but you can also find a description of this idea and some results in the paper by Dellar 2003.

A more technical presentation of the procedure to reduce round-off errors is presented in this document.

howtos/reduce_roundoff.txt · Last modified: 2011/12/20 16:42 by jonas

RSS - 2011 © FlowKit.com
Except where otherwise noted, text, pictures and animations on this site are licensed under a Creative Commons Attribution-Share Alike 3.0 License. 