version 0.6.0
Loading...
Searching...
No Matches
type_solver_mumps Module Reference

Type definition for MUMPS solver.

Data Types

type  t_mumps_solver
 MUMPS solvers. More...
 

Functions/Subroutines

subroutine, public call_mumps (solver, job)
 Call MUMPS and look for error or warning (check INFOG(1)).
 
subroutine, public mumps_setup (solver, n_nonzeros, rhs_size)
 Initialization of MUMPS (JOB = -1) and set-up the parameters for the analysis without filling the matrix.
 
subroutine, public distribute_solution (solution, isol_loc, sol_loc, row_offsets)
 Redistribute the solution across the processes.
 

Function/Subroutine Documentation

◆ call_mumps()

subroutine, public type_solver_mumps::call_mumps ( class(t_mumps_solver), intent(inout) solver,
integer, intent(in) job )
Parameters
[in,out]solverMUMPS solver.
[in]jobjob number.

MUMPS interface

◆ distribute_solution()

subroutine, public type_solver_mumps::distribute_solution ( double precision, dimension(:), intent(out) solution,
integer, dimension(:), intent(in) isol_loc,
double precision, dimension(:), intent(in) sol_loc,
integer, dimension(:), intent(in) row_offsets )

The solution returned by MUMPS is indexed differently from the global indexing. This routine redistribute the solution.

Parameters
[out]solutionsolution of the linear system.
[in]isol_locindices of the solution returned by MUMPS.
[in]sol_locvalues of the solution returned by MUMPS.
[in]row_offsetsoffsets of the global indices (size n_mpi_proc).

◆ mumps_setup()

subroutine, public type_solver_mumps::mumps_setup ( class(t_mumps_solver), intent(inout) solver,
integer(kind=8), intent(in) n_nonzeros,
integer, intent(in) rhs_size )
Parameters
[in,out]solverMUMPS solver.
[in]n_nonzerosnumber of nonzero coefficients.
[in]rhs_sizesize of the global right-hand side.