Type_HCF_Base_Impedance_Durner Derived Type

type, public, extends(Abstract_HCF_Base_Impedance) :: Type_HCF_Base_Impedance_Durner


Inherits

type~~type_hcf_base_impedance_durner~~InheritsGraph type~type_hcf_base_impedance_durner Type_HCF_Base_Impedance_Durner type~abstract_hcf_base_impedance Abstract_HCF_Base_Impedance type~type_hcf_base_impedance_durner->type~abstract_hcf_base_impedance type~abstract_hcf Abstract_HCF type~abstract_hcf_base_impedance->type~abstract_hcf

Components

Type Visibility Attributes Name Initial
real(kind=real64), public, allocatable :: Kflh(:)
real(kind=real64), public :: Ks

saturated hydraulic conductivity

real(kind=real64), public :: Omega
real(kind=real64), public :: alpha1
real(kind=real64), public :: alpha2
real(kind=real64), public :: l
real(kind=real64), public :: m1
real(kind=real64), public :: m2
real(kind=real64), public :: n1
real(kind=real64), public :: n2
integer(kind=int32), public :: nsize
real(kind=real64), public :: thetaR

residual water content

real(kind=real64), public :: thetaS

saturated water content

real(kind=real64), public :: w1
real(kind=real64), public :: w2

Constructor


Type-Bound Procedures

procedure, public, nopass :: Calculate_Impedance => Calculate_Impedance_Base

  • interface

    private module function Calculate_Impedance_Base(Omega, thetaI) result(Impedance)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Omega
    real(kind=real64), intent(in) :: thetaI

    Return Value real(kind=real64)

procedure, public :: Calculate_Kflh => Calculate_Kflh_Base_Impedance_Durner

  • interface

    private module function Calculate_Kflh_Base_Impedance_Durner(self, h, thetaI) result(Kflh)

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: Calculate_kr => Calculate_kr_Base_Impedance_Durner

  • interface

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

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: Update_Kflh => Update_Kflh_Base_Impedance_Durner

  • interface

    private module subroutine Update_Kflh_Base_Impedance_Durner(self, arr_h, arr_thetaI)

    Arguments

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

Source Code

    type, extends(Abstract_HCF_Base_Impedance) :: Type_HCF_Base_Impedance_Durner
        real(real64) :: m1
        real(real64) :: alpha2
        real(real64) :: n2
        real(real64) :: m2
        real(real64) :: w1
        real(real64) :: w2
    contains
        procedure :: Calculate_kr => Calculate_kr_Base_Impedance_Durner
        procedure, nopass :: Calculate_Impedance => Calculate_Impedance_Base
        procedure :: Calculate_Kflh => Calculate_Kflh_Base_Impedance_Durner
        procedure :: Update_Kflh => Update_Kflh_Base_Impedance_Durner
    end type Type_HCF_Base_Impedance_Durner