13.07.2015 Views

AN EVALUATION OF PARALLEL MULTIGRID AS A SOLVER AND A ...

AN EVALUATION OF PARALLEL MULTIGRID AS A SOLVER AND A ...

AN EVALUATION OF PARALLEL MULTIGRID AS A SOLVER AND A ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>MULTIGRID</strong> <strong>AS</strong> A <strong>SOLVER</strong> <strong>AN</strong>D A PRECONDITIONER 95Grid:finestcoarsestV-cycleF-cyclefinestcoarsestW-cycleFIG. 4. Different ways of cycling through fine and coarse grids.Coarse grid discretization. Coarse grid matrix A L on grid G L is defined withGalerkin coarsening ([6], [24], [25])(37)(38)A M = A,A L = R L A L+1 P L+1 , 1 ≤ L ≤ M − 1.A drawback of the multigrid preconditioners, compared with, for example, ILU preconditioners,is that additional storage for the matrices on coarse grids as well as forthe matrix-dependent transfer operators is needed.Smoother. The smoother in MG1 and MG2 is the alternating zebra line Gauss–Seidel smoother. First, all odd (white) lines are processed in one direction, afterwhich all even (black) lines are processed. This procedure takes place in the x-and y-directions. Fourier smoothing analysis for model equations, presented in [24],indicates the robustness of this smoother. The parallel implementation by means ofgrid partitioning is explained in detail in [23]. Care has been taken that the singleblock and the multiblock convergences are identical.Multigrid cycles. The multigrid correction scheme is used for solving the linearequations. In [23] we chose the V-cycle as iteration cycle. Here, the robustness andefficiency of more expensive cycles, like the W- and F-cycles, are also evaluated. Thecycles are shown in Figure 4.The multigrid F-cycle is a cycle between the cheap V-cycle and the expensiveW-cycle. The algorithm is written down for convenience in a recursive way.MG F-cycleMGF(A L , f L , u L , ν 1 , ν 2 , ν 3 ) {if (L = 1) {u 1 := smoother(A 1 , f 1 , u 1 , ν 3 );return;}u L := smoother(A L , f L , u L , ν 1 );

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!