Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
eigensolve Module Reference

Public Member Functions

subroutine checkresiduals (Matrix, n, Eigs, EigVectors)
 
subroutine arpackstabeigensolve (Solver, Matrix, N, NEIG, EigValues, EigVectors)
 
subroutine arpackeigensolvecomplex (Solver, Matrix, N, NEIG, EigValues, EigVectors)
 
subroutine arpackdampedeigensolve (Solver, KMatrix, N, NEIG, EigValues, EigVectors)
 
subroutine eigenbicg (n, KMatrix, MMatrix, BMatrix, x, b, Rounds, TOL, UseI, IScale)
 
real(kind=dp) function eigenmgdot (n, x, y)
 
subroutine eigenmgmv1 (n, KMatrix, MMatrix, BMatrix, x, b, UseI, IScale)
 
subroutine eigenmgmv2 (n, MMatrix, x, b, UseI, IScale)
 
subroutine arpackeigensolve (Solver, Matrix, N, NEIG, EigValues, EigVectors)
 

Member Function/Subroutine Documentation

subroutine eigensolve::arpackdampedeigensolve ( type(solver_t), target  Solver,
type(matrix_t), pointer  KMatrix,
integer  N,
integer  NEIG,
complex(kind=dp), dimension(:)  EigValues,
complex(kind=dp), dimension(:,:)  EigVectors 
)
Parameters
kmatrixSolution of Eigen value problems using ARPACK library, damped version.

References generalutils::allocatematrix(), crsmatrix::crs_incompletelu(), eigenbicg(), eigenmgmv2(), messages::error(), messages::fatal(), elementutils::freematrix(), messages::info(), lists::listaddlogical(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetstring(), solver(), generalutils::sortc(), and messages::warn().

Referenced by arpackeigensolve().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::arpackeigensolve ( type(solver_t), target  Solver,
type(matrix_t), pointer  Matrix,
integer  N,
integer  NEIG,
complex(kind=dp), dimension(:)  EigValues,
complex(kind=dp), dimension(:,:)  EigVectors 
)

Solution of Eigen value problems using ARPACK library.

References arpackdampedeigensolve(), arpackstabeigensolve(), blocksolveext(), checkresiduals(), crsmatrix::crs_ilut(), crsmatrix::crs_matrixvectormultiply(), directsolve::directsolver(), messages::fatal(), messages::info(), itersolve::itersolver(), lists::listaddlogical(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetstring(), lists::listremove(), multigrid::multigridsolve(), solver(), and generalutils::sortc().

Referenced by fetisolve::fetifloatingdomain(), and solverutils::solveeigensystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::arpackeigensolvecomplex ( type(solver_t), target  Solver,
type(matrix_t), pointer  Matrix,
integer  N,
integer  NEIG,
complex(kind=dp), dimension(:)  EigValues,
complex(kind=dp), dimension(:,:)  EigVectors 
)
Parameters
matrixSolution of Eigen value problems using ARPACK library, complex valued version.

References crsmatrix::crs_complexilut(), crsmatrix::crs_complexlusolve(), crsmatrix::crs_complexmatrixvectormultiply(), messages::fatal(), messages::info(), itersolve::itersolver(), lists::listaddlogical(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetstring(), multigrid::multigridsolve(), solver(), and generalutils::sortc().

Referenced by solverutils::solveeigensystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::arpackstabeigensolve ( type(solver_t), target  Solver,
type(matrix_t), pointer  Matrix,
integer  N,
integer  NEIG,
complex(kind=dp), dimension(:)  EigValues,
complex(kind=dp), dimension(:,:)  EigVectors 
)

Solution of Eigen value problems using ARPACK library, stabilized version.

References crsmatrix::crs_ilut(), crsmatrix::crs_matrixvectormultiply(), directsolve::directsolver(), messages::error(), messages::fatal(), messages::info(), itersolve::itersolver(), lists::listaddlogical(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetstring(), lists::listremove(), multigrid::multigridsolve(), solver(), and generalutils::sortc().

Referenced by arpackeigensolve().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::checkresiduals ( type(matrix_t), pointer  Matrix,
integer  n,
complex(kind=dp), dimension(:)  Eigs,
complex(kind=dp), dimension(:,:)  EigVectors 
)

References crsmatrix::crs_matrixvectormultiply(), and messages::info().

Referenced by arpackeigensolve().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::eigenbicg ( integer  n,
type(matrix_t), pointer  KMatrix,
type(matrix_t), pointer  MMatrix,
type(matrix_t), pointer  BMatrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  b,
integer  Rounds,
real(kind=dp)  TOL,
logical  UseI,
real(kind=dp)  IScale 
)

References crsmatrix::crs_lusolve(), eigenmgdot(), eigenmgmv1(), messages::fatal(), and messages::info().

Referenced by arpackdampedeigensolve().

Here is the call graph for this function:

Here is the caller graph for this function:

real(kind=dp) function eigensolve::eigenmgdot ( integer  n,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  y 
)

Referenced by eigenbicg().

Here is the caller graph for this function:

subroutine eigensolve::eigenmgmv1 ( integer  n,
type(matrix_t), pointer  KMatrix,
type(matrix_t), pointer  MMatrix,
type(matrix_t), pointer  BMatrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  b,
logical  UseI,
real(kind=dp)  IScale 
)

References crsmatrix::crs_matrixvectormultiply().

Referenced by eigenbicg().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine eigensolve::eigenmgmv2 ( integer  n,
type(matrix_t), pointer  MMatrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  b,
logical  UseI,
real(kind=dp)  IScale 
)

References crsmatrix::crs_matrixvectormultiply().

Referenced by arpackdampedeigensolve().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: