fgmres_dp_metadata Derived Type

type, public, extends(abstract_metadata) :: fgmres_dp_metadata

FGMRES metadata.


Components

Type Visibility Attributes Name Initial
logical, public :: converged = .false.

Convergence flag.

integer, public :: info = 0

Copy of the information flag for completeness.

integer, public :: n_inner = 0

Number of inner iterations.

integer, public :: n_iter = 0

Total iteration counter.

integer, public :: n_outer = 0

Number of outer iterations (i.e. restarts)

real(kind=dp), public, dimension(:), allocatable :: res

Residual history.


Type-Bound Procedures

procedure, public, pass(self) :: print => print_fgmres_dp

  • interface

    private module subroutine print_fgmres_dp(self, reset_counters, verbose)

    Arguments

    Type IntentOptional Attributes Name
    class(fgmres_dp_metadata), intent(inout) :: self
    logical, intent(in), optional :: reset_counters

    Reset all counters to zero after printing?

    logical, intent(in), optional :: verbose

    Print the full residual history?

procedure, public, pass(self) :: reset => reset_fgmres_dp

  • interface

    private module subroutine reset_fgmres_dp(self)

    Arguments

    Type IntentOptional Attributes Name
    class(fgmres_dp_metadata), intent(inout) :: self

Source Code

    type, extends(abstract_metadata), public :: fgmres_dp_metadata
        !! FGMRES metadata.
        integer :: n_iter = 0
        !! Total iteration counter.
        integer :: n_inner = 0
        !! Number of inner iterations.
        integer :: n_outer = 0
        !! Number of outer iterations (i.e. restarts)
        real(dp), dimension(:), allocatable :: res
        !! Residual history.
        logical :: converged = .false.
        !! Convergence flag.
        integer :: info = 0
        !! Copy of the information flag for completeness.
    contains
        procedure, pass(self), public :: print => print_fgmres_dp
        procedure, pass(self), public :: reset => reset_fgmres_dp
    end type fgmres_dp_metadata