The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
oft_arpack Module Reference

Detailed Description

Interface to parallel ARPACK for eigenvalue problems.

Authors
Chris Hansen
Date
June 2012

Data Types

interface  dnaupd
 Interface to pdnaupd from ARPACK. More...
 
interface  dneupd
 Interface to dneupd from ARPACK. More...
 
interface  dsaupd
 Interface to pdsaupd from ARPACK. More...
 
interface  dseupd
 Interface to dseupd from ARPACK. More...
 
type  oft_iram_eigsolver
 Implicity Restarted Arnoldi Method. More...
 
type  oft_irlm_eigsolver
 Implicity Restarted Lanczos Method. More...
 
interface  pdnaupd
 Interface to pdnaupd from ARPACK. More...
 
interface  pdneupd
 Interface to pdneupd from ARPACK. More...
 
interface  pdsaupd
 Interface to pdsaupd from ARPACK. More...
 
interface  pdseupd
 Interface to pdseupd from ARPACK. More...
 

Functions/Subroutines

subroutine iram_delete (self)
 Destroy diagonal preconditioner and deallocate all internal storage.
 
subroutine iram_eig_apply (self, u, alam)
 Compute the eigenvalue and eigenvector of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Arnoldi Iteration.
 
subroutine iram_eig_max (self, u, alam)
 Compute the largest 2 eigenvalues of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Arnoldi Iteration.
 
subroutine irlm_delete (self)
 Destroy diagonal preconditioner and deallocate all internal storage.
 
subroutine irlm_eig_apply (self, u, alam)
 Compute the eigenvalue and eigenvector of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Lanczos Iteration.
 
subroutine irlm_eig_max (self, u, alam)
 Compute the largest 2 eigenvalues of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Lanczos Iteration.
 

Function/Subroutine Documentation

◆ iram_delete()

subroutine iram_delete ( class(oft_iram_eigsolver), intent(inout)  self)
private

Destroy diagonal preconditioner and deallocate all internal storage.

◆ iram_eig_apply()

subroutine iram_eig_apply ( class(oft_iram_eigsolver), intent(inout)  self,
class(oft_vector), intent(inout)  u,
real(r8), intent(inout)  alam 
)
private

Compute the eigenvalue and eigenvector of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Arnoldi Iteration.

Solver employs the ARPACK non-symmetric driver routine. The location of the eigenvalue is set in the calling class.

Parameters
[in,out]uGuess field/Eigenvector
[in,out]alamEigenvalue

◆ iram_eig_max()

subroutine iram_eig_max ( class(oft_iram_eigsolver), intent(inout)  self,
class(oft_vector), intent(inout)  u,
real(r8), intent(inout)  alam 
)
private

Compute the largest 2 eigenvalues of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Arnoldi Iteration.

Solver employs the ARPACK non-symmetric driver routine. Currently the guess field is only used to create work vectors and a random initialization is used for the solver.

Parameters
[in,out]uGuess field/Eigenvector
[in,out]alamEigenvalue

◆ irlm_delete()

subroutine irlm_delete ( class(oft_irlm_eigsolver), intent(inout)  self)
private

Destroy diagonal preconditioner and deallocate all internal storage.

◆ irlm_eig_apply()

subroutine irlm_eig_apply ( class(oft_irlm_eigsolver), intent(inout)  self,
class(oft_vector), intent(inout)  u,
real(r8), intent(inout)  alam 
)
private

Compute the eigenvalue and eigenvector of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Lanczos Iteration.

Solver employs the ARPACK symmetric driver routine dsaupd. The location of the eigenvalue is set in the calling class.

Parameters
[in,out]uGuess field/Eigenvector
[in,out]alamEigenvalue

◆ irlm_eig_max()

subroutine irlm_eig_max ( class(oft_irlm_eigsolver), intent(inout)  self,
class(oft_vector), intent(inout)  u,
real(r8), intent(inout)  alam 
)
private

Compute the largest 2 eigenvalues of a matrix system (A*x = Lam*M*x) using an Implicitly Restarted Lanczos Iteration.

Solver employs the ARPACK symmetric driver routine. Currently the guess field is only used to create work vectors and a random initialization is used for the solver.

Parameters
[in,out]uGuess field/Eigenvector
[in,out]alamEigenvalue