NAFPack_Iterative_Params Module


Uses

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

Used by

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

Derived Types

type, public ::  IterativeParams

Components

Type Visibility Attributes Name Initial
real(kind=dp), public, dimension(:), allocatable :: x_init
real(kind=dp), public, dimension(:, :), allocatable :: L
real(kind=dp), public, dimension(:, :), allocatable :: U
real(kind=dp), public, dimension(:, :), allocatable :: D
real(kind=dp), public, dimension(:), allocatable :: p
real(kind=dp), public, dimension(:), allocatable :: residual
real(kind=dp), public :: norm_residual
real(kind=dp), public :: norm_initial_residual = 1.d0
real(kind=dp), public :: tol = 1.0d-12
integer, public :: k = 0
integer, public :: max_iter = 1000
real(kind=dp), public :: omega = 1.d0
real(kind=dp), public :: alpha = 1.d0
real(kind=dp), public :: beta = 1.d0
type(Fill_level_used), public :: fill_level = FILL_LEVEL_NONE
logical, public :: is_stationary = .true.
logical, public :: strict_mode = .false.
real(kind=dp), public :: old_dot_product = 0.d0
type(Norm_used), public :: norm = NORM_2
procedure(ApplyPreconditioner), public, pass(params), pointer :: precond

Type-Bound Procedures

procedure, public :: norm_function

Functions

public function ApplyPreconditioner(params, method, x) result(y)

Arguments

Type IntentOptional Attributes Name
class(IterativeParams), intent(in) :: params
class(MethodPreconditioner), intent(in) :: method
real(kind=dp), intent(in), dimension(:) :: x

Return Value real(kind=dp), dimension(size(params%x_init))