5.7 Iterative solution
Imagine a problem with steady flow in which is changing at a boundary, e.g. at an inlet. The system could be simulated by solving Eq. (5.12 ) with a field which is constant in time.
The simulation would evolve by an iterative sequence which increases time by an increment , then solves the equation, as shown below.
Setting tolerances
The equation is solved using an iterative method such as Gauss-Seidel. Tolerance parameters determine when the method stops iterating within the current solution step.
To capture the transient solution for accurately, the equation would need to converge to a suitable absolute tolerance at every time step. The question is: what is suitable to give an accurate solution? — without setting it to a very small value, e.g. , which would would be highly inefficient, due to an excessive number of solver iterations.
Solution accuracy should be determined by some measure, or metric, e.g. temperature rise, pressure drop, drag coefficient, etc., relevant to the objective of the simulation.
The metric should be initially calculated using a value of , e.g. . It can then be calculated again at a lower , typically decreasing by one order of magnitude, i.e. .
The metrics are then compared. If the difference is within the required level of accuracy, then is optimal. Otherwise, would need to be decreased further and the process repeated.
Residual calculation at intervals
The residual calculation of Eq. (5.11 ) incurs a significant computational cost since it involves multiplications of matrices. That cost can be reduced by setting an interval on the number of sweeps between residual calculations.
The downside is that convergence checks can only happen when the residual is calculated. If the residual is calculated at intervals of every second sweep, a solution that would otherwise converge at an odd number of sweeps is prolonged by a extra sweep.
Residuals are high when a simulation starts so a relatively high number of sweeps, e.g. 10, may be needed for convergence. The saving of calculating residuals at an interval may then offset the additional cost of unnecessary additional sweeps, giving a lower net cost per time step. However, as the residuals decrease and fewer sweeps are needed, attempts to reduce cost by intermittent residual calculation can be ineffective or counter-productive.