Choral
Data Types | Functions/Subroutines
mumps_mod Module Reference

DERIVED TYPE mumps: to use the library MUMPS More...

Data Types

interface  clear
 destructor More...
 
interface  mumps
 Factorisation of csr matrices with MUMPS. More...
 
interface  solve
 solve LU x = b More...
 

Functions/Subroutines

subroutine, public mumps_init ()
 Initialisation. More...
 
subroutine mumps_clear (lu)
 Destructor. More...
 
type(mumps) function mumps_create (g, type, verb)
  Constructor for the type mumps More...
 
subroutine mumps_solve (x, LU, b)
 SOLVE LU x = b. More...
 

Detailed Description

DERIVED TYPE mumps: to use the library MUMPS

MUMPS is a direct solver for linear ssytems: http://mumps.enseeiht.fr/

The ressources in this module are available if the preprocessor variable '-DWMUMPS' has been set.
That variable is set in 'choral/CONFIG.in'

MUMPS proposes various factorisations for csr matrices

Choral constants for mumps methods: MUMPS_xxx, see the list.

A csr matrix 'a' is factorised with:

lu = mumps(a, type)

then the linear system \( ax = b \) can be solved with:

call solve(x, lu, b)
Author
Charles Pierre

Function/Subroutine Documentation

◆ mumps_clear()

subroutine mumps_mod::mumps_clear ( type(mumps), intent(inout)  lu)
private

Destructor.

Definition at line 112 of file mumps_mod.F90.

◆ mumps_create()

type(mumps) function mumps_mod::mumps_create ( type(csr), intent(in)  g,
integer, intent(in)  type,
integer, intent(in), optional  verb 
)
private

Constructor for the type mumps

  • OUTPUT:
    • lu = mumps factorisation

Definition at line 153 of file mumps_mod.F90.

Here is the call graph for this function:

◆ mumps_init()

subroutine, public mumps_mod::mumps_init ( )

Initialisation.

Definition at line 97 of file mumps_mod.F90.

Here is the call graph for this function:

◆ mumps_solve()

subroutine mumps_mod::mumps_solve ( real(rp), dimension(:), intent(inout)  x,
type(mumps), intent(inout)  LU,
real(rp), dimension(:), intent(in)  b 
)
private

SOLVE LU x = b.

Definition at line 331 of file mumps_mod.F90.

Here is the call graph for this function: