示例#1
0
    def test_stratified_angle_array(self):

        alphaL = np.array([0, 0.25, 0.5, 0.75, 1])
        betha = np.array([0, 2.30988146, np.pi, 3.97330385, 2 * np.pi])

        betha_calc = Geometry.stratified_angle(alphaL)
        np.testing.assert_almost_equal(betha_calc, betha, decimal=1)
    def model_closure(obj, t, qL, qG, alphaL, P):

        D = obj.parameters['D']()
        g = obj.parameters['g']()
        epw = obj.parameters['epw']()
        rhoL = obj.parameters['rhoL']()
        muL = obj.parameters['muL']()
        rhoG = obj.parameters['rhoG']()
        muG = obj.parameters['muG']()
        tetha = obj.parameters['tetha']()

        alphaG = 1-alphaL

        A = Geometry.area(D)
        betha = Geometry.stratified_angle(alphaL)
        #betha = 2 * np.pi * alphaL
        hD = 0.5 * (1 - np.cos(0.5 * betha))
        perL, perG, perI = Geometry.stratified_perimeters(D, betha)

        vL = Hydraulics.velocity(qL, rhoL, alphaL*A)
        vG = Hydraulics.velocity(qG, rhoG, alphaG*A)

        DL = 4. * alphaL * A / perL
        DG = 4. * alphaG * A / (perG + perI)

        ReL = Dimensionless.reynolds(DL, vL, rhoL, muL)
        ReG = Dimensionless.reynolds(DG, vG, rhoG, muG)

        _, fDL = Hydraulics.ff_via_churchill(ReL, epw, DL)
        _, fDG = Hydraulics.ff_via_churchill(ReG, epw, DG)

        tauL = Hydraulics.shear_stress(fDL, rhoL, vL)
        tauG = Hydraulics.shear_stress(fDG, rhoG, vG)
        tauI = Hydraulics.shear_stress(fDG, rhoG, vG-vL)

        zcml = D * (0.5 - 1 / 3 / np.pi / alphaL * np.sin(betha / 2) ** 3)
        zcmg = D * (0.5 + 1 / 3 / np.pi / alphaG * np.sin(betha / 2) ** 3)

        if qL.ndim == 2:
            tetha = np.repeat(np.array([tetha]), qL.shape[1], axis=0).T

        dPLG = ((rhoL - rhoG) * hD * D - rhoL * zcml + rhoG * zcmg) * g * np.cos(tetha)
        dPL = alphaG * dPLG
        dPG = -alphaL * dPLG
        dPI = (alphaL * rhoL * (zcml - hD * D) + alphaG * rhoG * (zcmg - hD * D)) * g * np.cos(tetha)

        return tauL*perL, tauG*perG, tauI*perI, dPL, dPG, dPI