![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ANSYS FLUENT uses a multigrid scheme to accelerate the convergence of the solver by computing corrections on a series of coarse grid levels. The use of this multigrid scheme can greatly reduce the number of iterations and the CPU time required to obtain a converged solution, particularly when your model contains a large number of control volumes.
The Need for Multigrid
Implicit solution of the linearized equations on unstructured meshes is complicated by the fact that there is no equivalent of the line-iterative methods that are commonly used on structured meshes. Since direct matrix inversion is out of the question for realistic problems and "whole-field'' solvers that rely on conjugate-gradient (CG) methods have robustness problems associated with them, the methods of choice are point implicit solvers like Gauss-Seidel and ILU . Although the Gauss-Seidel and ILU schemes rapidly remove local (high-frequency) errors in the solution, global (low-frequency) errors are reduced at a rate inversely related to the mesh size. Thus, for a large number of nodes, the solver "stalls'' and the residual reduction rate becomes prohibitively low.
The multi-stage scheme used in the density-based explicit solver can efficiently remove local (high-frequency) errors as well. That is, the effect of the solution in one cell is communicated to adjacent cells relatively quickly. However, the scheme is less effective at reducing global (low-frequency) errors-errors which exist over a large number of control volumes. Thus, global corrections to the solution across a large number of control volumes occur slowly, over many iterations. This implies that performance of the multi-stage scheme will deteriorate as the number of control volumes increases.
Multigrid techniques allow global error to be addressed by using a sequence of successively coarser meshes. This method is based upon the principle that global (low-frequency) error existing on a fine mesh can be represented on a coarse mesh where it again becomes accessible as local (high-frequency) error: because there are fewer coarse cells overall, the global corrections can be communicated more quickly between adjacent cells. Since computations can be performed at an exponentially decaying expense in both CPU time and memory storage on coarser meshes, there is the potential for very efficient elimination of global error. The fine-grid relaxation scheme or "smoother'', in this case either the point-implicit linear solvers (Section 18.6.3) or the explicit multi-stage scheme, is not required to be particularly effective at reducing global error and can be tuned for efficient reduction of local error.
The Basic Concept in Multigrid
Consider the set of discretized linear (or linearized) equations given by
where
is the exact solution. Before the solution has converged there will be a defect
associated with the approximate solution
:
We seek a correction
to
such that the exact solution is given by
Substituting Equation 18.6-3 into Equation 18.6-1 gives
Now using Equations 18.6-2 and 18.6-5 we obtain
which is an equation for the correction in terms of the original fine level operator
and the defect
. Assuming the local (high-frequency) errors have been sufficiently damped by the relaxation scheme on the fine level, the correction
will be smooth and therefore more effectively solved on the next coarser level.
Restriction and Prolongation
Solving for corrections on the coarse level requires transferring the defect down from the fine level (restriction), computing corrections, and then transferring the corrections back up from the coarse level (prolongation). We can write the equations for coarse level corrections
as
where
is the coarse level operator and
the restriction operator responsible for transferring the fine level defect down to the coarse level. Solution of Equation
18.6-7 is followed by an update of the fine level solution given by
where
is the prolongation operator used to transfer the coarse level corrections up to the fine level.
Unstructured Multigrid
The primary difficulty with using multigrid on unstructured meshes is the creation and use of the coarse grid hierarchy. On a structured mesh, the coarse meshes can be formed simply by removing every other mesh line from the fine meshes and the prolongation and restriction operators are simple to formulate (e.g., injection and bilinear interpolation).
The difficulties of applying multigrid on unstructured meshes are overcome in a separate fashion by each of the two multigrid methods used in ANSYS FLUENT. While the basic principles discussed so far and the cycling strategy described in Section 18.6.2 are the same, the techniques for construction of restriction, prolongation, and coarse mesh operators are different, as discussed in Section 18.6.3 and Section 18.6.4 for the AMG and FAS methods, respectively.