def test2(self): ccblade = CCBlade() ccblade.r = np.array([ 2.8667, 5.6000, 8.3333, 11.7500, 15.8500, 19.9500, 24.0500, 28.1500, 32.2500, 36.3500, 40.4500, 44.5500, 48.6500, 52.7500, 56.1667, 58.9000, 61.6333 ]) ccblade.chord = np.array([ 3.542, 3.854, 4.167, 4.557, 4.652, 4.458, 4.249, 4.007, 3.748, 3.502, 3.256, 3.010, 2.764, 2.518, 2.313, 2.086, 1.419 ]) ccblade.theta = np.array([ 13.308, 13.308, 13.308, 13.308, 11.480, 10.162, 9.011, 7.795, 6.544, 5.361, 4.188, 3.125, 2.319, 1.526, 0.863, 0.370, 0.106 ]) ccblade.Rhub = 1.5 ccblade.Rtip = 63.0 ccblade.hubHt = 80.0 ccblade.precone = 2.5 ccblade.tilt = -5.0 ccblade.yaw = 0.0 ccblade.B = 3 ccblade.rho = 1.225 ccblade.mu = 1.81206e-5 ccblade.shearExp = 0.2 ccblade.nSector = 4 # airfoils basepath = '/Users/sning/Dropbox/NREL/5MW_files/5MW_AFFiles/' # load all airfoils airfoil_types = [0] * 8 airfoil_types[0] = basepath + 'Cylinder1.dat' airfoil_types[1] = basepath + 'Cylinder2.dat' airfoil_types[2] = basepath + 'DU40_A17.dat' airfoil_types[3] = basepath + 'DU35_A17.dat' airfoil_types[4] = basepath + 'DU30_A17.dat' airfoil_types[5] = basepath + 'DU25_A17.dat' airfoil_types[6] = basepath + 'DU21_A17.dat' airfoil_types[7] = basepath + 'NACA64_A17.dat' # place at appropriate radial stations af_idx = [0, 0, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7] n = len(ccblade.r) af = [0] * n for i in range(n): af[i] = airfoil_types[af_idx[i]] ccblade.airfoil_files = af ccblade.run_case = 'loads' ccblade.V_load = 12.0 ccblade.Omega_load = 10.0 ccblade.pitch_load = 0.0 ccblade.azimuth_load = 180.0 check_gradient_unit_test(self, ccblade, tol=1e-5, display=True)
def test2(self): ccblade = CCBlade() ccblade.r = np.array([2.8667, 5.6000, 8.3333, 11.7500, 15.8500, 19.9500, 24.0500, 28.1500, 32.2500, 36.3500, 40.4500, 44.5500, 48.6500, 52.7500, 56.1667, 58.9000, 61.6333]) ccblade.chord = np.array([3.542, 3.854, 4.167, 4.557, 4.652, 4.458, 4.249, 4.007, 3.748, 3.502, 3.256, 3.010, 2.764, 2.518, 2.313, 2.086, 1.419]) ccblade.theta = np.array([13.308, 13.308, 13.308, 13.308, 11.480, 10.162, 9.011, 7.795, 6.544, 5.361, 4.188, 3.125, 2.319, 1.526, 0.863, 0.370, 0.106]) ccblade.Rhub = 1.5 ccblade.Rtip = 63.0 ccblade.hubHt = 80.0 ccblade.precone = 2.5 ccblade.tilt = -5.0 ccblade.yaw = 0.0 ccblade.B = 3 ccblade.rho = 1.225 ccblade.mu = 1.81206e-5 ccblade.shearExp = 0.2 ccblade.nSector = 4 # airfoils basepath = '/Users/sning/Dropbox/NREL/5MW_files/5MW_AFFiles/' # load all airfoils airfoil_types = [0]*8 airfoil_types[0] = basepath + 'Cylinder1.dat' airfoil_types[1] = basepath + 'Cylinder2.dat' airfoil_types[2] = basepath + 'DU40_A17.dat' airfoil_types[3] = basepath + 'DU35_A17.dat' airfoil_types[4] = basepath + 'DU30_A17.dat' airfoil_types[5] = basepath + 'DU25_A17.dat' airfoil_types[6] = basepath + 'DU21_A17.dat' airfoil_types[7] = basepath + 'NACA64_A17.dat' # place at appropriate radial stations af_idx = [0, 0, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7] n = len(ccblade.r) af = [0]*n for i in range(n): af[i] = airfoil_types[af_idx[i]] ccblade.airfoil_files = af ccblade.run_case = 'loads' ccblade.V_load = 12.0 ccblade.Omega_load = 10.0 ccblade.pitch_load = 0.0 ccblade.azimuth_load = 180.0 check_gradient_unit_test(self, ccblade, tol=1e-5, display=True)
def test1(self): ccblade = CCBlade() ccblade.r = np.array([2.8667, 5.6000, 8.3333, 11.7500, 15.8500, 19.9500, 24.0500, 28.1500, 32.2500, 36.3500, 40.4500, 44.5500, 48.6500, 52.7500, 56.1667, 58.9000, 61.6333]) ccblade.chord = np.array([3.542, 3.854, 4.167, 4.557, 4.652, 4.458, 4.249, 4.007, 3.748, 3.502, 3.256, 3.010, 2.764, 2.518, 2.313, 2.086, 1.419]) ccblade.theta = np.array([13.308, 13.308, 13.308, 13.308, 11.480, 10.162, 9.011, 7.795, 6.544, 5.361, 4.188, 3.125, 2.319, 1.526, 0.863, 0.370, 0.106]) ccblade.Rhub = 1.5 ccblade.Rtip = 63.0 ccblade.hubHt = 80.0 ccblade.precone = 2.5 ccblade.tilt = -5.0 ccblade.yaw = 0.0 ccblade.B = 3 ccblade.rho = 1.225 ccblade.mu = 1.81206e-5 ccblade.shearExp = 0.2 ccblade.nSector = 4 # airfoils basepath = '/Users/sning/Dropbox/NREL/5MW_files/5MW_AFFiles/' # load all airfoils airfoil_types = [0]*8 airfoil_types[0] = basepath + 'Cylinder1.dat' airfoil_types[1] = basepath + 'Cylinder2.dat' airfoil_types[2] = basepath + 'DU40_A17.dat' airfoil_types[3] = basepath + 'DU35_A17.dat' airfoil_types[4] = basepath + 'DU30_A17.dat' airfoil_types[5] = basepath + 'DU25_A17.dat' airfoil_types[6] = basepath + 'DU21_A17.dat' airfoil_types[7] = basepath + 'NACA64_A17.dat' # place at appropriate radial stations af_idx = [0, 0, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7] n = len(ccblade.r) af = [0]*n for i in range(n): af[i] = airfoil_types[af_idx[i]] ccblade.airfoil_files = af ccblade.run_case = 'power' ccblade.Uhub = np.array([3.0, 4.15789473684, 5.31578947368, 6.47368421053, 7.63157894737, 8.78947368421, 9.94736842105, 11.1052631579, 12.2631578947, 13.4210526316, 14.5789473684, 15.7368421053, 16.8947368421, 18.0526315789, 19.2105263158, 20.3684210526, 21.5263157895, 22.6842105263, 23.8421052632, 25.0]) ccblade.Omega = np.array([3.43647024491, 4.76282718154, 6.08918411817, 7.41554105481, 8.74189799144, 10.0682549281, 11.3946118647, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0]) ccblade.pitch = np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) check_gradient_unit_test(self, ccblade, tol=1e-5, display=True)
def test1(self): ccblade = CCBlade() ccblade.r = np.array([ 2.8667, 5.6000, 8.3333, 11.7500, 15.8500, 19.9500, 24.0500, 28.1500, 32.2500, 36.3500, 40.4500, 44.5500, 48.6500, 52.7500, 56.1667, 58.9000, 61.6333 ]) ccblade.chord = np.array([ 3.542, 3.854, 4.167, 4.557, 4.652, 4.458, 4.249, 4.007, 3.748, 3.502, 3.256, 3.010, 2.764, 2.518, 2.313, 2.086, 1.419 ]) ccblade.theta = np.array([ 13.308, 13.308, 13.308, 13.308, 11.480, 10.162, 9.011, 7.795, 6.544, 5.361, 4.188, 3.125, 2.319, 1.526, 0.863, 0.370, 0.106 ]) ccblade.Rhub = 1.5 ccblade.Rtip = 63.0 ccblade.hubHt = 80.0 ccblade.precone = 2.5 ccblade.tilt = -5.0 ccblade.yaw = 0.0 ccblade.B = 3 ccblade.rho = 1.225 ccblade.mu = 1.81206e-5 ccblade.shearExp = 0.2 ccblade.nSector = 4 # airfoils basepath = '/Users/sning/Dropbox/NREL/5MW_files/5MW_AFFiles/' # load all airfoils airfoil_types = [0] * 8 airfoil_types[0] = basepath + 'Cylinder1.dat' airfoil_types[1] = basepath + 'Cylinder2.dat' airfoil_types[2] = basepath + 'DU40_A17.dat' airfoil_types[3] = basepath + 'DU35_A17.dat' airfoil_types[4] = basepath + 'DU30_A17.dat' airfoil_types[5] = basepath + 'DU25_A17.dat' airfoil_types[6] = basepath + 'DU21_A17.dat' airfoil_types[7] = basepath + 'NACA64_A17.dat' # place at appropriate radial stations af_idx = [0, 0, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7] n = len(ccblade.r) af = [0] * n for i in range(n): af[i] = airfoil_types[af_idx[i]] ccblade.airfoil_files = af ccblade.run_case = 'power' ccblade.Uhub = np.array([ 3.0, 4.15789473684, 5.31578947368, 6.47368421053, 7.63157894737, 8.78947368421, 9.94736842105, 11.1052631579, 12.2631578947, 13.4210526316, 14.5789473684, 15.7368421053, 16.8947368421, 18.0526315789, 19.2105263158, 20.3684210526, 21.5263157895, 22.6842105263, 23.8421052632, 25.0 ]) ccblade.Omega = np.array([ 3.43647024491, 4.76282718154, 6.08918411817, 7.41554105481, 8.74189799144, 10.0682549281, 11.3946118647, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0 ]) ccblade.pitch = np.array([ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]) check_gradient_unit_test(self, ccblade, tol=1e-5, display=True)