Abstract_HCF_Base_Viscosity Derived Type

type, private, abstract, extends(Abstract_HCF) :: Abstract_HCF_Base_Viscosity


Inherits

type~~abstract_hcf_base_viscosity~~InheritsGraph type~abstract_hcf_base_viscosity Abstract_HCF_Base_Viscosity type~abstract_hcf Abstract_HCF type~abstract_hcf_base_viscosity->type~abstract_hcf

Inherited by

type~~abstract_hcf_base_viscosity~~InheritedByGraph type~abstract_hcf_base_viscosity Abstract_HCF_Base_Viscosity type~type_hcf_base_viscosity_bc Type_HCF_Base_Viscosity_BC type~type_hcf_base_viscosity_bc->type~abstract_hcf_base_viscosity type~type_hcf_base_viscosity_durner Type_HCF_Base_Viscosity_Durner type~type_hcf_base_viscosity_durner->type~abstract_hcf_base_viscosity type~type_hcf_base_viscosity_dvgch Type_HCF_Base_Viscosity_DVGCH type~type_hcf_base_viscosity_dvgch->type~abstract_hcf_base_viscosity type~type_hcf_base_viscosity_ko Type_HCF_Base_Viscosity_KO type~type_hcf_base_viscosity_ko->type~abstract_hcf_base_viscosity type~type_hcf_base_viscosity_mvg Type_HCF_Base_Viscosity_MVG type~type_hcf_base_viscosity_mvg->type~abstract_hcf_base_viscosity type~type_hcf_base_viscosity_vg Type_HCF_Base_Viscosity_VG type~type_hcf_base_viscosity_vg->type~abstract_hcf_base_viscosity

Components

Type Visibility Attributes Name Initial
procedure(Abstract_Calculate_Viscosity), public, nopass, pointer :: Calculate_Viscosity => null()
real(kind=real64), public, allocatable :: Kflh(:)
real(kind=real64), public :: Ks

saturated hydraulic conductivity

real(kind=real64), public :: alpha1
real(kind=real64), public :: kzero
real(kind=real64), public :: l
real(kind=real64), public :: n1
integer(kind=int32), public :: nsize
real(kind=real64), public :: thetaR

residual water content

real(kind=real64), public :: thetaS

saturated water content


Type-Bound Procedures

procedure(Abstract_Calculate_Kflh_Base_Viscosity), public, deferred, pass(self) :: Calculate_Kflh

  • function Abstract_Calculate_Kflh_Base_Viscosity(self, h, Temperature) result(Kflh) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(Abstract_HCF_Base_Viscosity), intent(in) :: self
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: Temperature

    Return Value real(kind=real64)

procedure(Abstract_Calculate_kr_HCF_Base_Viscosity), public, deferred, pass(self) :: Calculate_kr

  • function Abstract_Calculate_kr_HCF_Base_Viscosity(self, h) result(kr) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(Abstract_HCF_Base_Viscosity), intent(in) :: self
    real(kind=real64), intent(in) :: h

    Return Value real(kind=real64)

procedure(Abstract_Set_Calculate_HCF_Viscosity), public, deferred, nopass :: Set_Calculate_Viscosity

  • subroutine Abstract_Set_Calculate_HCF_Viscosity(Calculate_Viscosity_Type, Calculate_Viscosity) Prototype

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: Calculate_Viscosity_Type
    procedure(Abstract_Calculate_Viscosity), intent(inout), pointer :: Calculate_Viscosity

procedure(Abstract_Update_Kflh_Base_Viscosity), public, deferred, pass(self) :: Update_Kflh

  • subroutine Abstract_Update_Kflh_Base_Viscosity(self, arr_h, arr_Temperature) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(Abstract_HCF_Base_Viscosity), intent(inout) :: self
    real(kind=real64), intent(in) :: arr_h(:)
    real(kind=real64), intent(in) :: arr_Temperature(:)

Source Code

    type, abstract, extends(Abstract_HCF) :: Abstract_HCF_Base_Viscosity
        real(real64) :: thetaS !! saturated water content
        real(real64) :: thetaR !! residual water content
        real(real64) :: alpha1
        real(real64) :: n1
        real(real64) :: l
        real(real64) :: kzero
        procedure(Abstract_Calculate_Viscosity), nopass, pointer :: Calculate_Viscosity => null()
    contains
        procedure(Abstract_Calculate_kr_HCF_Base_Viscosity), pass(self), deferred :: Calculate_kr
        procedure(Abstract_Set_Calculate_HCF_Viscosity), nopass, deferred :: Set_Calculate_Viscosity
        procedure(Abstract_Calculate_Kflh_Base_Viscosity), pass(self), deferred :: Calculate_Kflh
        procedure(Abstract_Update_Kflh_Base_Viscosity), pass(self), deferred :: Update_Kflh
    end type Abstract_HCF_Base_Viscosity