Original article link
Multigrid method is a method for solving equations. It can be used for interpolation and solving differential equations.
From a professional perspective, The multigrid method is actually a multi-resolution algorithm. Due to the slow convergence of the low-frequency part when solving the problem directly at a high resolution (with a small Interval for solving, it is inversely proportional to the square of the interval. I want to solve the problem at a low resolution (large interval) First, because at this time, the interval is small, the data volume is small, and the time-space consumption during relaxation is small, and the convergence is fast, an important advantage is that the sensitivity to initial values at low resolution is obviously lower than the requirements for high-resolution initial values. This is obvious. For example, we usually look at a very complex object. In a long distance, you may think it is a point or ball, however, in the near future, you cannot be so similar. Perhaps the people who have invented multigrid methods have discovered this basic knowledge of life.
The multigrid method can be directly calculated with a random initial value at a low resolution, and then interpolated to improve the resolution, and then computed at a higher resolution; you can also calculate the High Resolution with random initial values to get a result, limit (interpolation) it to low resolution, and then solve it at low resolution, finally, the High Resolution is achieved through interpolation from the low resolution.
Data on multigrid can be downloaded here: https://computation.llnl.gov/casc/people/henson/mgtut/ps/mgtut.pdf
Multigrid Solver)
The error components of differential equations can be divided into two categories: one is the low-frequency components with slow frequency changes, and the other is the high-frequency components with high frequency and fast swing. The general iteration method can quickly decrease the swing error, but the iterative method is not very effective for those low frequency components. The high frequency component is relative to the low frequency component, which is related to the grid scale. It is regarded as a low frequency component on the fine mesh, and can be a high frequency component on the coarse mesh.
As a fast calculation method, The multigrid method iteratively solves the algebraic equations composed of partial differential equations after discretization, the basic principle is that a certain grid is the easiest way to eliminate the error components corresponding to the wavelength and the grid step size. This method uses grids of different scales and different dense grids to eliminate the error components of different wavelengths. First, iterative methods are used on the fine mesh. When the convergence speed slows down, it implies that the error is smooth, it is transferred to the coarse mesh to eliminate the error components that correspond to the grid on the layer to be easily eliminated, so that the layer-by-layer operation continues until various error components are eliminated, and then return to the fine mesh layer-by-layer.
At present, the two-layer mesh method has been theoretically proved to be convergent, and its convergence speed is not related to the grid scale [hackbuss, 1988]. Multigrid method is a combination of iterative method and rough grid correction. It has been proved that the iterative method can quickly remove those high-frequency components, and the coarse grid correction can help eliminate the smooth low-frequency components, however, it does not work for those high-frequency components.
In multi-grid computing, some media are required to transfer the information on the fine mesh to the coarse mesh. At the same time, some media are required to transfer the information on the rough mesh to the fine mesh. Restriction operator iih (I-1) H is to limit the residue on the fine mesh I-1 layer to the coarse mesh I layer operator, the simplest operator is ordinary single shot, in addition to the special weighted limit; interpolation Operator iih (I-1) h is the result of the coarse mesh I layer interpolation to the fine mesh I-1 layer operator, generally using linear interpolation or fully weighted limit operator.
It should be noted that in the multi-grid iteration method, before the coarse mesh correction, the fine mesh must be smoothly iterated to eliminate high-frequency errors, so that the coarse mesh correction can play its role most effectively; after the correction of the coarse mesh, high-frequency errors are inevitably introduced, so smooth iteration is also required, but high-frequency errors can be quickly eliminated through smooth iteration.
A multigrid is initially used to solve an elliptical equation. The principle is: the error of numerical solution can be expanded into the form of series. From the form of series, we can see that the vibration component of the error has many frequency bands, as long as the error of these frequency bands is eliminated, the entire solution converges. Grid, we can look at it as a filter. grids of different scales can filter out errors in different frequencies. If the grid is fixed, some errors can be quickly filtered out. For errors that do not match the frequency band, the grid may fail completely and cannot be filtered out. As a result, people began to use multi-grid technology for numerical solutions, which can quickly filter out the errors in various frequencies and thus accelerate the solution. The above is the multi-grid theory technology, but there are still many difficulties in implementing the multi-grid technology. The first difficulty is the generation of rough grids, which is easier for structured grids, you only need to perform corresponding sampling. For non-structured grids, the construction of coarse grids is much more troublesome. Therefore, the multigrid technology is also a kind of grid generation technology. For our own programming, non-structured grid is a challenge. It is even more difficult to generate a non-structured grid and then form a multi-grid. In contrast, the numerical format is indeed very simple. Have you ever seen the multigrid method of hyperbolic equations? In fact, there is very little data in this regard, which is mainly determined by the nature of the hyperbolic equation and the principles of multigrid. At present, there are still many problems to solve in theory in the multigrid method of hyperbolic equations, which is far from practical engineering applications.
Multiple grids have a relatively complete theory for Elliptic Equations. Especially for linear elliptic equations, the theoretical convergence speed is one order of magnitude down each step. For hyperbolic equations, there is no complete theory yet. It was brandtl at the earliest. Later, Ni was used to solve the Euler's equations. Jameson applied this method to his Runge-Kutta explicit propulsion technology, high efficiency. Non-structured mesh, the French are faster, and the use of polymer technology makes the rough mesh easier to get, better convergence.
Although there is no complete multigrid convergence theory for the hyperbolic equation like Euler's equation, it has been applied for a long time (from jamson ). It seems that the CFD has been put into practice for the time being, regardless of the theory. In fluent, multi-grid is implemented for non-structured mesh leaves. In Liu chaoqun's multi-grid book, there is an example of multigrid for the speed-of-sound and non-stick computing of the cascade. Remember that the layer-4 mesh, FVM, and ROE format are used in combination with the fourth-order longgekuta. In general, it seems that multi-grid acceleration is used to accelerate the display, because the display step is limited, and there are few hidden formats with multi-grid. I remember that in Wang Baoguo's cascade computing book, he mentioned the multiple grids that are implicitly pushed. I don't remember whether he has implemented them. However, the simple algorithm works with multiple grids in a hidden format.
Multi-grid is a accelerated convergence technology. The multigrid multi-block is a grid generation technology, and the multi-grid is mostly translated into multiple grids '.
AMG directly generates a "coarser" matrix based on the discrete matrix, and has no direct relationship with the grid. The above is a multigrid method based on ry. In general, the geometric multigrid method directly constructs conservation equations on the coarse grid. For suitable problems, the convergence will be very fast. The disadvantage is that it is difficult to generate a rough grid for complex ry shapes. AMG convergence is also good and not limited by grid. AMG has been used by many commercial CFD software. It seems that fluent always uses AMG as the main solver. Who used the fluent geometric multigrid method?
A new parallel algebra multi-grid roughening Algorithm
<Computing mathematics> Xu Xiaowen and Mo zeyao, issue 03, 2005
In recent years, driven by the problems of large-scale scientific computing in the field of practical application, it has become a hot topic in the field of numerical computing to implement multi-grid algebra (AMG) algorithms on large-scale parallel computers. This paper proposes a new parallel grid roughening algorithm-multi-stage parallel RS Algorithm (MPRS) for the classic AMG method ). We integrate the new algorithm into hypre, a high-performance pre-condition sub-software package. A large number of numerical experiments show that the new algorithm is suitable for a wider range of problems. Compared with other parallel roughening algorithms, it significantly improves the scalability of AMG parallel computing. For Poisson equations with Finite Difference discretization in three-dimensional 27-point format, parallel AMG solutions are performed on 64 processing machines, including 8 million unknown numbers, compared with the rs3 algorithm, the new algorithm reduces the three-dimensional Poisson equation of nearly 60, and nearly 0.32 million unknown numbers are obtained by parallel AMG-GMRES on 16 processing machines, the number of iterations required by the new algorithm is about half that of other rough algorithms. This shows good algorithm scalability.
Reference: http://www.ilib.cn/Abstract.aspx? A = jssx200503011
Introduction to multigrid)