Assignment 2
First, to set up a series of constants defining a light propeller driven aircraft in the lower troposphere
S = 15.75; % m^2
b = 10.3; % m
C_D0 = 0.027;
P_sl = 100000; % W
n = 45; % rev/s
D = 1.88; % m
rho_0 = 1.225; % kg/m^3
e = 0.85; a = -0.0065; % K/m
g = 9.81; % m/s^2
AR = b^2/S; R = 287; % J/K/kg
k = 1/pi/AR/e;W = 12540; % N
Part A - Plotting altitude vs density ratio
As per the following equation
% Set up constants
T_1 = 15 + 273.15; % (K), Average temperature at sea level 15ºC
ft2m = 0.3048; % feet to metre conversion constant
syms h % (ft)
dens_rat = (1 + a/T_1*h*ft2m).^(-(g/a/R+1));
% Plotting Figure 1 (Question A)
figA = figure('Position', [10 10 900 600]);
subplot(7,1,[1,6]);
hold on
ylabel('Density Ratio \rho/\rho_0','FontSize',15)
xlabel('Altitude (ft)','FontSize',15)
fplot(dens_rat,[0,12000],'k-','LineWidth',1.5,'MarkerSize',8)
grid on
set(gca,'XAxisLocation','origin','ylim',[0.65,1],'xlim',[0,12500])
view([90 -90])
subplot(7,1,7)
text(0.5,-0.054,'Figure 1: Density ratio vs altitude above sea level','HorizontalAlignm
set(gca,'visible','off')
1
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Part B - Power required vs airspeed
% Creating the vectors and equations
alt = [0,2,4,6,8,10,12]*1000; % (ft)
syms V % (knots)
kts2ms = 0.5144444;
rho = rho_0*dens_rat;
P_r = 0.5*rho*S*C_D0*(V*kts2ms)^3 + 2*k*W^2/rho/S/(V*kts2ms);
for i = 1:length(alt)
Y(i) = subs(P_r,h,alt(i));
end
% Plotting Figure 2 (Question B)
figB = figure('Position', [10 10 900 700]);
subplot(7,1,[1,6]);
shapes = ['k^-';'ks-';'kd-';'ko-';'kp-';'kh-';'k*-'];
2
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
hold on
xlabel('Velocity (knots)','FontSize',14)
ylabel('Power Required (kW)','FontSize',14)
for i = 1:length(alt)
fplot(Y(i)/1000,[45,150],shapes(i,:),'LineWidth',1,'MarkerSize',7)
end
legend({'Sea level','Alt: 2000ft','Alt: 4000ft','Alt: 5000ft','Alt: 8000ft','Alt: 10000
set(gca,'XAxisLocation','origin','ylim',[0,90],'xlim',[45,150])
grid on
subplot(7,1,7)
text(0.5,-0.054,'Figure 2: Required power vs velocity and altitude','HorizontalAlignmen
set(gca,'visible','off')
3
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Part C - Propulsive efficiency vs advance ratio
A1 = -2.1; A2 = 3.8; A3 = -3.7; A4 = 2.6; A5 = -0.005;
A = [A1,A2,A3,A4,A5];
syms J
nu_p = A1*J^4 + A2*J^3 + A3*J^2 + A4*J + A5;
% Plotting Figure 3 (Question C)
figC = figure('Position', [10 10 900 600]);
subplot(7,1,[1,6]);
hold on
xlabel('Advance ratio (V/nD)','FontSize',15)
ylabel('Propulsive efficiency (\eta_p)','FontSize',15)
fplot(nu_p,[45,150]*kts2ms/n/D,'ko-','MarkerSize',8)
subplot(7,1,7)
text(0.5,-0.054,'Figure 3: Propulsive efficiency vs advance ratio','HorizontalAlignment
set(gca,'visible','off')
4
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Part D - Power available vs airspeed
Plot the power available in kW versus airspeed (knots) at sea-level and for altitudes of 2000ft, 4000ft, 6000ft,
8000ft, 10000ft and 12000ft. Plot for airspeeds in the range of 45 knots ≤ � ≤ 150 knots. The range of
powers plotted should be from 0 to 90 ��.
% Constants from the question and symbolic equations
alpha = 1.13; beta = 0.13;
P_av = nu_p*P_sl*(alpha*dens_rat - beta);
for i = 1:length(alt)
Y2(i) = subs(P_av,h,alt(i));
end
Y2 = subs(Y2,J,V*kts2ms/n/D);
% Plotting Figure 4 (Question D)
figD = figure('Position', [10 10 900 700]);
subplot(7,1,[1,6]);
hold on
xlabel('Velocity (knots)','FontSize',15)
ylabel('Power Available (kW)','FontSize',15)
for i = 1:length(alt)
fplot(Y2(i)/1000,[45,150],shapes(i,:),'LineWidth',1,'MarkerSize',7)
end
legend({'Sea level','Alt: 2000ft','Alt: 4000ft','Alt: 5000ft','Alt: 8000ft','Alt: 10000
set(gca,'ylim',[0,90],'xlim',[45,150])
grid on
subplot(7,1,7)
text(0.5,-0.054,'Figure 4: Power available vs velocity and altitude','HorizontalAlignme
set(gca,'visible','off')
5
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Part E - Power required and power available vs airspeed (flight envolope)
Plot the power required and the power available in �� versus airspeed (knots) at sea-level and for altitudes
of 2000ft, 4000ft, 6000ft, 8000ft, 10000ft and 12000ft. Plot for airspeeds in the range of 45 knots ≤ � ≤ 140
knots. The range of powers plotted should be from 30 to 85 kW.
This plot demonstrates available steady state flight speeds at the intersections of the power available and
power required curves. It also gives an indication of the climbing power available at different altitudes in the
difference between the two curves.
% Plotting Figure 5 (Question E)
figE = figure('Position', [10 10 900 700]);
subplot(7,1,[1,6]);
shapes = ['k^-';'ks-';'kd-';'ko-';'kp-';'kh-';'k*-'];
hold on
xlabel('Velocity (knots)','FontSize',15)
ylabel('Power (kW)','FontSize',15)
6
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
for i = 1:length(alt)
fplot(Y2(i)/1000,[45,140],shapes(i,:),'LineWidth',1,'MarkerSize',7)
fplot(Y(i)/1000,[45,140],shapes(i,:),'LineWidth',1,'MarkerSize',7,'HandleVisibility
end
text(70,75,'Power available','FontSize',15)
text(85,40,'Power required','FontSize',15)
legend({'Sea level','Alt: 2000ft','Alt: 4000ft','Alt: 5000ft','Alt: 8000ft','Alt: 10000
set(gca,'ylim',[30,85],'xlim',[45,140])
grid on
subplot(7,1,7)
text(0.5,-0.054,'Figure 5: Power available and power required vs airspeed','HorizontalA
set(gca,'visible','off')
7
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Part F - Curve fitting steady state flight
Write an equation for in terms of as well as and of course �. Solve this
equation to find the � values at sea level and at 2000ft, 4000ft, 6000ft, 8000ft, 10000ft and 12000ft. Plot
altitude in ft against airspeed in knots. Fit a sixth order polynomial to the points to estimate the absolute
ceiling of the aircraft in ft and the airspeed at which this occurs in knots.
The method used here was to set up a simple matlab symbolic equation with altitude and velocity variables
then sustitute the given altitudes and simple solve for velocity. In each case, 5 answers were given two
of which were irrelevent being imaginary and one negative (also impossible). The final two results were
therefore plotted and a curve fitted to them with the flight ceiling found to the nearest foot.
% Resetting equations for SI units to be converted back later
dens_rat2 = (1 + a/T_1*h).^(-(g/a/R+1));
rho2 = dens_rat2*rho_0;
P_r2 = 0.5*rho2*S*C_D0*V^3 + 2*k*W^2/rho2/S/V;
P_av2 = nu_p*P_sl*(alpha*dens_rat2 - beta);
OP = subs(P_av2,J,V/n/D) == P_r2; % Operating power equation
for i = 1:length(alt)
Y3(:,i) = vpa(solve(subs(OP,h,alt(i)*ft2m),V))/kts2ms; % Solve equation, convert to
end
% Plotting Figure 6 (Question 7)
figF = figure('Position', [10 10 900 700]);
subplot(7,1,[1,6]);
hold on
xlabel('Velocity (knots)','FontSize',15)
ylabel('Altitude (ft)','FontSize',15)
XF = [Y3(2,:),flip(Y3(3,:))];
YF = [alt,flip(alt)];
p = polyfit(XF,YF,6);
Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of
the polynomial, or try centering and scaling as described in HELP POLYFIT.
clear YF_fit
XF_fit = linspace(XF(1),XF(end),300);
YF_fit = zeros(1,length(XF_fit));
for i = 1:length(p)
YF_fit = YF_fit + p(i)*XF_fit.^(length(p)-i);
end
[M,I] = max(YF_fit);
Flight_Ceiling = floor(M);
plot(XF,YF,'k^','MarkerSize',8)
plot(XF_fit,YF_fit,'k','LineWidth',1.5)
plot(XF_fit(I),M,'dk','MarkerSize',10,'MarkerFaceColor','k')
text(XF_fit(I)+2,M,{'Flight Ceiling',strcat(string(Flight_Ceiling),' ft')},'FontSize',1
8
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
set(gca,'xlim',[35,130],'ylim',[-500,14000])
subplot(7,1,7)
text(0.5,-0.054,'Figure 6: Altitude vs velocity, 6th degree polynomial fit','Horizontal
set(gca,'visible','off')
9
This study source was downloaded by 100000835998229 from CourseHero.com on 03-31-2023 03:24:26 GMT -05:00
https://www.coursehero.com/file/93711321/z5209784-AERO3660-Assignment-2pdf/
Powered by TCPDF (www.tcpdf.org)