hypre/FEI_mv/fei-base
2000-08-04 19:27:40 +00:00
..
base Modifications made to conform to FEI 1.5. 2000-08-04 19:27:40 +00:00
fei-drivers FEI 1.2 additions - Tong (2/28/2000). 2000-02-28 20:05:15 +00:00
lib FEI 1.2 additions - Tong (2/28/2000) 2000-02-28 20:03:12 +00:00
other FEI 1.2 additiions - Tong (2/28/2000) 2000-02-28 20:03:40 +00:00
setup FEI 1.2 additioins - Tong (2/28/2000). 2000-02-28 20:04:13 +00:00
src Correct an error with veryclean. Tong (2/28/2000) 2000-02-28 21:26:44 +00:00
util FEI 1.2 additions - Tong (2/28/2000). 2000-02-28 20:05:15 +00:00
cfei-isis.h FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
configure FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
fei-isis.h FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
fei.h FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
make.options FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
make.options.orig FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
Makefile.depends FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
Makefile.in Error correction - Tong (2/29/00) 2000-02-29 17:21:06 +00:00
README.fei-usage FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
README.parameters.fei-isis FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
setMake FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00
version FEI 1.2 additions - Tong (2.28/2000) 2000-02-28 20:02:00 +00:00

This README file describes the parameters mechanism for controlling the
fei-isis implementation of the finite element interface (FEI).

In general, the parameters mechanism accepts a collection of strings
in the style of the "argc" and "argv" parameters for C programs.
These strings are always of the form "parameter-name parameter-value"
(i.e., separated by a space.)

The ISIS++ fei implementation currently accepts the following
parameter-names, and corresponding values:

parameter-name              value
---------------------------------
outputLevel                 0   (no screen output)
                            1   (iteration numbers,  residual norms)
                            2   (lots of screen output)

debugOutput                 <path>   (<path> is the location in which to
                                      dump trace-type debugging output files.
                                      This also causes the assembled matrix
                                      to be dumped out (in A_ISIS.mtx....).
                                      i.e., dumpMatrix below is also set.)

dumpMatrix                  <path>  (<path> is the location in which to
                                     dump the matrix and vector files. Use this
                                     option if you want to dump the matrix files
                                     but don't want to dump the debugOutput
                                     files above. (The debugOutput files can be
                                     very large, and there's a file for each
                                     processor.))

solver                      cg
                            cgs
                            bicgstab
                            qmr
                            gmres
                            fgmres
                            defgmres

preconditioner              identity    (no preconditioning)
                            diagonal    (point-wise diagonal scaling)
                            polynomial  (neumann or least-squares polynomial)
                            bj          (block-jacobi)
                            spai        (sparse approximate inverse)
                                        (SPAI accepts several control
                                         parameters, to be documented here
                                         soon.)

rowScale                    true  (turns on row-wise scaling of the matrix)
                            false (      off                              )

colScale                    true  (turns on column-wise scaling of the matrix)
                            false (      off                                 )


When the FEI function iterateToSolve is called to launch the iterative
solver, the user-supplied parameters are also passed on to the solver
and preconditioner being used. The valid values vary to some extent
from one solver to another, but all ISIS++ solvers accept these
parameters:

maxIterations     n     (value should be some integer)
tolerance         tol   (some floating-point number, like 1.e-10)

Parameters to particular preconditioners and solvers in ISIS++ include the
following:

*************************
Polynomial preconditioner

parameter-name    value
------------------------
polyType           1           (Neumann polynomial)
polyType           2           (Least Squares polynomial)
polyOrder          <n>         (Order or degree of the polynomial)

***************************
Block Jacobi preconditioner

parameter-name    value
------------------------
blockSize         <n>        (Size of diagonal blocks to be inverted)
blockType          1         (Non-overlapping blocks)
blockType          2         (Overlapping blocks, but not across
                              processor boundaries.)

*************************
All GMRES solver variants

parameter-name    value
------------------------
restart           <n>       (Size of the Krylov subspace between restarts)


Note: additional ISIS++ solvers and preconditioners to be added:

Other ISIS++ solvers and preconditioners which are not yet supported
through the FEI include:

Krylov solvers:
    CGNE
    CGNR

Preconditioners:
    CGNE_Diagonal
    CGNE_BlockJacobi
    CGNE_Polynomial
    CGNR_Polynomial

These will be enabled in an upcoming fei-isis code relese.


(I'll be putting together some actual FEI usage documentation, but it isn't
available yet.)

Alan Williams (william@ca.sandia.gov)