ComponentDriver Derived Type

type, public, abstract :: ComponentDriver


Inherited by

type~~componentdriver~~InheritedByGraph type~componentdriver ComponentDriver type~componentdriverptr ComponentDriverPtr type~componentdriverptr->type~componentdriver ptr type~griddedcomponentdriver GriddedComponentDriver type~griddedcomponentdriver->type~componentdriver type~componentdrivervector ComponentDriverVector type~griddedcomponentdriver->type~componentdrivervector export_couplers, import_couplers type~stateitemextension StateItemExtension type~stateitemextension->type~componentdriver producer type~stateitemextension->type~componentdrivervector consumers type~vector_wrapper~20 vector_wrapper type~vector_wrapper~20->type~componentdriver item type~verticalregridaction VerticalRegridAction type~verticalregridaction->type~componentdriver v_in_coupler, v_out_coupler type~actualptcomponentdrivermappair ActualPtComponentDriverMapPair type~actualptcomponentdrivermappair->type~griddedcomponentdriver second type~componentdrivervector->type~vector_wrapper~20 elements type~componentdrivervectoriterator ComponentDriverVectorIterator type~componentdrivervectoriterator->type~vector_wrapper~20 elements type~griddedcomponentdriverpair GriddedComponentDriverPair type~griddedcomponentdriverpair->type~griddedcomponentdriver second type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~griddedcomponentdriver user_gc_driver type~stateitemextensionptr StateItemExtensionPtr type~stateitemextensionptr->type~stateitemextension ptr type~vector_wrapper~19 vector_wrapper type~vector_wrapper~19->type~componentdriverptr item type~vector_wrapper~24 vector_wrapper type~vector_wrapper~24->type~stateitemextension item type~componentdriverptrvector ComponentDriverPtrVector type~componentdriverptrvector->type~vector_wrapper~19 elements type~componentdriverptrvectoriterator ComponentDriverPtrVectorIterator type~componentdriverptrvectoriterator->type~vector_wrapper~19 elements type~couplermetacomponent CouplerMetaComponent type~couplermetacomponent->type~componentdrivervector consumers type~couplermetacomponent->type~componentdriverptrvector sources type~map_s_node~9 map_s_Node type~map_s_node~9->type~actualptcomponentdrivermappair value type~map_s_node~9->type~map_s_node~9 parent type~stateitemextensionvector StateItemExtensionVector type~stateitemextensionvector->type~vector_wrapper~24 elements type~stateitemextensionvectoriterator StateItemExtensionVectorIterator type~stateitemextensionvectoriterator->type~vector_wrapper~24 elements type~vector_wrapper~23 vector_wrapper type~vector_wrapper~23->type~stateitemextensionptr item type~vectorriterator~15 VectorRIterator type~vectorriterator~15->type~componentdrivervectoriterator iterator type~map_setiterator~9 map_SetIterator type~map_setiterator~9->type~map_s_node~9 node type~stateitemextensionptrvector StateItemExtensionPtrVector type~stateitemextensionptrvector->type~vector_wrapper~23 elements type~stateitemextensionptrvectoriterator StateItemExtensionPtrVectorIterator type~stateitemextensionptrvectoriterator->type~vector_wrapper~23 elements type~stateregistry StateRegistry type~stateregistry->type~stateitemextensionvector owned_items type~vectorriterator~14 VectorRIterator type~vectorriterator~14->type~componentdriverptrvectoriterator iterator type~vectorriterator~19 VectorRIterator type~vectorriterator~19->type~stateitemextensionvectoriterator iterator

Type-Bound Procedures

procedure(I_run), public, deferred :: finalize

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: phase_idx
    integer, intent(out), optional :: rc

procedure(I_get_states), public, deferred :: get_states

  • function I_get_states(this) result(states) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(in) :: this

    Return Value type(MultiState)

procedure(I_run), public, deferred :: initialize

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: phase_idx
    integer, intent(out), optional :: rc

procedure(I_run), public, deferred :: read_restart

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: phase_idx
    integer, intent(out), optional :: rc

procedure(I_run), public, deferred :: run

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: phase_idx
    integer, intent(out), optional :: rc

procedure(I_run), public, deferred :: write_restart

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentDriver), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: phase_idx
    integer, intent(out), optional :: rc

Source Code

   type, abstract :: ComponentDriver
      private
   contains
      procedure(I_run), deferred :: run
      procedure(I_run), deferred :: initialize
      procedure(I_run), deferred :: finalize
      procedure(I_run), deferred :: read_restart
      procedure(I_run), deferred :: write_restart

      procedure(I_get_states), deferred :: get_states
   end type ComponentDriver