Next: , Previous: Package FL.NAVIER-STOKES-FE, Up: Reference manual


6.25 Package FL.ITERATION

The FL.ITERATION package includes the definition for the abstract classes <solver>, <iterative-solver>, as well as the generic functions iterate and solve which constitutes the interface for linear and non-linear solving. Both functions work on a blackboard which is passed together with the iteration used as argument.

Several instances of iterative solvers are implemented, e.g. Gauss-Seidel, SOR, ILU (in linit.lisp) and CG (in krylow.lisp). A larger block of code is contained in a separate package FL.MULTIGRID and contains the multigrid iteration. From this class, an algebraic multigrid iteration is derived in amg.lisp and a geometric multigrid iteration in a separate file geomg.lisp and package FL.GEOMG.

— Variable: *DISCRETE-ITERATIVE-SOLVER-OBSERVE*

Standard observe quantities for iterative solvers.

— Variable: *OUTPUT-DEPTH*

Maximum iteration depth for which status output is done.

— Variable: *TIME-OBSERVE*

Observe time during an iteration. This should be used as element in the observe list of an iteration.

— Class: <BI-CGSTAB>

Preconditioned Bi-CGStab iteration

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <BLOCK-ITERATION>

Subspace correction scheme generated by collecting overlapping blocks of unknowns.

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <CG>

Preconditioned conjugate gradient iteration

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <CUSTOM-PSC>

PSC with custom BLOCK-SETUP function slot.

Superclasses: <SETUP-BLOCKS-MIXIN> <PSC>

— Class: <CUSTOM-SSC>

SSC with custom BLOCK-SETUP function slot.

Superclasses: <SETUP-BLOCKS-MIXIN> <SSC>

— Class: <FUNCTION>

The <function> class is an abstract class for a general function. This function will usually accept vector arguments, the dimensions of domain and image are fixed when defining the function. If the function is differentiable, the gradient matrix can be obtained by evaluating the gradient slot.

Direct slots:

— Class: <GAUSS-SEIDEL>

The Gauss-Seidel iteration is SOR with omega=1.

Superclasses: <SOR>

— Class: <GRADIENT-METHOD>

Gradient-method. Better use CG.

Superclasses: <LINEAR-ITERATION>

— Class: <ILU>

Incomplete LU iteration. omega is the modification parameter, eta is the diagonal enhancement.

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <ITERATION>

The iteration base class.

Direct slots:

— Class: <ITERATIVE-SOLVER>

Base class of all iterative solvers and solution strategies.

Superclasses: <ITERATION> <SOLVER>

— Class: <ITERATOR>

An <iterator> object contains functions doing iteration work or flags indicating which work has or has not to be done for calling that iterator. It is generated by the generic function make-iterator.

Direct slots:

— Class: <LINEAR-ITERATION>

The <linear-iteration> class. Linear iterations are e.g. <gauss-seidel> or <multigrid>.

Direct slots:

— Class: <LINEAR-SOLVER>

Class for linear iterative solvers.

Superclasses: <DISCRETE-ITERATIVE-SOLVER>

Direct slots:

— Class: <LU>

A linear iteration interface for the LU exact solver.

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <MULTI-ITERATION>

One step of this iteration performs nr-steps of the base iteration.

Superclasses: <LINEAR-ITERATION>

Direct slots:

— Class: <NEWTON>

Class for the Newton iteration.

Superclasses: <NONLINEAR-SOLVER>

— Class: <PSC>

Parallel subspace correction scheme.

Superclasses: <BLOCK-ITERATION>

— Class: <SAFE-LINEAR-SOLVER>

If failure occurs, object of this class try an alternative iteration. Usually this will be a direct decomposition.

Superclasses: <LINEAR-SOLVER>

Direct slots:

— Class: <SPECIAL-SOLVER>

If you happen to have a problem-adapted solver given as a function, you may use this base class.

Superclasses: <ITERATIVE-SOLVER>

Direct slots:

— Class: <SSC>

Successive subspace correction scheme.

Superclasses: <BLOCK-ITERATION>

Direct slots:

— Function: EVALUATE DOF FE-FUNC

Generic evaluation of functions on an argument. Numbers and arrays are treated as constants. Special evaluation is defined for multivariate polynomials on vectors and for <function> objects.

— Function: EVALUATE-GRADIENT POLYGON S

Generic evaluation of gradients of differentiable functions.

— Function: FINALLY ITSOLVE BLACKBOARD

Performs final operations.

— Function: INITIALLY ROTHE BLACKBOARD

Performs initial operations.

— Function: INTERMEDIATE ROTHE BLACKBOARD

Is called after initialization and after each step.

— Function: INTERVAL-METHOD FUNC A B ACCURACY

Finds zeros of functions in 1d by the interval method.

— Function: ITERATE ITER BLACKBOARD

Iterates on the data in the blackboard according to the iteration iter.

— Function: LINSOLVE MAT RHS &KEY SOL RES OUTPUT ITERATION (RESIDUAL-NORM (FUNCTION NORM)) (THRESHOLD 1.e-12) REDUCTION (MAXSTEPS 100) SUCCESS-IF FAILURE-IF &ALLOW-OTHER-KEYS

Old and deprecated interface for solving linear problems.

— Function: LU-SOLVER &KEY (OUTPUT NIL OUTPUT-P)

LU decomposition without pivoting.

— Function: MAKE-ITERATOR S1-CGIT A

Constructs an iterator object given a linear iteration and a matrix.

— Function: NEXT-STEP ROTHE BLACKBOARD

Does a step of the iteration.

— Function: PRODUCT-ITERATOR ITERATOR NR-STEPS

Returns an iterator which does several steps of the given iterator.

— Function: SETUP-BLOCKS VANKA ASA

Setup routine for determining the blocking of unknowns. Returns a list of blocks where each block is a vector of keys. May return a second value which is a list of pair. Each pair is of the form start-index/end-index and can be used to filter out different fe components.

— Function: TERMINATE-P FE-STRATEGY BLACKBOARD

Tests terminating conditions. Returns either NIL or :success or :failure.