CUMIN
sparse.F90
Go to the documentation of this file.
1 
8 
9 module sparse
10 
11  use graph_mod
12  use csr_mod
13  use precond_mod
14  use mumps_mod
15  use linsysslv_mod
16  use gmres_mod
17  use eigpbslv_mod
18  use cg_mod
20 
21  implicit none
22 
23  public :: gmres_fm
24 
25  public :: clear, create, valid, print, check, set, assemble
26 
27  public :: graph, graph_transpose
28 
29  public :: csr, csr_matvec_mult
31 
32  public :: linsysslv
33  public :: linsys_solve, set_precond
34  public :: linsysslv_cg, linsysslv_gmres
35  public :: mumps_lu, mumps_ldlt, mumps_llt
36 
37  public :: precond
38  public :: precond_none
39  public :: precond_jacobi, precond_ick
42  public :: precond_iluk_split
43  !!
44  public :: reorder_none, reorder_rcmk
45 
46  public :: eigpbslv, eigpb_solve
47  public :: arpack_shift_invert_sym
48 
49  public :: cg, cg_prec, cg_fm
50 
51 
56 
57 end module sparse
precond_mod::reorder_none
integer, parameter, public reorder_none
no re-rdering
Definition: precond_mod.F90:86
ode_problem_mod::print
Definition: ode_problem_mod.F90:151
graph_mod::graph
The type graph stores sparse matrices of boolean in CSR format. See graph_mod description.
Definition: graph_mod.F90:58
precond_mod::precond
The type precond defines preconditioning for linear systems.
Definition: precond_mod.F90:98
ode_problem_mod::create
Definition: ode_problem_mod.F90:143
precond_mod::precond_jacobi_left
integer, parameter, public precond_jacobi_left
Left Jacobi preconditioning.
Definition: precond_mod.F90:69
sparse
TOP-LEVEL MODULE for the 'sparse' project.
Definition: sparse.F90:9
graph_mod
DERIVED TYPE graph: sparse matrices of boolean in CSR format
Definition: graph_mod.F90:31
linsysslv_mod::linsysslv_gmres
integer, parameter, public linsysslv_gmres
GMRES solver.
Definition: linSysSlv_mod.F90:70
precond_mod::reorder_rcmk
integer, parameter, public reorder_rcmk
Reverse CutHill Mac-Key.
Definition: precond_mod.F90:88
graph_mod::check
Definition: graph_mod.F90:103
gmres_mod
GMRes solver for linear systems.
Definition: gmres_mod.F90:11
csr_mod::csr_matvec_mult
real(rp) function, dimension(m%nl), public csr_matvec_mult(m, u)
Matrix vector product v <= m*u,.
Definition: csr_mod.F90:486
precond_mod::precond_none
integer, parameter, public precond_none
no preconditioning
Definition: precond_mod.F90:65
graph_mod::graph_transpose
subroutine, public graph_transpose(Tg, g, verb)
Transpose graph: the graph g and Tg have transpose adjacency matrices.
Definition: graph_mod.F90:533
mumps_mod::mumps_lu
integer, parameter, public mumps_lu
MUMPS, LU.
Definition: mumps_mod.F90:37
eigpbslv_mod::eigpbslv
Definition: eigPbSlv_mod.F90:58
linsysslv_mod::linsysslv
Definition: linSysSlv_mod.F90:81
csr_mod::csr
Derived type for sparse matrices in CSR format.
Definition: csr_mod.F90:43
precond_mod::precond_ick
integer, parameter, public precond_ick
Incomplete Cholesky, iC(k)
Definition: precond_mod.F90:79
eigpbslv_mod::arpack_shift_invert_sym
integer, parameter, public arpack_shift_invert_sym
Shift-invert with ARPACK.
Definition: eigPbSlv_mod.F90:47
ode_output_mod::assemble
assemble the output (finalise construction)
Definition: ode_output_mod.F90:333
sparse_output_mod
Module for sparse outputs:
Definition: sparse_output_mod.F90:12
mumps_mod::mumps_ldlt
integer, parameter, public mumps_ldlt
MUMPS, LLT.
Definition: mumps_mod.F90:38
csr_mod::csr_add_samepattern
subroutine, public csr_add_samepattern(m1, m2, a)
CSR matrix addition: m1 = m1 + a * m2 a = scalar argument.
Definition: csr_mod.F90:911
linsysslv_mod
DERIVED TYPE linSysSlv: definition of linear system solvers
Definition: linSysSlv_mod.F90:50
cg_mod
Conjugate Gradient (CG)
Definition: cg_mod.F90:11
precond_mod::precond_iluk_left
integer, parameter, public precond_iluk_left
incomplete LU(k), left preconditionning
Definition: precond_mod.F90:75
cg_mod::cg_fm
integer function, public cg_fm(x, iter, res, A, b, N, tol, itmax)
CG for nxn real array matrix.
Definition: cg_mod.F90:428
precond_mod::precond_jacobi_right
integer, parameter, public precond_jacobi_right
Right Jacobi preconditioning.
Definition: precond_mod.F90:71
precond_mod::precond_jacobi
integer, parameter, public precond_jacobi
Jacobi preconditioning.
Definition: precond_mod.F90:67
linsysslv_mod::set_precond
subroutine, public set_precond(k, type, reorder, fill_in, verb)
Define preconditioning for the variable 'slv' linSysSlv
Definition: linSysSlv_mod.F90:297
linsysslv_mod::linsys_solve
Definition: linSysSlv_mod.F90:143
ode_problem_mod::valid
Definition: ode_problem_mod.F90:147
linsysslv_mod::linsysslv_cg
integer, parameter, public linsysslv_cg
Conjugate gradient.
Definition: linSysSlv_mod.F90:69
ode_output_mod::set
set the output parameters
Definition: ode_output_mod.F90:328
precond_mod
DERIVED TYPE precond: preconditioning for linear systems
Definition: precond_mod.F90:28
ode_problem_mod::clear
Definition: ode_problem_mod.F90:139
csr_mod
DERIVED TYPE csr: sparse matrices of reals in CSR format
Definition: csr_mod.F90:13
mumps_mod::mumps_llt
integer, parameter, public mumps_llt
MUMPS; LDLT.
Definition: mumps_mod.F90:39
precond_mod::precond_iluk_right
integer, parameter, public precond_iluk_right
incomplete LU(k), right preconditionning
Definition: precond_mod.F90:73
eigpbslv_mod
DERIVED TYPE eigPbSlv: definition of eigen problem solvers
Definition: eigPbSlv_mod.F90:33
eigpbslv_mod::eigpb_solve
subroutine, public eigpb_solve(eps, lss, S, M, verb)
SOLVE the generalised eigen-problem .
Definition: eigPbSlv_mod.F90:252
gmres_mod::gmres_fm
integer function, public gmres_fm(x, iter, nbPrd, res, A, b, N, tol, itmax, rst, verb)
GMRES for a full matrix.
Definition: gmres_mod.F90:502
csr_mod::csr_add_submatrix
subroutine, public csr_add_submatrix(m, m2, a, verb)
CSR matrix addition m := m + a * m2 a = scalar argument.
Definition: csr_mod.F90:1115
cg_mod::cg_prec
integer function, public cg_prec(x, iter, A_nbProd, res, A, b, pc, N, tol, itmax, verb)
Preconditioned conjugate gradient Source = Algorithm 9.1 p. 277 in: Youssef SAAD,...
Definition: cg_mod.F90:256
csr_mod::csr_add
subroutine, public csr_add(m, m1, m2, a, verb)
CSR matrix addition: m = m1 + a * m2, a = scalar argument.
Definition: csr_mod.F90:969
cg_mod::cg
integer function, public cg(x, iter, A_nbProd, res, A, b, N, tol, itmax, verb)
CG for an operator matrix.
Definition: cg_mod.F90:69
precond_mod::precond_iluk_split
integer, parameter, public precond_iluk_split
incomplete LU(k), splitted preconditionning
Definition: precond_mod.F90:77
mumps_mod
DERIVED TYPE mumps: wrapper for the mumps library
Definition: mumps_mod.F90:20