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_iterative_types NAFPack_Iterative_types module~nafpack_preconditioners->module~nafpack_iterative_types 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 iso_fortran_env iso_fortran_env module~nafpack_constant->iso_fortran_env module~nafpack_iterative_types->module~nafpack_constant module~nafpack_matricielle->module~nafpack_constant module~nafpack_matrix_decomposition->module~nafpack_constant 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_iterative_methods

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")

Derived Types

type, public ::  MethodPreconditioner

Components

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

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) 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))


Subroutines

public subroutine Calculate_ILU_preconditioner(A, L, U, 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)) :: U
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha

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