abstract_entrainment Derived Type

type, public, abstract :: abstract_entrainment

An abstract data type for calculating entrainment of ambient ocean water into a vertically integrated plume.


Inherited by

type~~abstract_entrainment~~InheritedByGraph type~abstract_entrainment abstract_entrainment type~plume plume type~plume->type~abstract_entrainment entrainment_formulation type~jenkins1991_entrainment jenkins1991_entrainment type~jenkins1991_entrainment->type~abstract_entrainment type~static_plume static_plume type~static_plume->type~abstract_entrainment entrainment_formulation type~asym_plume asym_plume type~asym_plume->type~abstract_entrainment entrainment_formulation type~kochergin1987_entrainment kochergin1987_entrainment type~kochergin1987_entrainment->type~abstract_entrainment

Contents

Source Code


Type-Bound Procedures

procedure(get_entrainment), public, deferred :: entrainment_rate

Returns the entrainment rate for ambient water into the plume.

  • function get_entrainment(this, velocity, thickness, depth, density_diff, time) result(property) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(abstract_entrainment), intent(in) :: this
    class(vector_field), intent(in) :: velocity

    The velocity field of the plume into which fluid is being entrained.

    class(scalar_field), intent(in) :: thickness

    The thickness of the plume into which fluid is being entrained

    class(scalar_field), intent(in) :: depth

    The depth of the upper surface of the plume into which fluid is being entrained

    class(scalar_field), intent(in) :: density_diff

    The difference between the ambient density and the density of the plume into which the ambient fluid is being entrained.

    real(kind=r8), intent(in), optional :: time

    The time at which the entrainment is being calculated. If not present then assumed to be same as previous value passed.

    Return Value class(scalar_field), pointer

    The value of the entrainment

Source Code

  type, abstract, public :: abstract_entrainment
    !* Author: Christopher MacMackin
    !  Date: October 2016
    !
    ! An abstract data type for calculating entrainment of ambient
    ! ocean water into a vertically integrated [[plume]].
    !
  contains
    procedure(get_entrainment), deferred   :: entrainment_rate
      !! Returns the entrainment rate for ambient water into the plume.
  end type abstract_entrainment