Ejemplo n.º 1
0
    def test_x0_func_data_yaw30(self):
        rotor_diameter = 0.15  # m
        yaw = 30.0 * np.pi / 180.  # radians
        ct = 0.6643546778702326
        ti = 0.074

        x0 = x0_func(rotor_diameter, yaw, ct, self.alpha, ti, self.beta)

        self.assertAlmostEqual(x0/rotor_diameter, 4.053814723717636, delta=1E-1)
Ejemplo n.º 2
0
    def test_x0_func_data_yaw20(self):
        rotor_diameter = 0.15  # m
        yaw = 20.0 * np.pi / 180.  # radians
        ct = 0.7361200568897026
        ti = 0.074

        x0 = x0_func(rotor_diameter, yaw, ct, self.alpha, ti, self.beta)

        self.assertAlmostEqual(x0/rotor_diameter, 4.051040798613613, delta=1E-1)
Ejemplo n.º 3
0
    def test_x0_func_data_yaw10(self):
        rotor_diameter = 0.15  # m
        yaw = 10.0 * np.pi / 180.  # radians
        ct = 0.7866577299700839
        ti = 0.074

        x0 = x0_func(rotor_diameter, yaw, ct, self.alpha, ti, self.beta)

        self.assertAlmostEqual(x0/rotor_diameter, 3.973368012202963, delta=1E-1)
Ejemplo n.º 4
0
    def test_x0_func_data_yaw0(self):
        rotor_diameter = 0.15 # m
        yaw = 0.0*np.pi/180. #radians
        ct = 0.8214036062840235
        ti = 0.074
        #
        # 3.77839335632898, 0.6643546778702326
        # 3.704230762943225, 0.7361200568897026
        # 3.849186706118913, 0.7866577299700839
        # 3.848583479099574, 0.8214036062840235

        x0 = x0_func(rotor_diameter, yaw, ct, self.alpha, ti, self.beta)

        self.assertAlmostEqual(x0/rotor_diameter, 3.862413891540104, delta=1E-2)
Ejemplo n.º 5
0
def full_wake_offset_func(turbineXw, position_x, rotorDiameter, Ct, yaw, ky, kz, alpha, beta, I):
    #yaw = yaw * np.pi / 180.   # use if yaw is passed in as degrees
    x0 = x0_func(rotorDiameter, yaw, Ct, alpha, I, beta)

    theta_c_0 = theta_c_0_func(yaw, Ct)

    deltax0 = position_x - (turbineXw + x0)

    sigmay = sigmay_func(ky, deltax0, rotorDiameter, yaw)

    sigmaz = sigmaz_func(kz, deltax0, rotorDiameter)

    wake_offset =  wake_offset_func(rotorDiameter, theta_c_0, x0, yaw, ky, kz, Ct, sigmay, sigmaz)

    return wake_offset
Ejemplo n.º 6
0
def full_wake_offset_func(turbineXw, position_x, rotorDiameter, Ct, yaw, ky, kz, alpha, beta, I):
    #yaw = yaw * np.pi / 180.   # use if yaw is passed in as degrees
    x0 = x0_func(rotorDiameter, yaw, Ct, alpha, I, beta)

    theta_c_0 = theta_c_0_func(yaw, Ct)

    x = position_x - turbineXw

    sigmay = sigmay_func(x, x0, ky, rotorDiameter, yaw)

    sigmaz = sigmaz_func(x, x0, kz, rotorDiameter)

    wake_offset =  wake_offset_func(x, rotorDiameter, theta_c_0, x0, yaw, ky, kz, Ct, sigmay, sigmaz)

    return wake_offset
Ejemplo n.º 7
0
    def test_x0_func_hand_calc(self):

        x0 = x0_func(self.d, self.yaw, self.ct, self.alpha, self.ti, self.beta)

        self.assertAlmostEqual(x0, 353.2313474, delta=self.tolerance)