Users:General FEM Analysis/Solvers Reference/Eigensolvers
(Created page with 'Category: Users:General FEM Analysis ''Carat++'' offers one in-house eigen solver which is independant of any third part libraries and two solvers which are depending on the…') |
(→Eigen Subspace Iteration) |
||
Line 13: | Line 13: | ||
<pre> | <pre> | ||
PC-SOLVER 1: EIGEN_SUBSPACE_IT | PC-SOLVER 1: EIGEN_SUBSPACE_IT | ||
+ | SUBSOLVE = CROUT_SKYLINE ! or CHOLMOD | ||
+ | SUBSOLVE_EIG = LAPACK ! or JACOBI or QR | ||
BANDWITH = CUTHILL_MCKEE | BANDWITH = CUTHILL_MCKEE | ||
REL_TOLERANCE = 1E-12 | REL_TOLERANCE = 1E-12 | ||
Line 19: | Line 21: | ||
Like for all Skyline matrix applications, a bandwidth optimization is strictly recommended. | Like for all Skyline matrix applications, a bandwidth optimization is strictly recommended. | ||
− | |||
== TRILINOS-based algorithm == | == TRILINOS-based algorithm == |
Revision as of 11:15, 6 December 2011
Carat++ offers one in-house eigen solver which is independant of any third part libraries and two solvers which are depending on the TRILINOS package.
All of this solvers are based on Krylow subspace-iteration methods.
Contents |
In-house algorithm
Eigen Subspace Iteration
This is a self-programmed Krylow-Schur method based on a Skyline matrix storage format. It is based on the in-house linear solver Crout Skyline as sub-solving routine.
Within the input block the tolerance and the maximum number of iterations has to be defined.
PC-SOLVER 1: EIGEN_SUBSPACE_IT SUBSOLVE = CROUT_SKYLINE ! or CHOLMOD SUBSOLVE_EIG = LAPACK ! or JACOBI or QR BANDWITH = CUTHILL_MCKEE REL_TOLERANCE = 1E-12 MAX_NUM_ITER = 5000
Like for all Skyline matrix applications, a bandwidth optimization is strictly recommended.
TRILINOS-based algorithm
Eigen Subspace Iteration
This is in principle the same algorithm as the one implemented in the in-house solver. The differences are that the linear algebra is based on TRILINOS Epetra (CSR-Matrix) and any linear TRILINOS solver can be used as a sub-solver.
PC-SOLVER 1: TRILINOS_EIGEN_SUBSPACE_IT BANDWITH = CUTHILL_MCKEE REL_TOLERANCE = 1E-12 MAX_NUM_ITER = 1000 SUB_SOLVER = PC-SOLVER 2 ! Any TRILINOS linear solver OUTPUT = WARNINGS ! choose: WARNINGS ERRORS DETAILS
ANASAZI eigen solver
ANASAZI is the eigen solver package of TRILINOS, providing Block-Krylow-Schur and Block-Davidson methods. In general an ANASAZI solver should perform better than the in-house coded subspace iteration solver, so ANASAZI should be prefered if it is available.
PC-SOLVER 1: TRILINOS_ANASAZI BANDWITH = CUTHILL_MCKEE REL_TOLERANCE = 1E-12 MAX_NUM_ITER = 1000 TYPE = BLOCK_KRYLOV_SCHUR SUB_SOLVER = PC-SOLVER 2 ! Any TRILINOS linear solver OUTPUT = DETAILS ! choose: WARNINGS ERRORS DETAILS
Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |