5.2 Gauss-Seidel method

Finite volume numerics generally uses iterative methods to solve each matrix equation. These methods calculate approximate solutions for eqn, which become more accurate with successive iterative solutions.

Iterative methods are preferred because they are more efficient than direct methods, which solve a matrix equation exactly. Gaussian elimination, which is the numerical basis for direct solution methods, has a computational cost eqn. This is prohibitive for many sizes of mesh in finite volume CFD.

Gauss-Seidel1 is a simple, iterative method which is generally effective for solving transport equations such as the example in Sec. 5.1 . The method is illustrated by a sample equation

2 3 2 3 2 3 3 1 1 1 6 66 1 5 2 77 66 2 77 = 66 2 77 : 4 5 4 5 4 5 1 2 4 3 3 \relax \special {t4ht=
(5.2)
The equations can be rewritten by: a) multiplying the off-diagonal coefficients by eqn; b) subtracting the result from the right hand side (r.h.s.); c) and, dividing by the diagonal coefficient. i.e.:
pict\relax \special {t4ht=

Starting with, eqn, new values of eqn are calculated by Eq. (5.3a ), Eq. (5.3b) and Eq. (5.3c ) in sequence, where the notation “eqn” denotes “eqn is assigned the value of eqn.

The first solution of Eq. (5.3a) is eqn. The updated eqn is substituted in Eq. (5.3b), whose solution is eqn. Both updated values are substituted in Eq. (5.3c ) to give eqn.

The process is then repeated and through successive sweeps over the equations the solution converges as shown below.

Variable Start Sweep 1 …2 …3 …4






eqn 0.0000 2.0000 2.4167 2.7431 2.8821
eqn 0.0000 0.0000 0.5833 0.8069 0.9121
eqn 0.0000 1.2500 1.6458 1.8392 1.9266
Variable Sweep 5 …6 …7 …8 …9






eqn 2.9462 2.9755 2.9888 2.9949 2.9977
eqn 0.9599 0.9817 0.9916 0.9962 0.9983
eqn 1.9665 1.9847 1.9930 1.9968 1.9985

The error is eqn, i.e. the difference between the approximate and exact values eqn, eqn and eqn. After 9 sweeps eqn for all variables, i.e. within  0.2% of the exact solution.

In summary, the Gauss-Seidel method is the following sequence of calculations for eqn, repeated until convergence:

 0 1 N ℬ -1- BBb X a CC : i ai;i @ i j=1 i;j jA i⇔j \relax \special {t4ht=
(5.4)
The Gauss-Seidel method, applied to sparse matrices, has a computational cost eqn, making it practical for simulations with large meshes that often occur in finite volume CFD.

Convergence of the method, and convergence measures for iterative methods in general, are discussed in the following sections.


1Carl Friedrich Gauss, letter to Christian Gerling, 1823.

Notes on CFD: General Principles - 5.2 Gauss-Seidel method