modelbound_data_abstract_class Module

Houses abstract model-bound data object used for updating terms



Abstract Interfaces

abstract interface

  • private function getDataDimensionality(this, name) result(dim)

    Arguments

    Type IntentOptional Attributes Name
    class(ModelboundData), intent(in) :: this
    character(len=*), intent(in) :: name

    Return Value integer(kind=ik)

abstract interface

  • private subroutine dataCalculation(this, hostModel, inputVars, updatePriority)

    Arguments

    Type IntentOptional Attributes Name
    class(ModelboundData), intent(inout) :: this
    class(ModelSurrogate), intent(in) :: hostModel
    class(VariableContainer), intent(in) :: inputVars
    integer(kind=ik), intent(in), optional :: updatePriority

abstract interface

  • private subroutine retrieveData(this, name, container)

    Arguments

    Type IntentOptional Attributes Name
    class(ModelboundData), intent(in) :: this
    character(len=*), intent(in) :: name
    real(kind=rk), intent(inout), allocatable, dimension(..) :: container

Derived Types

type, public, abstract, extends(Object) ::  ModelboundData

Abstract general modelbound data object used to build classes that contain data for updating terms

Components

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

True only if user explicitly sets it to true

Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject
procedure, public :: makeDefined => makeDefinedObject
procedure, public :: makeUndefined => makeUndefinedObject
procedure(dataCalculation), public, deferred :: update
procedure(retrieveData), public, deferred :: copyData
procedure(getDataDimensionality), public, deferred :: getDataDim