*** empty log message ***
This commit is contained in:
parent
86b67a26c7
commit
3315c72481
107
FEI_matrix_vector/fei-isis/README.parameters
Normal file
107
FEI_matrix_vector/fei-isis/README.parameters
Normal file
@ -0,0 +1,107 @@
|
||||
This README file describes the parameters mechanism for controlling the
|
||||
linear solver underlying the finite element interface.
|
||||
|
||||
In general, the parameters mechanism accepts a collection of strings
|
||||
in the style of the "argc" and "argv" parameters for C programs.
|
||||
|
||||
The ISIS++ fei implementation currently accepts the following
|
||||
parameter-names, and corresponding values:
|
||||
|
||||
parameter-name value
|
||||
---------------------------------
|
||||
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)
|
||||
|
||||
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 the
|
||||
parameters:
|
||||
|
||||
maxIterations (value should be some integer)
|
||||
tolerance (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
|
||||
SPAI (Sparse Approximate Inverse)
|
||||
(SPAI accepts several control parameters, to be
|
||||
documented here later.)
|
||||
|
||||
These will be enabled in an upcoming fei-isis code relese.
|
||||
|
||||
Additionally, if preconditioners from CASC (LLNL) are (separately)
|
||||
installed, we will be able to turn on recognition of these preconditioners:
|
||||
|
||||
SAILS
|
||||
PILUT
|
||||
AMGe
|
||||
|
||||
(the SAILS preconditioner is actually installed as part of the ISIS++
|
||||
distribution, and can be enabled any time.)
|
||||
|
||||
|
||||
|
||||
(I'm putting together some actual FEI usage documentation, but it isn't
|
||||
available yet.)
|
||||
|
||||
Alan Williams (william@ca.sandia.gov)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user