Encyclopaedia Index

Convergence, and how to accelerate it

A simulation is said to be converging when the residuals (or errors) in the equations decrease as the iterative solution proceeds. During the run, the residuals are usually written or plotted on the screen by EARTH.

The following discussion is organized under the headings:

(a) The choice of initial guesses

If one knew the solutions to the equations at the start, and could insert the corresponding variable-field values as initial guesses, convergence would be immediate. Of course, the solutions never are known; however, if initial guesses can be made which are close to these solutions, convergence is likely to be rapid.

It is therefore usually worthwhile to set values of the initial fields, by way of FIINIT, which are as close as possible to the expected average values of the solutions. It is possible to do even better, if the PATCH and INIT commands are used; for these permit linearly-varying values (and indeed more complicated piece-wise linear distributions) to be inserted rather easily.

How far to go in this direction should be determined by reference to the man-time cost of determining and introducing suitable initial values and of the computer-time cost that is thereby saved.

A means of saving computer time that requires very little man-time, once the system has been set up, is to employ the PHI file of a previous run of similar character, and then to work in the restart mode. This is of course most easily accomplished when a series of related runs is to be performed in the course of a "parametric study" of some kind; for then the solution of a just-completed run can serve as the initial guess for the immediately-following one.

However, the method is more-generally applicable; and PHOENICS users who perform expensive fine-grid runs may well find it useful to store the resulting PHI files on tape, just in case they may be useful, in the future, as starting solutions for some further related computations.

Also valuable is the creation of a set of initial-guess fields by interpolation in or extrapolation from the results of an earlier solution performed with a different grid. This can be achieved by use of the PINTO program.

(b) Easily-removed causes of slow convergence

It often occurs that convergence proceeds smoothly, but not fast enough. In order to establish whether acceleration may be possible, the cause of slow convergence should first be sought among the following:-

How can one determine whether one of the above is contributing to excessive computer charges? By changing the relevant settings and observing what happens. Every reduction in the amount of under- relaxation, even an enlargement in time step, is to be welcomed, provided that it does not on the one hand lead to divergence or on the other entail a significant falling off in numerical accuracy.

(c) Solution of one volume fraction equation

It is recommended that only the second-phase volume-fraction equation is solved when the two phases coexist everywhere in finite proportions, eg the volume fraction of one of the phases never falls below 0.001. The following PIL instruction:

SOLUTN(R1,Y,N,...); SOLUTN(R2,Y,Y,...),

causes EARTH to solve for R2 and to calculate R1 as 1-R2. In addition to being more economical than solving for R1 and R2, this practice has proved to give faster convergence in several 2-phase simulations.

When the phase volume fractions do not coexist everywhere in finite proportions, it is necessary to solve R1 and R2, by way of the settings:

SOLUTN(R1,Y,Y,...); SOLUTN(R2,Y,Y,...).

Were R2 alone solved in this situation, loss of accuracy would occur in the calculation of R1 from 1-R2 in those location in which R2 is close to unity.

(d) Other measures to be considered

There are other measures which can be taken at the SATELLITE level in order to reduce computer time. One important one is to change the choice of solution procedure in the light of the considerations discussed in Section 5.4. The point-by-point procedure should be used for the velocity components and volume fractions when the diffusion terms are of little importance; but it should definitely not be used otherwise.

Different velocity components may need different solution procedures. For example, a boundary-layer flow in which z is the predominant flow direction is best handled with point- by-point solution for u and v, but slab-wise solution for w. The reason is that w is strongly influenced by viscosity in these circumstances,whereas u and v are not.

In some fluid-flow simulations, it is best to use the TERMS command in order to switch off the viscous terms entirely. More surprisingly, perhaps, it is sometimes permissible to switch off the convection terms as well. For example, when the flow takes place in a porous medium such as EARTH or sand, the only important terms are the pressure gradient and the resistance exerted by the medium; so there is no point in computing terms which are negligible. (See DARCY in TR 200 for an automatic means of establishing the porous- media-flow equations).

A number of other devices eg ADDDIF, GALA, ZDIFAC, NEWRH1 etc. are available for solution control and economy. These are in Group 8; they are described in TR200.

Finally, attention is drawn once more to the possibility of varying the starting-time and the frequency of updating of the various dependent variables, and for that matter of the auxiliary variables as well. PHOENICS possesses many devices for effecting such variations, which you are advised to explore. The guiding principle should of course be this: quantities which both influence and are influenced by the velocity (or other dominant-variable) field should be updated frequently throughout the computation; those which influence but are not influenced should be set at the beginning and never updated; and those which are influenced but do not influence should be updated only at the end.


wbs