Chapter 1 parallel sparse solver - freeFEM.org
Chapter 1 parallel sparse solver - freeFEM.org
Chapter 1 parallel sparse solver - freeFEM.org
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
20 CHAPTER 1. PARALLEL SPARSE SOLVER<br />
dparm[0] HIPS PREC: Relative residual norm: Default=1e-9<br />
dparm[1] HIPS DROPTOL0: Numerical threshold in ILUT for interior domain<br />
(important : set 0.0 in HYBRID: Default=0.005)<br />
HIPS DROPTOL1 : Numerical threshold in ILUT for<br />
dparm[2]<br />
Schur preconditioner: Default=0.005<br />
dparm[3] HIPS DROPTOLE : Numerical threshold for coupling between the<br />
interior level and Schur: Default 0.005<br />
dparm[4] HIPS AMALG : Numerical threshold for coupling between the<br />
interior level and Schur: Default=0.005<br />
dparm[5] HIPS DROPS CHUR : Numerical threshold for coupling between the<br />
interior level and Schur: Default=0.005<br />
Table 1.12: Significations of dparams corresponding to HIPS interface<br />
1.3.3 Interfacing with HYPRE<br />
HYPRE ( High Level Preconditionner) is a suite of <strong>parallel</strong> preconditionner developped at Lawrence<br />
Livermore National Lab [19] . They are two main classes of preconditionners developped in<br />
HYPRE: AMG (Algebraic MultiGrid) and Parasails (Parallel Sparse Approximate Inverse).<br />
Suppose we want to solve Ax = b. At the heart of AMG is a series of progressively coarser(smaller)<br />
representations of the matrix A. Given an approximation ˆx to the solution x, consider solving the<br />
residual equation Ae = r to find the error e, where r = b − A ˆx. A fundamental principle of AMG<br />
is that it is an algebraically smooth error. To reduce the algebraically smooth errors further, they<br />
need to be represented by a smaller defect equation (coarse grid residual equation) Acec = rc,<br />
which is cheaper to solve. After solving this coarse equation, the solution is then interpolated in<br />
fine grid represented here by matrix A. The quality of AMG depends on the choice of coarsening<br />
and interpolating operators.<br />
The <strong>sparse</strong> approximate inverse approximates the inverse of a matrix A by a <strong>sparse</strong> matrix M.<br />
A technical idea to construct matrix M is to minimize the Frobenuis norm of the residual matrix<br />
I − MA. For more details on this preconditioner technic see [29].<br />
HYPRE implement three Krylov subspace <strong>solver</strong>s like GMRES, PCG and BiCGStab.<br />
Installation of HYPRE To install HYPRE, first download HYPRE package at [19], unpack and<br />
go to HYPRE/src source directory and do ./configure to configure Hypre. After this just type make<br />
all to create libHYPRE.a.<br />
Using HYPRE as interface to FreeFem++ Before calling HYPRE <strong>solver</strong> inside FreeFem++,<br />
you must compile file hypre FreeFem.cpp to create dynamic library hypre FreeFem.so. To do<br />
this, move to the directory src/<strong>solver</strong> of FreeFem++, edit file make f ile.inc to specify the following<br />
variables: