abst_matrix Derived Type

type, public, abstract :: abst_matrix


Inherited by

type~~abst_matrix~~InheritedByGraph type~abst_matrix abst_matrix type~type_coo type_coo type~type_coo->type~abst_matrix type~type_crs type_crs type~type_crs->type~abst_matrix type~type_dense type_dense type~type_dense->type~abst_matrix type~abst_hydraulic abst_hydraulic type~abst_hydraulic->type~type_crs KH_star type~abst_thermal abst_thermal type~abst_thermal->type~type_crs KT_star type~type_ftdss type_ftdss type~type_ftdss->type~abst_hydraulic hydraulic type~type_ftdss->type~abst_thermal thermal type~type_hydraulic_crs type_hydraulic_crs type~type_hydraulic_crs->type~abst_hydraulic type~type_thermal_crs type_thermal_crs type~type_thermal_crs->type~abst_thermal

Type-Bound Procedures

procedure(abst_add), public, deferred, pass(self) :: add

  • subroutine abst_add(self, row, col, value) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: value

procedure(abst_destroy), public, deferred, pass(self) :: destroy

  • subroutine abst_destroy(self) Prototype

    Arguments

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

procedure(abst_find), public, deferred, pass(self) :: find

  • pure function abst_find(self, row, col) result(index) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(in) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col

    Return Value integer(kind=int32)

procedure(abst_initialize), public, deferred, pass(self) :: initialize

  • subroutine abst_initialize(self, num_nodes, row, col) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: num_nodes
    integer(kind=int32), intent(in), optional :: row(:)
    integer(kind=int32), intent(in), optional :: col(:)

procedure(abst_set), public, deferred, pass(self) :: set

  • subroutine abst_set(self, row, col, value) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: value

procedure(abst_set_all), public, deferred, pass(self) :: set_all

  • subroutine abst_set_all(self, value) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    real(kind=real64), intent(in) :: value

procedure(abst_zero), public, deferred, pass(self) :: zero

  • subroutine abst_zero(self) Prototype

    Arguments

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

Source Code

    type, abstract :: abst_matrix
        ! Abstract base type for matrices.
    contains
        procedure(abst_initialize), pass(self), deferred :: initialize !&
        procedure(abst_find),       pass(self), deferred :: find !&
        procedure(abst_set),        pass(self), deferred :: set !&
        procedure(abst_set_all),    pass(self), deferred :: set_all !&
        procedure(abst_zero),       pass(self), deferred :: zero !&
        procedure(abst_add),        pass(self), deferred :: add !&
        procedure(abst_destroy),    pass(self), deferred :: destroy !&
    end type abst_matrix