calc_gcc_seg_m Module Function

pure elemental module function calc_gcc_seg_m(self, state) result(suction)

Arguments

Type IntentOptional Attributes Name
class(type_gcc_segregation_m), intent(in) :: self
type(type_state), intent(in) :: state

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 pure elemental function calc_gcc_seg_m(self, state) result(suction)
        implicit none
        class(type_gcc_segregation_m), intent(in) :: self
        type(type_state), intent(in) :: state
        real(real64) :: suction

        if (state%temperature <= self%Tf) then
            suction = ((state%density_ice / state%density_water - 1.0d0) * state%pressure - &
                       self%Lf * state%density_ice * log((state%temperature + self%TtoK) / (self%Tf + self%TtoK))) / &
                      (state%density_water * self%g)
        else
            suction = 0.0d0
        end if

    end function calc_gcc_seg_m