mlw450802 said:
Post away!
Ok, pretty simple calculations. Only hitch is that I didn't include the standard atmosphere alt to density function (rhoalt). As they say in the textbooks, that excercise is left to the student.
alt = 10000; % ft > higher is better
V = 180; % speed, mph > slower is better
S=120; % wing area, ft^2
L=1750; % weight, lb > higher is better
E=0.80; % wing elliptical coefficient > lower is better
AR=5; % wing aspect ratio
HP=180; % engine horsepower > lower is better
PP=0.65; % percent power > lower is better
EP=0.85; % propeller efficiency factor, typical
Sw=4; % winglet planform area > lower is better
ARw=6; % effective aspect ratio with winglets >
% higher is better, this is very generous
% Density, sl/ft^3
rho = rhoalt(alt);
% Cruise speed, fps
U=V*5200/3600;
% Dynamic pressure, psf
q=1/2*rho*U.^2;
% Lift coefficient
Cl=L/(q*S);
% Propulsive power
P=HP*550*PP*EP;
% Cruise drag
D=P/U;
% Cruise total drag coefficient
Cd=D/(q*S);
% Drag due to lift
Cdl=Cl.^2/(pi*E*AR);
% Cruise zero-lift Cd
Cd0=Cd-Cdl;
% Induced drag coefficient with winglets
Cdlw = Cl.^2/(pi*E*ARw);
% Zero-lift drag coefficient with winglets
Cd0w = Cd0*(S+Sw)/S;
% Cruise drag coefficient with winglets
Cdw = Cd0w + Cdlw;
disp(['Density, sl/ft^3 = ', num2str(rho)]);
disp(['Cruise speed, fps = ', num2str(U)]);
disp(['Dynamic pressure, psf = ', num2str(q)]);
disp(['Lift coefficient = ', num2str(Cl)]);
disp(['Propulsive power, lbs*fps = ', num2str(P)]);
disp([' '])
disp(['Without winglets'])
disp([' Zero-lift drag coefficient = ', num2str(Cd0)]);
disp([' Induced drag coefficient = ', num2str(Cdl)]);
disp([' Cruise total drag coefficient = ', num2str(Cd)]);
disp([' Zero-lift drag, lbs = ', num2str(Cd0*q*S)]);
disp([' Induced drag, lbs = ', num2str(Cdl*q*S)]);
disp([' Cruise drag, lbs = ', num2str(Cd*q*S)]);
disp([' '])
disp(['With winglets'])
disp([' Zero-lift drag coefficient = ', num2str(Cd0w)]);
disp([' Induced drag coefficient = ', num2str(Cdlw)]);
disp([' Cruise total drag coefficient = ', num2str(Cdw)]);
disp([' Zero-lift drag, lbs = ', num2str(Cd0w*q*S)]);
disp([' Induced drag, lbs = ', num2str(Cdlw*q*S)]);
disp([' Cruise drag, lbs = ', num2str(Cdw*q*S)]);
disp([' '])
disp(['Drag change due to winglets, lbs = ', num2str((Cdw-Cd)*q*S)]);