Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=real64), | intent(in) | :: | Ks | |||
real(kind=real64), | intent(in) | :: | thetaS | |||
real(kind=real64), | intent(in) | :: | thetaR | |||
real(kind=real64), | intent(in) | :: | alpha1 | |||
real(kind=real64), | intent(in) | :: | n1 | |||
real(kind=real64), | intent(in) | :: | l | |||
real(kind=real64), | intent(in) | :: | hcrit | |||
integer(kind=int32), | intent(in) | :: | useViscosity | |||
integer(kind=int32), | intent(in) | :: | nsize |
module function Construct_Type_HCF_Base_Viscosity_MVG(Ks, thetaS, thetaR, alpha1, n1, l, hcrit, useViscosity, nsize) result(structure_HCF) implicit none real(real64), intent(in) :: Ks real(real64), intent(in) :: thetaS real(real64), intent(in) :: thetaR real(real64), intent(in) :: alpha1 real(real64), intent(in) :: n1 real(real64), intent(in) :: l real(real64), intent(in) :: hcrit integer(int32), intent(in) :: useViscosity integer(int32), intent(in) :: nsize class(Abstract_HCF), allocatable :: structure_HCF if (allocated(structure_HCF)) deallocate (structure_HCF) allocate (Type_HCF_Base_Viscosity_MVG :: structure_HCF) select type (this => structure_HCF) type is (Type_HCF_Base_Viscosity_MVG) this%Ks = Ks this%thetaS = thetaS this%thetaR = thetaR this%alpha1 = alpha1 this%n1 = n1 this%m1 = 1.0d0 - 1.0d0 / n1 this%hcrit = hcrit this%l = l this%nsize = nsize call this%Set_Calculate_Viscosity(useViscosity, this%Calculate_Viscosity) this%Kzero = this%Ks * this%Calculate_Viscosity(15.d0) call Allocate_Array(this%Kflh, nsize) this%Kflh(:) = 0.0d0 end select end function Construct_Type_HCF_Base_Viscosity_MVG