Calculate_kr_DVGCH_Base Module Function

module function Calculate_kr_DVGCH_Base(alpha1, n1, m1, w1, n2, m2, w2, 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) :: w1
real(kind=real64), intent(in) :: n2
real(kind=real64), intent(in) :: m2
real(kind=real64), intent(in) :: w2
real(kind=real64), intent(in) :: l
real(kind=real64), intent(in) :: h

Return Value real(kind=real64)


Called by

proc~~calculate_kr_dvgch_base~~CalledByGraph proc~calculate_kr_dvgch_base Calculate_kr_DVGCH_Base interface~calculate_kr_dvgch_base Calculate_kr_DVGCH_Base interface~calculate_kr_dvgch_base->proc~calculate_kr_dvgch_base proc~calculate_kr_base_dvgch Calculate_kr_Base_DVGCH proc~calculate_kr_base_dvgch->interface~calculate_kr_dvgch_base proc~calculate_kr_base_impedance_dvgch Calculate_kr_Base_Impedance_DVGCH proc~calculate_kr_base_impedance_dvgch->interface~calculate_kr_dvgch_base proc~calculate_kr_base_impedance_viscosity_dvgch Calculate_kr_Base_Impedance_Viscosity_DVGCH proc~calculate_kr_base_impedance_viscosity_dvgch->interface~calculate_kr_dvgch_base proc~calculate_kr_base_viscosity_dvgch Calculate_kr_Base_Viscosity_DVGCH proc~calculate_kr_base_viscosity_dvgch->interface~calculate_kr_dvgch_base interface~calculate_kr_base_dvgch Type_HCF_Base_DVGCH%Calculate_kr_Base_DVGCH interface~calculate_kr_base_dvgch->proc~calculate_kr_base_dvgch interface~calculate_kr_base_impedance_dvgch Type_HCF_Base_Impedance_DVGCH%Calculate_kr_Base_Impedance_DVGCH interface~calculate_kr_base_impedance_dvgch->proc~calculate_kr_base_impedance_dvgch interface~calculate_kr_base_impedance_viscosity_dvgch Type_HCF_Base_Impedance_Viscosity_DVGCH%Calculate_kr_Base_Impedance_Viscosity_DVGCH interface~calculate_kr_base_impedance_viscosity_dvgch->proc~calculate_kr_base_impedance_viscosity_dvgch interface~calculate_kr_base_viscosity_dvgch Type_HCF_Base_Viscosity_DVGCH%Calculate_kr_Base_Viscosity_DVGCH interface~calculate_kr_base_viscosity_dvgch->proc~calculate_kr_base_viscosity_dvgch proc~calculate_kflh_base_dvgch Calculate_Kflh_Base_DVGCH proc~calculate_kflh_base_dvgch->interface~calculate_kr_base_dvgch proc~calculate_kflh_base_impedance_dvgch Calculate_Kflh_Base_Impedance_DVGCH proc~calculate_kflh_base_impedance_dvgch->interface~calculate_kr_base_impedance_dvgch proc~calculate_kflh_base_impedance_viscosity_dvgch Calculate_Kflh_Base_Impedance_Viscosity_DVGCH proc~calculate_kflh_base_impedance_viscosity_dvgch->interface~calculate_kr_base_impedance_viscosity_dvgch proc~calculate_kflh_base_viscosity_dvgch Calculate_Kflh_Base_Viscosity_DVGCH proc~calculate_kflh_base_viscosity_dvgch->interface~calculate_kr_base_viscosity_dvgch interface~calculate_kflh_base_dvgch Type_HCF_Base_DVGCH%Calculate_Kflh_Base_DVGCH interface~calculate_kflh_base_dvgch->proc~calculate_kflh_base_dvgch interface~calculate_kflh_base_impedance_dvgch Type_HCF_Base_Impedance_DVGCH%Calculate_Kflh_Base_Impedance_DVGCH interface~calculate_kflh_base_impedance_dvgch->proc~calculate_kflh_base_impedance_dvgch interface~calculate_kflh_base_impedance_viscosity_dvgch Type_HCF_Base_Impedance_Viscosity_DVGCH%Calculate_Kflh_Base_Impedance_Viscosity_DVGCH interface~calculate_kflh_base_impedance_viscosity_dvgch->proc~calculate_kflh_base_impedance_viscosity_dvgch interface~calculate_kflh_base_viscosity_dvgch Type_HCF_Base_Viscosity_DVGCH%Calculate_Kflh_Base_Viscosity_DVGCH interface~calculate_kflh_base_viscosity_dvgch->proc~calculate_kflh_base_viscosity_dvgch proc~update_kflh_base_dvgch Update_Kflh_Base_DVGCH proc~update_kflh_base_dvgch->interface~calculate_kflh_base_dvgch proc~update_kflh_base_impedance_dvgch Update_Kflh_Base_Impedance_DVGCH proc~update_kflh_base_impedance_dvgch->interface~calculate_kflh_base_impedance_dvgch proc~update_kflh_base_impedance_viscosity_dvgch Update_Kflh_Base_Impedance_Viscosity_DVGCH proc~update_kflh_base_impedance_viscosity_dvgch->interface~calculate_kflh_base_impedance_viscosity_dvgch proc~update_kflh_base_viscosity_dvgch Update_Kflh_Base_Viscosity_DVGCH proc~update_kflh_base_viscosity_dvgch->interface~calculate_kflh_base_viscosity_dvgch interface~update_kflh_base_dvgch Type_HCF_Base_DVGCH%Update_Kflh_Base_DVGCH interface~update_kflh_base_dvgch->proc~update_kflh_base_dvgch interface~update_kflh_base_impedance_dvgch Type_HCF_Base_Impedance_DVGCH%Update_Kflh_Base_Impedance_DVGCH interface~update_kflh_base_impedance_dvgch->proc~update_kflh_base_impedance_dvgch interface~update_kflh_base_impedance_viscosity_dvgch Type_HCF_Base_Impedance_Viscosity_DVGCH%Update_Kflh_Base_Impedance_Viscosity_DVGCH interface~update_kflh_base_impedance_viscosity_dvgch->proc~update_kflh_base_impedance_viscosity_dvgch interface~update_kflh_base_viscosity_dvgch Type_HCF_Base_Viscosity_DVGCH%Update_Kflh_Base_Viscosity_DVGCH interface~update_kflh_base_viscosity_dvgch->proc~update_kflh_base_viscosity_dvgch

Source Code

    module function Calculate_kr_DVGCH_Base(alpha1, n1, m1, w1, n2, m2, w2, l, h) result(kr)
        !$omp declare simd uniform(alpha1, n1, m1, w1, n2, m2, w2, l, h)
        implicit none
        real(real64), intent(in) :: alpha1
        real(real64), intent(in) :: n1, n2
        real(real64), intent(in) :: m1, m2
        real(real64), intent(in) :: w1, w2
        real(real64), intent(in) :: l
        real(real64), intent(in) :: h
        real(real64) :: kr
        real(real64) :: Sw1, Sw2

        if (h < 0) then
            Sw1 = (1.0d0 + (-alpha1 * h)**n1)**(-m1)
            Sw2 = (1.0d0 + (-alpha1 * h)**n2)**(-m2)
            kr = (w1 * Sw1 + w2 * Sw2)**l &
                 * (w1 * alpha1 * (1.0d0 - (1.0d0 - Sw1**(1.0d0 / m1))**m1) &
                    + w2 * alpha1 * (1.0d0 - (1.0d0 - Sw2**(1.0d0 / m2))**m2))**2.0d0 &
                 / (w1 * alpha1 + w2 * alpha1)**2.0d0
        else
            kr = 1.0d0
        end if

    end function Calculate_kr_DVGCH_Base