Users:General FEM Analysis/Solvers Reference/Eigensolvers

From Carat++ Public Wiki
(Difference between revisions)
Jump to: navigation, search
(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
 
Personal tools
Content for Developers