Elmer FEM solver Elmer is an open source finite element software for multiphysical problems
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 )

Here is the call graph for this function:

Here is the caller graph for this function:

 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.

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.

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,:).

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.

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: