see attachment
Microsoft Word - Mini-Project 2_Spr2023.docx AE 4802 CON Mini-Project 2 Spring 2023 Complete the following problems. Please write or type your discussion and results neatly, organize your work in a logical way, and describe your assumptions and steps. Include any needed plots from computer analyses, along with titles, axis labels, and line types/colors as needed for clarity. You may discuss solution techniques with other students, but copying results or code is prohibited. Please write your code in either MATLAB or Python but note that the provided code snippets and examples are written in MATLAB. Your assignment must be submitted electronically as a PDF on Canvas along with any supporting code by Tuesday, March 28, at 11:59 PM. We will model a small commercial transport airplane and produce some skymaps and a payload- range diagram. Presume the following characteristics about the airplane. MTOGW: 110,000 lbs MFW: 25,000 lbs OEW: 60,000 lbs MPW: 35,000 lbs Fuel required for takeoff and climb: 2000 lbs Fuel remaining after cruise (descent, reserve): 4500 lbs Span: 92 ft Wing area: 1,100 ft2 Zero-lift drag coefficient (at low speed; without wave drag): 0.021 Oswald efficiency: 0.87 Critical Mach number: 0.74 JT8D engine (deck provided) Two engines, both operating Now complete the following problems: 1. An engine deck that is roughly calibrated to a Pratt and Whitney JT8D is provided with this assignment in the form of a MATLAB function ([thrust, fuelflow, tsfc] = jt8d(M,h,pc)), along with a function for the standard atmosphere model ([temp, pres, rho, mu, a] = atmosphere(h)). a. Plot maximum thrust (in lbs) vs. Mach number over a range of 0 ≤ M ≤ 0.80. Plot two curves on the same plot axes: (1) sea level and (2) 35,000 ft altitude. b. Plot maximum thrust (in lbs) vs. altitude over a range of 0 ft ≤ h ≤ 35,000 ft. Plot two curves on the same plot axes: (1) M = 0 and (2) M = 0.80. c. Repeat (a), but this time for TSFC (in lbs/lbs-hr). d. Repeat (b), but this time for TSFC (in lbs/lbs-hr). Use a legend to identify the curves on each plot and include axis labels. Discuss how the engine deck behavior illustrated in your plots compares qualitatively to the “simple” models we discussed in class for thrust and TSFC variation with Mach number and altitude. 2. Make a drag polar function for the airplane of the form CD = dragpolar(CL, Mach). The drag polar should include effects of wave drag using Lock’s 4th Power Method (just presume that the wing ? , is equal to the airfoil ? , predicted from Lock’s method). Use your drag polar to make two plots: a. A plot of CD vs. Mach with different lines corresponding to CL=0.1, CL=0.2, and CL=0.3. Plot over the domain 0 ≤ Mach ≤ 0.86. b. A plot of CL vs. CD (a typical drag polar plot) with different curves corresponding to M=0.70, M=0.75, M=0.8, and M=0.85. Plot over the domain 0 ≤ CL ≤ 0.4. Discuss how transonic drag rise affects the shapes of these plots compared to a simple 2- parameter drag polar with constant coefficients. 3. Enforce steady level flight conditions and make a skymap for specific excess power (in ft/min). Plot over the ranges 0 ≤ M ≤ 0.86 and 0 ≤ h ≤ 35,000 ft. Use “hatch” marks to indicate the boundary of where steady level flight can occur with respect to specific excess power considerations. You might find the following hatched line and hatched contour functions for MATLAB or Python to be helpful: https://www.mathworks.com/matlabcentral/fileexchange/29121-hatched-lines-and-contours https://matplotlib.org/stable/gallery/images_contours_and_fields/contours_in_optimization_demo .html#sphx-glr-gallery-images-contours-and-fields-contours-in-optimization-demo-py 4. Enforce steady level flight conditions and make a skymap for CL. Plot over the ranges 0 ≤ M ≤ 0.86 and 0 ≤ h ≤ 35,000 ft. Overlay a boundary of the buffet CL using “hatch” marks. Presume that buffet occurs at the following values of CL vs. Mach number (you can interpolate the numbers for making your plot): Mach 0.2 0.4 0.6 0.7 0.75 0.78 0.8 0.82 0.84 0.86 0.88 0.9 CLb 1.315 1.131 0.899 0.721 0.604 0.512 0.448 0.382 0.316 0.251 0.186 0.122 5. Enforce steady level flight conditions and make the following skymaps of aerodynamic performance. For both figures, plot over the ranges 0 ≤ M ≤ 0.86 and 0 ≤ h ≤ 35,000 ft. Overlay both the specific excess power limit and the buffet limits from Problems 3 and 4 and trim data outside these constraints. See the note and code snippets at the end of this assignment for some help in trimming the data. c. L/D d. ML/D For each of these plots, discuss “where” you would like to fly (in terms of M and h) for best L/D and ML/D, respectively, and why. 6. Enforce steady level flight conditions and make the following skymaps for range and endurance performance. For both figures, plot over the ranges 0 ≤ M ≤ 0.86 and 0 ≤ h ≤ 35,000 ft. Overlay both the specific excess power limit and the buffet limits from Problems 3 and 4 and trim data outside these constraints. See the note and code snippets at the end of this assignment for some help in trimming the data. a. Specific endurance (in sec/lbs) b. Specific range (in nm/lbs) For each of these plots, discuss “where” you would like to fly (in terms of M and h) for best endurance and range, respectively, and why. Compare/contrast these optimal flight conditions with those you found in Problem 5, being sure to note the physical similarities/relationships between the aerodynamic metrics in Problem 5 and specific range and specific endurance. 7. Compute and list the following weights (in lbs) at each “corner point” of the payload-range diagram, i.e. points 1, 2, and 3 labeled on slide 8 of “8_Payload_Range.pptx” on Canvas: (a) takeoff gross weight, (b) payload weight, (c) zero-fuel weight, (d) fuel weight. Present these values in a table with rows corresponding to each of the weights above and columns corresponding to the particular corner points. Show your work. Can the airplane fly with max payload and max fuel simultaneously? Why or why not? 8. Compute the range of the airplane at each “corner point” from Problem 7. To do this, presume flight at 30,000 ft at Mach 0.76. Use the Breguet range equation for a jet airplane in the following form: ? = ? (?/?) ???? ln ? ? where ? is the weight of the airplane at the beginning of cruise (subscript “i” for “initial”) and ? is the weight of the airplane at the end of cruise (subscript “f” for “final”). Use the drag polar and engine deck to find the needed information at the given altitude and Mach number. “Fly the airplane” by enforcing the equations of motion for steady level flight, and presume that the airplane flies at constant CL and constant V at the conditions corresponding to the initial cruise weight, ? . Be sure to use the weights correctly from Problem 7 and also to consider the climb fuel and reserve fuel values provided in the airplane data at the beginning of the assignment. Show your work. 9. Plot the bounding envelope of the payload-range diagram using the information from Problems 7 and 8. Use OEW+PW (which equals ZFW) as the y-axis variable (instead of just PW). Could this aircraft fly from New York to London with 27,000 lbs of passengers and cargo? Why or why not? Note on Trimming Data Outside Constraint Boundaries To trim parts of the skymaps that fall outside of the two constraint curves, a handy trick is to note that MATLAB will not plot “not a number” (NaN) values. We can use this to our advantage. You can define a “thrust margin” as Tmargin=Tmax-D and a “CLmargin” as CLmargin= CLbuffet-CL. (Note that the specific excess power > 0 limit is effectively nothing more than a steady level flight thrust limit.) Then, you can trim your specific range (SR) data as follow: SR(Tmargin<0)=nan;>0)=nan;><0)=nan; you="" can="" also="" trim="" the="" buffet="" and="" maximum="" thrust="" boundary="" curves="" as="" in="" the="" example="" below,="" where="" you="" can="" adjust="" the="" value="" to="" the="" right="" of="" the="">0)=nan;>< to="" make="" things="" work="" nicely="" for="" your="" contour="" spacing:=""><-0.05)=nan;>-0.05)=nan;><-0.05)=nan; as="" an="" example="" implementation,="" here’s="" how="" i="" did="" it.="" if="" you="" learn="" nothing="" more="" from="" this="" homework,="" then="" learn="" just="" how="" to="" make="" nice="" matlab="" plots="" by="" controlling="" everything="" in="" the="" figure="" and="" then="" exporting="" to="" a="" .png:="" %="" compute="" sr="" and/or="" se="" and="" all="" of="" the="" other="" needed="" intermediate="" variables="" (e.g.="" cl,="" cd,="" etc.)="" here;="" i="" recommend="" using="" the="" matlab="" meshgrid="" function="" to="" create="" matrices="" of="" mach="" number="" and="" altitude="" points="" that="" you="" then="" use="" to="" make="" the="" contour="" plots="" by="" running="" each="" of="" the="" resulting="" points="" through="" your="" computations.="" %="" now="" compute="" the="" skymap="" limits="" and="" trim="" the="" data="" [tmaxeng,~,~]="jt8d(M,h,50*ones(size(M)));" %="" pc="50" for="" max="" thrust="" tmax="2*Tmaxeng;" %="" for="" 2="" engines="" operating="" tmargin="Tmax-Treq;" clmargin="CLbuffet-CL;" %="" preceding="" the="" line="" above,="" you’ll="" need="" to="" compute="" clbuffet="" as="" a="" %="" function="" of="" mach="" number="" by="" interpolating="" the="" numbers="" given="" in="" %="" problem="" 4="">-0.05)=nan;><-0.05)=nan;>-0.05)=nan;><-0.05)=nan;>-0.05)=nan;><0)=nan;>0)=nan;><0)=nan; %="" make="" the="" figure="" [c,handle]="contour(M,hplot,SR,'LineColor','k');" %="" m,="" hplot,="" and="" sr="" are="" in="" meshgrid="" format="" clabel(c,handle);="" title('specific="" range="" (nm/lb)')="" xlabel('mach="" number')="" ylabel('altitude="" (1000="" ft)')="" axis([0="" 1="" 0="" 35])="" hold="" on="" oc="ocontourc(Mvect',hvect'," tmargin,="" [0,0]);="" %note="" that="" mvect="" and="" hvect="" are="" the="" vectors="" that="" were="" used="" to="" define="" %the="" meshgrid="" for="" the="" skymap="" contour="" plot="" handle2="hatchedcontours(oC);" oc="ocontourc(Mvect',hvect'," clmargin,="" [0,0]);="" handle2="hatchedcontours(oC,'r');" hold="" off="" %="" export="" the="" figure.="" use="" the="" stencil="" below="" for="" exporting="" all="" of="" your="" %="" matlab="" graphics!="" rez="600;" %resolution="" (dpi)="" of="" final="" graphic.="" 600="" is="" a="" good="" number.="" f="gcf;" %handle="" of="" figure="" to="" be="" exported="" figpos="getpixelposition(f);" resolution="get(0,'ScreenPixelsPerInch');" set(f,'paperunits','inches','papersize',figpos(3:4)/resolution,...="" 'paperposition',[0="" 0="" figpos(3:4)/resolution]);="" path="">0)=nan;>
; %Where should it go? C:\\ etc. name='SR.png'; %What should it be called? print(f,fullfile(path,name),'-dpng',['-r',num2str(rez)],'-opengl') 10.