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

Public Member Functions

subroutine complexbandsolver (A, x, b, Free_fact)
 
subroutine cholmod_solvesystem (Solver, A, x, b, Free_fact)
 
subroutine pardiso_solvesystem (Solver, A, x, b, Free_fact)
 
subroutine directsolver (A, x, b, Solver, Free_Fact)
 
subroutine bandsolver (A, x, b, Free_Fact)
 
subroutine umfpack_solvesystem (Solver, A, x, b, Free_Fact)
 
subroutine spqr_solvesystem (Solver, A, x, b, Free_fact)
 
subroutine mumps_solvesystem (Solver, A, x, b, Free_Fact)
 
subroutine mumpslocal_solvesystem (Solver, A, x, b, Free_Fact)
 
subroutine mumpslocal_factorize (Solver, A)
 
subroutine mumpslocal_solvenullspace (Solver, A, z, nz)
 
subroutine mumpslocal_free (A)
 
subroutine superlu_solvesystem (Solver, A, x, b, Free_Fact)
 

Member Function/Subroutine Documentation

subroutine directsolve::bandsolver ( type(matrix_t)  A,
real(kind=dp), dimension(*)  x,
real(kind=dp), dimension(*)  b,
logical, optional  Free_Fact 
)

Solver the real linear system using direct band matrix solver from of Lapack.

References messages::fatal(), solvebandlapack(), and solvesbandlapack().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::cholmod_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*)  x,
real(kind=dp), dimension(*)  b,
logical, optional  Free_fact 
)

Solves a linear system using Cholmod multifrontal direct solver courtesy of University of Florida.

References messages::fatal(), lists::listgetlogical(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::complexbandsolver ( type(matrix_t)  A,
real(kind=dp), dimension(*)  x,
real(kind=dp), dimension(*)  b,
logical, optional  Free_fact 
)

Solver the complex linear system using direct band matrix solver from of Lapack.

References messages::fatal(), solvecomplexbandlapack(), and solvecomplexsbandlapack().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::directsolver ( type(matrix_t)  A,
real(kind=dp), dimension(*)  x,
real(kind=dp), dimension(*)  b,
type(solver_t)  Solver,
logical, optional  Free_Fact 
)
subroutine directsolve::mumps_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*), target  x,
real(kind=dp), dimension(*), target  b,
logical, optional  Free_Fact 
)

Solves a linear system using MUMPS direct solver. This is a legacy solver with complicated dependencies. This is only available in parallel.

References sparitersolve::continuousnumbering(), messages::fatal(), lists::listgetinteger(), lists::listgetlogical(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::mumpslocal_factorize ( type(solver_t)  Solver,
type(matrix_t)  A 
)

Factorize local matrix with Mumps.

References messages::fatal(), lists::listgetinteger(), lists::listgetlogical(), mumpslocal_free(), and solver().

Referenced by mumpslocal_solvenullspace(), and mumpslocal_solvesystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::mumpslocal_free ( type(matrix_t)  A)

Free local Mumps variables and solver internal allocations.

References messages::fatal().

Referenced by mumpslocal_factorize(), mumpslocal_solvenullspace(), and mumpslocal_solvesystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::mumpslocal_solvenullspace ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(:,:), allocatable, target  z,
integer  nz 
)

Solve local nullspace using MUMPS direct solver. On exit, z will be allocated and will hold the jth local nullspace vectors as z(j,:).

References messages::fatal(), lists::listgetlogical(), mumpslocal_factorize(), mumpslocal_free(), and solver().

Referenced by fetisolve::feti().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::mumpslocal_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*), target  x,
real(kind=dp), dimension(*), target  b,
logical, optional  Free_Fact 
)

Solves local linear system using MUMPS direct solver. If the solved system is singular, optionally one possible solution is returned.

References messages::fatal(), lists::listgetlogical(), mumpslocal_factorize(), mumpslocal_free(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::pardiso_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*), target  x,
real(kind=dp), dimension(*), target  b,
logical, optional  Free_fact 
)

Solves a linear system using Pardiso direct solver (from either MKL or official Pardiso distribution. If possible, MKL-version is used).

References messages::fatal(), lists::listgetlogical(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::spqr_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*)  x,
real(kind=dp), dimension(*)  b,
logical, optional  Free_fact 
)

Solves a linear system using SuiteSparseQR multifrontal direct solver courtesy of University of Florida.

References messages::fatal(), lists::listgetlogical(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::superlu_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*), target  x,
real(kind=dp), dimension(*), target  b,
logical, optional  Free_Fact 
)

Solves a linear system using SuperLU direct solver.

References lists::listgetinteger(), lists::listgetlogical(), and solver().

Referenced by directsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine directsolve::umfpack_solvesystem ( type(solver_t)  Solver,
type(matrix_t)  A,
real(kind=dp), dimension(*), target  x,
real(kind=dp), dimension(*), target  b,
logical, optional  Free_Fact 
)

Solves a linear system using Umfpack multifrontal direct solver courtesy of University of Florida.

References messages::fatal(), lists::listgetlogical(), lists::listgetstring(), and solver().

Referenced by directsolver().

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: