Type_HCF_Base_Viscosity_KO Derived Type

type, public, extends(Abstract_HCF_Base_Viscosity) :: Type_HCF_Base_Viscosity_KO


Inherits

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

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


Constructor

public interface Type_HCF_Base_Viscosity_KO


Type-Bound Procedures

procedure, public :: Calculate_Kflh => Calculate_Kflh_Base_Viscosity_KO

  • interface

    private module function Calculate_Kflh_Base_Viscosity_KO(self, h, Temperature) result(Kflh)

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: Calculate_kr => Calculate_kr_Base_Viscosity_KO

  • interface

    private module function Calculate_kr_Base_Viscosity_KO(self, h) result(kr)

    Arguments

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

    Return Value real(kind=real64)

procedure, public, nopass :: Set_Calculate_Viscosity => Set_Calculate_Viscosity_Base

  • interface

    private module subroutine Set_Calculate_Viscosity_Base(Calculate_Viscosity_Type, Calculate_Viscosity)

    Arguments

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

procedure, public :: Update_Kflh => Update_Kflh_Base_Viscosity_KO

  • interface

    private module subroutine Update_Kflh_Base_Viscosity_KO(self, arr_h, arr_Temperature)

    Arguments

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

Source Code

    type, extends(Abstract_HCF_Base_Viscosity) :: Type_HCF_Base_Viscosity_KO
    contains
        procedure, nopass :: Set_Calculate_Viscosity => Set_Calculate_Viscosity_Base
        procedure :: Calculate_kr => Calculate_kr_Base_Viscosity_KO
        procedure :: Calculate_Kflh => Calculate_Kflh_Base_Viscosity_KO
        procedure :: Update_Kflh => Update_Kflh_Base_Viscosity_KO
    end type Type_HCF_Base_Viscosity_KO