Type definition for MUMPS solver.
|
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.
|
|
◆ call_mumps()
subroutine, public type_solver_mumps::call_mumps |
( |
class(t_mumps_solver), intent(inout) | solver, |
|
|
integer, intent(in) | job ) |
- Parameters
-
[in,out] | solver | MUMPS solver. |
[in] | job | job 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] | solution | solution of the linear system. |
[in] | isol_loc | indices of the solution returned by MUMPS. |
[in] | sol_loc | values of the solution returned by MUMPS. |
[in] | row_offsets | offsets 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] | solver | MUMPS solver. |
[in] | n_nonzeros | number of nonzero coefficients. |
[in] | rhs_size | size of the global right-hand side. |