#!/usr/bin/env python # coding: utf-8 # In[14]: get_ipython().run_line_magic('matplotlib', 'notebook') import pandas as pd import numpy as np import matplotlib from matplotlib import pyplot as plt import seaborn as sns # In[50]: from IPython.display import Math as latexmath from IPython.display import IFrame # * 6 Tip mounted Turbojets + 1 turboshaft in tail to power tail rotor # * 3 rotors with diameter of 120m # * Empty weight 200,000kg # * Gross weight 453,000kg # * 60 rpm (according to Jay Spensers book Vertical Challenge. The Hiller Aircraft Story from Jay P. Spenser. ISBN 0-295-97203-3 and also the Air Tug video) # * Circumference = 383.02m # so tips are 383m/s # sea level speed of sound is 344 m/s # Tips are supersonic... # $$ # Takeoff\; Gross\; Weight = W_0 \\ # Blade\; Position(Azimuth\; Angle)\; = \psi \\ # Rotor\; Tip\; Speed\; (Hovering\; Flight)\; = V_{tip(HF)}\\ # Rotor\; Tip\; Speed\; (Forward\; Flight)\; = V_{tip(FF)}\\ # Freestream\; Air\; Speed\; = V_{\infty}\\ # Rotor\; Rotation\; Frequency\; = \Omega\\ # Rotor\; Radius\; = R_R\\ # Rotor\; Hub\; Radius\; = R_H\\ # Rotor\; Thrust\; = T\\ # Rotor\; Thrust\; Coefficient\; = C_T\\ # Rotor\; Disk\; Area\; = A\\ # Air\; Density\; = \rho\\ # Rotor\; Disk\; Power\; Loading\; = PL\\ # Rotor\; Disk\; Loading\; = DL\\ # $$ # In[87]: latexmath('V_{tip(HF)} = R_R\Omega') # In[ ]: def hover_flight_tip_speed(rotor_radius, rotor_frequency): return rotor_radius*rotor_frequency # In[86]: latexmath('V_{tip(FF)} = R_R\Omega + V_{\infty} \sin \psi') # In[89]: def forward_flight_tip_speed(freestream_airspeed,blade_azimuth_angle,rotor_radius, rotor_frequency): return (rotor_radius*rotor_frequency)+(freestream_airspeed*np.sin(blade_azimuth_angle)) # In[85]: latexmath('A = \pi R_R^2') # In[ ]: def rotor_disk_area(rotor_radius): return np.pi*rotor_radius**2 # In[84]: latexmath(r'C_T = \frac{T}{A R_R^2 \Omega^2 \rho}') # In[ ]: def rotor_thrust_coefficent(rotor_thrust,rotor_area, rotor_radius, rotor_frequency, air_density): return rotor_thrust/(air_density*rotor_area*(rotor_frequency**2)*(rotor_radius**2)) # In[58]: IFrame('https://upload.wikimedia.org/wikipedia/commons/e/e5/VTOL_DiscLoad-LiftEfficiency.svg',width=450,height=450) # In[96]: airspeed = np.linspace(0, 150, 151) rotor_frequency = 1 rotor_radius = 60 blade_azimuth_angles = np.linspace(0, 2*np.pi, 20) tip_speed_matrix = [forward_flight_tip_speed(a ,blade_azimuth_angles,rotor_radius, rotor_frequency) for a in airspeed] print(tip_speed_matrix) # In[ ]: