calc_kr_ko Function

pure elemental function calc_kr_ko(alpha1, n1, 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) :: l
real(kind=real64), intent(in) :: h

Return Value real(kind=real64)


Called by

proc~~calc_kr_ko~~CalledByGraph proc~calc_kr_ko calc_kr_ko proc~calc_kr_base_ko calc_kr_base_ko proc~calc_kr_base_ko->proc~calc_kr_ko interface~calc_kr_base_ko type_hcf_base_ko%calc_kr_base_ko interface~calc_kr_base_ko->proc~calc_kr_base_ko

Source Code

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

        if (h < 0.0d0) then
            s_w = 0.5d0 * erfc(log(h / alpha1) / (n1 * sqrt(2.0d0)))
            kr = s_w**l * (0.5d0 * erfc(log(h / alpha1) / (n1 * sqrt(2.0d0)) + n1 / sqrt(2.0d0)))**2.0d0
        else
            kr = 1.0d0
        end if

    end function calc_kr_ko