calc_kr_vg Function

pure elemental function calc_kr_vg(alpha1, n1, m1, l, h) result(kr)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: alpha1
real(kind=real64), intent(in) :: n1
real(kind=real64), intent(in) :: m1
real(kind=real64), intent(in) :: l
real(kind=real64), intent(in) :: h

Return Value real(kind=real64)


Called by

proc~~calc_kr_vg~~CalledByGraph proc~calc_kr_vg calc_kr_vg proc~calc_kr_base_vg calc_kr_base_vg proc~calc_kr_base_vg->proc~calc_kr_vg interface~calc_kr_base_vg type_hcf_base_vg%calc_kr_base_vg interface~calc_kr_base_vg->proc~calc_kr_base_vg

Source Code

    pure elemental function calc_kr_vg(alpha1, n1, m1, l, h) result(kr)
        implicit none
        real(real64), intent(in) :: alpha1
        real(real64), intent(in) :: n1
        real(real64), intent(in) :: m1
        real(real64), intent(in) :: l
        real(real64), intent(in) :: h
        real(real64) :: kr
        real(real64) :: s_w

        if (h < 0.0d0) then
            s_w = (1.0d0 + (-alpha1 * h)**n1)**(-m1)
        else
            s_w = 1.0d0
        end if

        kr = s_w**l * (1.0d0 - (1.0d0 - s_w**(1.0d0 / m1))**m1)**2.0d0

    end function calc_kr_vg