Calc_GCC_Seg_m Module Function

module function Calc_GCC_Seg_m(self, T, Pw, rhoW, rhoI) result(Suction)

Arguments

Type IntentOptional Attributes Name
class(type_gcc_segregation_m), intent(in) :: self
real(kind=real64), intent(in) :: T
real(kind=real64), intent(in), optional :: Pw
real(kind=real64), intent(in), optional :: rhoW
real(kind=real64), intent(in), optional :: rhoI

Return Value real(kind=real64)


Called by

proc~~calc_gcc_seg_m~~CalledByGraph proc~calc_gcc_seg_m Calc_GCC_Seg_m interface~calc_gcc_seg_m type_gcc_segregation_m%calc_GCC_Seg_m interface~calc_gcc_seg_m->proc~calc_gcc_seg_m

Source Code

    module function Calc_GCC_Seg_m(self, T, Pw, rhoW, rhoI) result(Suction)
        implicit none
        class(type_gcc_segregation_m), intent(in) :: self
        real(real64), intent(in) :: T
        real(real64), intent(in), optional :: Pw
        real(real64), intent(in), optional :: rhoW
        real(real64), intent(in), optional :: rhoI
        real(real64) :: Suction

        if (T <= self%Tf) then
            Suction = ((rhoI / rhoW - 1.0d0) * Pw - self%Lf * rhoI * log((T + self%TtoK) / (self%Tf + self%TtoK))) / (rhoW * self%g)
        else
            Suction = 0.0d0
        end if

    end function Calc_GCC_Seg_m