TankModel_ Derived Type

type, public :: TankModel_


Components

Type Visibility Attributes Name Initial
type(Tank_), public, allocatable :: tanks(:)

Type-Bound Procedures

procedure, public :: init => initTankModel_TankModelClass

procedure, public, pass :: addTankModel_TankModelClass

generic, public :: add => addTankModel_TankModelClass

procedure, public :: connect => connectTankModel_TankModelClass

  • public subroutine connectTankModel_TankModelClass(this, tankIdx, coeff, height)

    Arguments

    Type IntentOptional Attributes Name
    class(TankModel_), intent(inout) :: this
    integer(kind=int32), intent(in) :: tankIdx(1:2)
    real(kind=real64), intent(in) :: coeff
    real(kind=real64), intent(in) :: height

procedure, public :: optimize => optimizeTankModel_TankModelClass

  • public function optimizeTankModel_TankModelClass(this, rainfall, waterheads, GLs, dt) result(params)

    Arguments

    Type IntentOptional Attributes Name
    class(TankModel_), intent(inout) :: this
    real(kind=real64), intent(in) :: rainfall(:)
    real(kind=real64), intent(in) :: waterheads(:,:)
    real(kind=real64), intent(in) :: GLs(:)
    real(kind=real64), intent(in) :: dt

    Return Value real(kind=real64), allocatable, (:)

procedure, public :: simulate => simulateTankModel_TankModelClass

  • public function simulateTankModel_TankModelClass(this, rainfall, GLs, dt) result(waterheads)

    Arguments

    Type IntentOptional Attributes Name
    class(TankModel_), intent(inout) :: this
    real(kind=real64), intent(in) :: rainfall(:)
    real(kind=real64), intent(in) :: GLs(:)
    real(kind=real64), intent(in) :: dt

    Return Value real(kind=real64), allocatable, (:,:)

procedure, public :: setParams => setParamsTankModel_TankModelClass

procedure, public :: showUnit => showUnit_TankModelClass

procedure, public :: show => show_TankModelClass