Users:General FEM Analysis/Solvers Reference/Eigensolvers
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 |