Type definition for MUMPS solver. More...
| Data Types | |
| type | t_mumps_solver | 
| MUMPS solvers.  More... | |
| Enumerations | |
| enum | { verbosity_none = 0 , verbosity_error , verbosity_warning , verbosity_diagnostic , verbosity_info } | 
| Enumerator for the 'verbosity' parameter.  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. | |
| subroutine | compute_row_rank (row, row_offsets, row_rank) | 
| Computes the rank of the processor to which the row belongs. | |
Type definition for MUMPS solver.
| 
 | private | 
Enumerator for the 'verbosity' parameter.
| subroutine, public type_solver_mumps::call_mumps | ( | class(t_mumps_solver), intent(inout) | solver, | 
| integer, intent(in) | job ) | 
Call MUMPS and look for error or warning (check INFOG(1)).
| [in,out] | solver | MUMPS solver. | 
| [in] | job | job number. | 
MUMPS interface
| 
 | private | 
Computes the rank of the processor to which the row belongs.
Use a binary search algorithm for faster performance.
| [in] | row | row index. | 
| [in] | row_offsets | offsets of the global indices (size n_mpi_proc). | 
| [out] | row_rank | rank of the processor to which the row belongs. | 
| 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 ) | 
Redistribute the solution across the processes.
The solution returned by MUMPS is indexed differently from the global indexing. This routine redistribute the solution.
| [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). | 
| 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 ) | 
Initialization of MUMPS (JOB = -1) and set-up the parameters for the analysis without filling the matrix.
| [in,out] | solver | MUMPS solver. | 
| [in] | n_nonzeros | number of nonzero coefficients. | 
| [in] | rhs_size | size of the global right-hand side. |