Abstract_HCF_Impedance Derived Type

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


Inherits

type~~abstract_hcf_impedance~~InheritsGraph type~abstract_hcf_impedance Abstract_HCF_Impedance type~abstract_hcf Abstract_HCF type~abstract_hcf_impedance->type~abstract_hcf

Inherited by

type~~abstract_hcf_impedance~~InheritedByGraph type~abstract_hcf_impedance Abstract_HCF_Impedance type~type_hcf_impedance Type_HCF_Impedance type~type_hcf_impedance->type~abstract_hcf_impedance

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

Impedance factor

integer(kind=int32), public :: nsize

Type-Bound Procedures

procedure(Abstract_Calculate_Impedance), public, deferred, nopass :: Calculate_Impedance

  • function Abstract_Calculate_Impedance(Omega, thetaI) result(Impedance) Prototype

    Arguments

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

    Return Value real(kind=real64)

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

  • function Abstract_Calculate_Kflh_Impedance(self, thetaI) result(Kflh) Prototype

    Arguments

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

    Return Value real(kind=real64)

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

  • subroutine Abstract_Update_Kflh_Impedance(self, arr_thetaI) Prototype

    Arguments

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

Source Code

    type, abstract, extends(Abstract_HCF) :: Abstract_HCF_Impedance
        real(real64) :: Omega !! Impedance factor
    contains
        procedure(Abstract_Calculate_Impedance), nopass, deferred :: Calculate_Impedance
        procedure(Abstract_Calculate_Kflh_Impedance), pass(self), deferred :: Calculate_Kflh
        procedure(Abstract_Update_Kflh_Impedance), pass(self), deferred :: Update_Kflh
    end type Abstract_HCF_Impedance