Next: , Previous: , Up: Reference manual   [Contents][Index]

7.23 Package FL.MULTIGRID

This package contains the definition of the multigrid iteration including algebraic multigrid (AMG).

Class: <CORRECTION-SCHEME>

This is a mixin-class which yields the correction scheme. It should be merged !before! <mg-iteration> for standard CLOS class precedence.

Class: <FAS>

This is a mixin-class for <mg-iteration> which yields the behaviour of Brandt’s FAS scheme. It should be merged !before! <mg-iteration> or the derived class <geometric-mg> when using standard CLOS class precedence.

Class: <MG-ITERATION>

The multigrid iteration is a linear iteration specially suited for the solution of systems of equations with elliptic terms. In ideal situations, it solves such systems with optimal complexity. It is a complicated linear iteration, which consists of applying simple linear iterators as smoothers on a hierarchy of grids. This grid hierarchy is obtained either by discretizing on successively refined meshes (geometric multigrid) or it is constructed from matrix information alone (algebraic multigrid).

The <mg-iteration> is not intended to be used directly. Only incorporating mixins like <correction-scheme> or <fas> results in concrete classes like <algebraic-mg>.

Superclasses: <LINEAR-ITERATION>

Direct slots:

• PRE-SMOOTHER: Self-explanatory.
• PRE-STEPS: Self-explanatory.
• POST-SMOOTHER: Self-explanatory.
• POST-STEPS: Self-explanatory.
• GAMMA: Self-explanatory.
• BASE-LEVEL: Self-explanatory.
• COARSE-GRID-ITERATION: Self-explanatory.
• FMG: Self-explanatory.
• COMBINATION: Switch between additive and multiplicative combination of corrections from different levels. The additive version should be used as a preconditioner.
Class: <SELECTION-AMG>

This variant of algebraic multigrid coarsens in a special way by selecting coarse-grid nodes from the fine-grid nodes. This selection is kept in a table, which is then used by the method build-ip to build the actual interpolation matrix.

Superclasses: <ALGEBRAIC-MG>

Class: <STUEBEN>

This provides something like Stueben’s variant for selection amg. The original Ruge-Stueben algorithm was developed further since 1987 by Klaus Stueben and collaborators. These developments are published in .... The algorithm implemented here uses their ideas, but does not claim to be equivalent to their code which can be bought at SCAI, St. Augustin, Germany. At this point, I want to thank Tanja Clees for several discussions on AMG.

Superclasses: <SELECTION-AMG>

Direct slots:

• THETA: Self-explanatory.
Function: COARSE-GRID-MATRIX AMG MAT PROLONGATION RESTRICTION

Computes a coarse-grid matrix from amg, mat, prolongation and restriction.

Function: COARSEN AMG MAT

Given AMG and matrix, this generic function returns coarse-grid matrix, interpolation and restriction matrices for one coarsening step.

Function: DIRICHLET-DOF-P KEY MAT

Checks if key does not depend on other keys, so that it can be kept on the fine grid.

Function: GALERKIN-PRODUCT R A P

Builds the Galerkin product R A P. This function works for every type of matrices for which the row- and column-loop macros are defined. This procedure should be inlined into an environment where types are known for avoiding generic arithmetic.

Function: MULTILEVEL-DECOMPOSITION MG-IT A

The central generic function constructing the multilevel hierarchy.

Function: PREPROCESS-MATRIX AMG MAT

Eliminates Dirichlet or slave degrees of freedom which can be handled well by smoothing.

Function: PROLONGATION AMG MAT

Computes a prolongation matrix from amg and mat. This is often the essence of an AMG method.

Function: RESTRICTION AMG MAT PROL

Compute a restriction matrix from amg, mat and prolongation.

Function: SELECT-SMOOTHER MG-IT MATRIX

Select a suitable smoother depending on multigrid iteration and matrix.

Function: SLAVE-DOF-P KEY MAT

Checks if nothing depends on key and if key depends on other keys.

Function: SLAVE-OR-DIRICHLET-DOF-P KEY MAT

Checks if key is a hanging node or a Dirichlet node.

Next: , Previous: , Up: Reference manual   [Contents][Index]