Choral
Data Types | Functions/Subroutines
precond_mod Module Reference

DERIVED TYPE precond: preconditioning for linear systems More...

Data Types

interface  clear
 destructor More...
 
interface  precond
 The type precond defines preconditioning for linear systems. More...
 

Functions/Subroutines

subroutine precond_clear (pc)
 
type(precond) function precond_create (K, type)
  Constructor for the type precond More...
 
subroutine, public jacobi (invD, s)
 Jacobi preconditioner. More...
 
subroutine, public reverse_cuthill_mackey (perm, permInv, s)
 Reverse CutHill Mac Kee algorithm. More...
 
subroutine, public icc0 (LLT, s)
 Incomplete Choleski decomposition with 0 fill-in for s. More...
 

Detailed Description

DERIVED TYPE precond: preconditioning for linear systems

Preconditioning for linear systems with csr matrix.

Choral constants for preconditioning have the form PC_xxx.

Let a sparse matrix 'A' of type csr. A preconditionner 'pc' of type precond for 'A' is constructed with

pc = precond(a, type)

To solve \( Ax = b \) with the preconditionner 'pc' and with linear solver setting 'kry' of type krylov:

call solve(x, kry, b, A, pc)

see the solve documentation.

Author
Charles Pierre

Function/Subroutine Documentation

◆ icc0()

subroutine, public precond_mod::icc0 ( type(csr), intent(out)  LLT,
type(csr), intent(inout)  s 
)

Incomplete Choleski decomposition with 0 fill-in for s.

Definition at line 297 of file precond_mod.F90.

Here is the call graph for this function:

◆ jacobi()

subroutine, public precond_mod::jacobi ( real(rp), dimension(:), allocatable  invD,
type(csr), intent(inout)  s 
)

Jacobi preconditioner.

Definition at line 173 of file precond_mod.F90.

Here is the call graph for this function:

◆ precond_clear()

subroutine precond_mod::precond_clear ( type(precond), intent(inout)  pc)
private

Definition at line 100 of file precond_mod.F90.

◆ precond_create()

type(precond) function precond_mod::precond_create ( type(csr), intent(inout)  K,
integer, intent(in)  type 
)
private

Constructor for the type precond

  • OUTPUT:
    • pc = precond
  • INPUT:
  • type = preconditioning type
  • K = csr matrix

Definition at line 121 of file precond_mod.F90.

Here is the call graph for this function:

◆ reverse_cuthill_mackey()

subroutine, public precond_mod::reverse_cuthill_mackey ( integer, dimension(:), allocatable  perm,
integer, dimension(:), allocatable  permInv,
type(csr), intent(in)  s 
)

Reverse CutHill Mac Kee algorithm.

Definition at line 201 of file precond_mod.F90.

Here is the call graph for this function: