def test_fourth_part(self):
     number_re = 10**7
     relative_roughness = 0.02
     d_m = 159 / 1000
     epsilon = relative_roughness * d_m
     friction = friction_Bratland.Friction()
     self.assertAlmostEqual(friction.calc_f(number_re, epsilon, d_m), 0.04865207639535838,
                            delta=0.00000001)
 def test_third_part(self):
     number_re = 15000
     relative_roughness = 0.002
     d_m = 159 / 1000
     epsilon = relative_roughness * d_m
     friction = friction_Bratland.Friction()
     self.assertAlmostEqual(friction.calc_f(number_re, epsilon, d_m), 0.037014744989689666,
                            delta=0.00000001)
 def test_first_part(self):
     number_re = 2000
     relative_roughness = 0.04
     d_m = 144 / 1000
     epsilon = relative_roughness * d_m
     friction = friction_Bratland.Friction()
     self.assertAlmostEqual(friction.calc_f(number_re, epsilon, d_m), 0.032,
                            delta=0.00000001)
 def test_second_part(self):
     number_re = 2500
     relative_roughness = 0.03
     d_m = 180 / 1000
     epsilon = relative_roughness * d_m
     friction = friction_Bratland.Friction()
     self.assertAlmostEqual(friction.calc_f(number_re, epsilon, d_m), 0.030869565217391304,
                            delta=0.00000001)
    def __init__(self, epsilon_friction_m=18.288 * 10**(-6), angle_grad=90):
        """
        Инизиализация гидравлической корреляции

        :param epsilon_friction_m: шероховатость трубы, м
        :param angle_grad: угол наклона трубы от горизонтали, град
        """

        self.epsilon_friction_m = epsilon_friction_m

        self.angle_grad = angle_grad  # угол наклона ствола скважины от горизонтали
        self.angle_rad = self.angle_grad * math.pi / 180

        self.d_m = None

        self.p_pa = None
        self.t_c = None

        self.vsl_msec = None  # приведенная скорость жидкости (3.10)
        self.vsg_msec = None  # приведенная скорость газа (3.11)
        self.vm_msec = None  # приведенная (общая) скорость смеси (3.12)

        self.liquid_content = None  # объемное содержание жидкости при отсутствии проскальзывания (3.8)

        self.rho_liq_kgm3 = None
        self.rho_gas_kgm3 = None
        self.mun_pas = None
        self.rhon_kgm3 = None
        self.sigma_liq_Nm = None

        self.val_number_Fr = None

        self.flow_regime = None

        self.liquid_content_with_zero_angle = None
        self.correction_factor_betta = None
        self.angle_correction_factor = None
        self.liquid_content_with_angle = None

        self.number_Re = None
        self.friction_coefficient = None
        self.y = None
        self.s = None
        self.result_friction = None
        self.Ek = None
        self.rhos_kgm3 = None
        self.liquid_content_with_Pains_cor = None
        self.result_grad_pam = None

        # импорт модуля для расчета коэффициента трения
        self.module_friction = fr.Friction()

        self.friction_grad_pam = None
        self.density_grad_pam = None
        self.friction_grad_part_percent = None
        self.density_grad_part_percent = None