Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
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) |
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().
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().
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().
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 | ||
) |
References bandsolver(), cholmod_solvesystem(), complexbandsolver(), messages::fatal(), lists::listgetstring(), mumps_solvesystem(), mumpslocal_solvesystem(), pardiso_solvesystem(), solver(), spqr_solvesystem(), superlu_solvesystem(), and umfpack_solvesystem().
Referenced by multigrid::amgsolve(), eigensolve::arpackeigensolve(), eigensolve::arpackstabeigensolve(), multigrid::cmgsolve(), direct1dsmoother(), fetisolve::feti(), fetisolve::fetidirectsolver(), fetisolve::fetifloatingdomain(), fetisolve::fetiproject(), elementutils::freematrix(), multigrid::gmgsolve(), paralleleigensolve::parallelarpackeigensolve(), multigrid::pmgsolve(), radiationfactors(), and solverutils::solvelinearsystem().
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().
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().
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().
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().
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().
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().
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().
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().
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().