FEDEM Solver  R8.0
Source code of the dynamics solver
Modules | Functions/Subroutines | Variables
feLanczosModule.f90 File Reference

Eigenvalue solver based on the Lanczos method. More...

Modules

module  felanczosmodule
 Module with a Lanczos-based eigenvalue solver.
 

Functions/Subroutines

subroutine, public felanczosmodule::felanczossolve (MsgA, structA, coeffA, factorA, MsgB, structB, coeffB, factorB, MPARB, MTREEB, MSIFB, valueB, diagB, TOL, EVL, EVC, MIP, MOP, N, NEVAL, NEVEC, MAXLAN, MSING, LPU, IPSW, INFO)
 Solves a generalized symmetric eigenvalue problem. More...
 
subroutine femgsorth (G, V, M)
 Fortran90-version of the SAM subroutine MGSOR1. More...
 
subroutine ferandomvec (V, x)
 Fortran90-version of the SAM subroutine RANVEC (generation of a pseudo-random vector). More...
 
subroutine fereorl (ALFA, BETA, VVK, VVKM1, VVKP1, BTAKP1, RLPR, TRSH, K, VPMAX)
 Fortran90-version of the SAM subroutine REORL2. More...
 
subroutine felanczosmodule::felfac (INFO, LPU, KSA, KSB, KPD, N, NEVAL, EPS, NN, MSING, MsgA, structA, coeffA, factorA, MsgB, structB, coeffB, factorB, diagB, MPARB, MTREEB, MSIFB, valueB)
 Administers the matrix factorizations for the Lanczos eigensolver. More...
 
subroutine felanczosmodule::fefindandfixzeropivots (struct, coeff, NZERO, MSING, INFO)
 Repairs isolated zero pivot elements in the matrix. More...
 
logical function get_errstat ()
 Returns .true. if an error has been detected. More...
 
subroutine felanczosmodule::fesmm (INFO, LPU, IFLAG, Ndim, AllInt, X, Y, MsgA, structA, factorA, structB, coeffB, factorB, diagB, MPARB, MTREEB, MSIFB, valueB)
 Performs some linear algebra operations for the Lanczos eigensolver. More...
 
real(wp) function, dimension(:,:), pointer matrixpointtoarray (array, rows, columns)
 Returns a matrix pointer to an array. More...
 

Variables

real(wp), dimension(:,:), allocatable, save felanczosmodule::work1
 Internal work array. More...
 
real(wp), dimension(:,:), allocatable, save felanczosmodule::work2
 Internal work array. More...
 

Detailed Description

Eigenvalue solver based on the Lanczos method.

Function/Subroutine Documentation

◆ femgsorth()

subroutine felanczossolve::femgsorth ( real(wp), dimension(:,:), intent(in)  G,
real(wp), dimension(:), intent(inout)  V,
integer, intent(in)  M 
)

Fortran90-version of the SAM subroutine MGSOR1.

◆ ferandomvec()

subroutine felanczossolve::ferandomvec ( real(wp), dimension(:), intent(out)  V,
real(wp), intent(inout)  x 
)
private

Fortran90-version of the SAM subroutine RANVEC (generation of a pseudo-random vector).

◆ fereorl()

subroutine felanczossolve::fereorl ( real(wp), dimension(:), intent(in)  ALFA,
real(wp), dimension(:), intent(in)  BETA,
real(wp), dimension(:), intent(inout)  VVK,
real(wp), dimension(:), intent(inout)  VVKM1,
real(wp), dimension(:), intent(inout)  VVKP1,
real(wp), intent(in)  BTAKP1,
real(wp), intent(in)  RLPR,
real(wp), intent(in)  TRSH,
integer, intent(in)  K,
real(wp), intent(out)  VPMAX 
)
private

Fortran90-version of the SAM subroutine REORL2.

◆ get_errstat()

logical function fefindandfixzeropivots::get_errstat

Returns .true. if an error has been detected.

◆ matrixpointtoarray()

real(wp) function, dimension(:,:), pointer fesmm::matrixpointtoarray ( real(wp), dimension(rows,columns), intent(in), target  array,
integer, intent(in)  rows,
integer, intent(in)  columns 
)

Returns a matrix pointer to an array.