NAFPack_Preconditioners Module


Uses

  • module~~nafpack_preconditioners~~UsesGraph module~nafpack_preconditioners NAFPack_Preconditioners module~nafpack_constant NAFPack_constant module~nafpack_preconditioners->module~nafpack_constant module~nafpack_kinds NAFPack_kinds module~nafpack_preconditioners->module~nafpack_kinds module~nafpack_matricielle NAFPack_matricielle module~nafpack_preconditioners->module~nafpack_matricielle module~nafpack_matrix_decomposition NAFPack_matrix_decomposition module~nafpack_preconditioners->module~nafpack_matrix_decomposition module~nafpack_constant->module~nafpack_kinds iso_fortran_env iso_fortran_env module~nafpack_kinds->iso_fortran_env module~nafpack_matricielle->module~nafpack_kinds module~nafpack_matrix_decomposition->module~nafpack_constant module~nafpack_matrix_decomposition->module~nafpack_kinds module~nafpack_matrix_decomposition->module~nafpack_matricielle

Used by

  • module~~nafpack_preconditioners~~UsedByGraph module~nafpack_preconditioners NAFPack_Preconditioners module~nafpack_iterative_methods NAFPack_Iterative_methods module~nafpack_iterative_methods->module~nafpack_preconditioners module~nafpack_iterative_params NAFPack_Iterative_Params module~nafpack_iterative_methods->module~nafpack_iterative_params module~nafpack_iterative_params->module~nafpack_preconditioners module~nafpack_linalg NAFPack_linalg module~nafpack_linalg->module~nafpack_preconditioners module~nafpack_linalg->module~nafpack_iterative_methods module~nafpack_linalg->module~nafpack_iterative_params

Variables

Type Visibility Attributes Name Initial
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_NONE = MethodPreconditioner(0, "None")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_JACOBI = MethodPreconditioner(1, "Jacobi")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_GS = MethodPreconditioner(2, "Gauss-Seidel")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_SOR = MethodPreconditioner(3, "Successive Over-Relaxation")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_JOR = MethodPreconditioner(4, "Jacobi Over-Relaxation")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_ILU = MethodPreconditioner(5, "ILU")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_ICF = MethodPreconditioner(6, "ICF")
type(MethodPreconditioner), public, parameter :: METHOD_PRECOND_SSOR = MethodPreconditioner(7, "SSOR")
type(Fill_level_used), public, parameter :: FILL_LEVEL_NONE = Fill_level_used(-1, "None", -huge(1))
type(Fill_level_used), public, parameter :: FILL_LEVEL_0 = Fill_level_used(0, "Level 0", 0)
type(Fill_level_used), public, parameter :: FILL_LEVEL_1 = Fill_level_used(1, "Level 1", 1)
type(Fill_level_used), public, parameter :: FILL_LEVEL_2 = Fill_level_used(2, "Level 2", 2)
type(Fill_level_used), public, parameter :: FILL_LEVEL_3 = Fill_level_used(3, "Level 3", 3)
type(Fill_level_used), public :: FILL_LEVEL_N = Fill_level_used(3, "Level N", 0)

Derived Types

type, public ::  MethodPreconditioner

Components

Type Visibility Attributes Name Initial
integer, public :: id
character(len=64), public :: name

type, public ::  Fill_level_used

Components

Type Visibility Attributes Name Initial
integer, public :: id
character(len=64), public :: name
integer, public :: value

Functions

public function Calculate_Jacobi_preconditioner(A) result(D)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))

public function Calculate_Gauss_Seidel_preconditioner(A) result(L)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))

public function Calculate_SOR_preconditioner(A, omega, alpha) result(L)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))

public function Calculate_JOR_preconditioner(A, omega, alpha) result(D)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))

public function Calculate_ICF_preconditioner(A, omega, alpha, fill_level) result(L)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha
integer, intent(in), optional :: fill_level

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))


Subroutines

public subroutine Calculate_ILU_preconditioner(A, L, U, omega, alpha, fill_level)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(out), dimension(size(A, 1), size(A, 2)) :: L
real(kind=dp), intent(out), dimension(size(A, 1), size(A, 2)) :: U
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha
integer, intent(in), optional :: fill_level

public subroutine Calculate_SSOR_preconditioner(A, L, D, omega, alpha)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(out), dimension(size(A, 1), size(A, 2)) :: L
real(kind=dp), intent(out), dimension(size(A, 1), size(A, 2)) :: D
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha