ax = plt.subplot(1, 1, 1) ax.set_xlabel('Wind Speed (knots)') ax.set_ylabel('Blade Speed (rpm)') import time start_time = time.time() i = 0 path = glob(r'C:\Users\mlip814\airfoil_data\airfoil_data\*')[56] airfoil = Airfoil.from_folder(path, 100000, 9) for n in (2, 3, 6, 12): blade = Blade(airfoil, n) torque = resistance(blade_speed) / n # (per blade) blade.design(knots(10), torque, rpm(140)) wind_speeds = np.linspace(8, 12, 20) results = [ blade.solve(knots(wind_speed), system) for wind_speed in wind_speeds ] blade_speeds = [rads(result[0]) for result in results] ax.plot(wind_speeds, blade_speeds, label=str(n)) ax.legend() print(time.time() - start_time) if input('Save?') != '': plt.savefig('image_n_blades.png') plt.show()
def rads(x): return x / 0.1047 wind_speed = knots(10) blade_speed = rpm(140) torque = resistance(blade_speed) / 3 # (per blade) system = (0.945, resistance) path = r'C:\Users\mlip814\airfoil_data\airfoil_data\ag17-il' airfoil = Airfoil.from_folder(path, 100000, 9) blade = Blade(airfoil, 3) blade.design(wind_speed, torque, blade_speed) blade_speeds = np.linspace(rpm(90), rpm(180), 10) torques = [ blade.simulate(wind_speed, blade_speed) * 3 for blade_speed in blade_speeds ] resistances = [resistance(blade_speed) for blade_speed in blade_speeds] ax = plt.subplot(1, 2, 1) ax.plot(blade_speeds, torques, label='Torque Output') ax.plot(blade_speeds, resistances, label='Resistance') ax.legend() ax.set_xlabel('Blade Speed (rad/s)') ax.set_ylabel('Torque (nm)')