You are on page 1of 250

This Page Blank

This Page Blank


This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
This Page Blank
/*
--------------------------------------------------------------------
PROGRAM: index.html Ver: 1.0 Rev: 03/01/2010
DESCRIPTION: www.neatinfo.com main menu
BY: Jan Zumwalt - www.zoomaviation.com
--------------------------------------------------------------------
COMMENTS: Practical calculation of aircraft performance
Compiled and ran on the free Pellec C compiler
http://www.smorgasbordet.com/pellesc/
--------------------------------------------------------------------
Ver info:
V1.0 users will note slight variations in output compared to the basic
version of this program due to different round off error in math
packages.

*/

#include <stdio.h>
#include <math.h>

/*
--------------------------------------------------------------------
This section is user variables that can be customized to a particular
aircraft. See The book for descriptions.
--------------------------------------------------------------------
*/
const float altitude_ft = 0.00; // Defines the value of Pi as fixed
const float air_density_slug = 0.00237; // (sealevel)
const float pi = 3.14159; // Defines the value of Pi as fixed
const float vel_delta = 1.00; // airspeed increment for each iteration
const float vel_stall_clean_mph = 67.00; // VS1
const float cl_max_clean = 1.53; //
const float cl_max_flap = 2.10; //
const float gross_lb = 1500.00; //
const float useful_load_lb = 600.00; //
const float plane_efficiancy = 0.744; //
const float bhp = 150.00; // Defines the value of Pi as fixed
const float vel_max_mph = 180.00; //
const float prop_dia_in = 72.00; //
const float prop_dia_ft = 72 / 12; //
const float wing_span_ft = 20.83; //
const float prop_max_rpm = 2700.00; //
// end of user editable custom variables

void main()
{
float wing_load_lb_ft = cl_max_clean * pow(vel_stall_clean_mph,2) / 391; //
float vel_stall_flaps_mph = sqrt(wing_load_lb_ft * 391 / cl_max_flap); // VS0
float wing_area_ft = gross_lb / wing_load_lb_ft; //
float wing_aspect = pow(wing_span_ft,2) / wing_area_ft; //
float wing_chord_ft = wing_span_ft / wing_aspect; //
float wing_span_effective = wing_span_ft * sqrt(plane_efficiancy); //
float wing_chord_effective = wing_area_ft / wing_span_effective; //
float wing_load_effective = gross_lb / wing_span_effective; //
float drag_area_ft = .8 * bhp * 146625 / pow(vel_max_mph,3); //
//
float cd_drag = drag_area_ft / wing_area_ft; //
float vel_sink_min_ft = 11.29 * sqrt(wing_load_effective) /
sqrt(sqrt(drag_area_ft)); //
float pwr_min_req_hp = .03922 * sqrt( sqrt(drag_area_ft)) * wing_load_effective *
sqrt(wing_load_effective); //
float rate_sink_min_ft = 33000 * pwr_min_req_hp / gross_lb; //
float ld_max = .8862 * wing_span_effective / sqrt(drag_area_ft); //
float drag_min = gross_lb / ld_max; //
float cl_min_sink = 3.07 * sqrt(drag_area_ft) / wing_chord_effective; //
float rate_climb_ideal = 33000 * bhp / gross_lb; //
float prop_tip_mach = prop_max_rpm * prop_dia_ft * .05236 / 1100; //
float prop_vel_ref = 41.9 * pow(bhp / pow(prop_dia_ft,2),.33333); //
float static_thrust_ideal = 10.41 * pow(bhp * prop_dia_ft,.66666); //

printf("\n\t wing_load_lb_ft = %.02f", wing_load_lb_ft);


printf("\n\t vel_stall_flaps_mph = %.02f", vel_stall_flaps_mph);
printf("\n\t wing_area_ft = %.02f", wing_area_ft);
printf("\n\t wing_aspect = %.02f", wing_aspect);
printf("\n\t wing_chord_ft = %.02f", wing_chord_ft);
printf("\n\t wing_span_effective = %.02f", wing_span_effective);
printf("\n\t wing_chord_effective = %.02f", wing_chord_effective);
printf("\n\t wing_load_effective = %.02f", wing_load_effective);
printf("\n\t drag_area_ft = %.02f", drag_area_ft);
printf("\n\t cd_drag = %.04f", cd_drag);
printf("\n\t vel_sink_min_ft = %.02f", vel_sink_min_ft);
printf("\n\t pwr_min_req_hp = %.02f", pwr_min_req_hp);
printf("\n\t rate_sink_min_ft = %.02f", rate_sink_min_ft);
printf("\n\t ld_max = %.02f", ld_max);
printf("\n\t drag_min = %.02f", drag_min);
printf("\n\t cl_min_sink = %.02f", cl_min_sink);
printf("\n\t rate_climb_ideal = %.02f", rate_climb_ideal);
printf("\n\t prop_tip_mach = %.02f", prop_tip_mach);
printf("\n\t prop_vel_ref = %.02f", prop_vel_ref);
printf("\n\t static_thrust_ideal = %.02f", static_thrust_ideal);

printf("\n\n");
printf("\n\t -----------------------------------------------------------------------------
");
printf("\n\t airspeed \t climb rate \t prop eff \t sink rate \t rennolds num");
printf("\n\t v(mph) \t rc(fpm) \t eta \t rs(fpm) \t re=rho*v*c/mu");
printf("\n\t -----------------------------------------------------------------------------
");

float eta = 1;
float fp = 0;
float rc = 1;
float rc1 = 0;
float rc2 = 0;
float rcmax = 0;
float rec = 0;
float rsh = 0;
float rmu = 1;
float rs = 0;
float sig = pow(1 - altitude_ft / 145800,4.265);
// float t = 518.7 - 0.00356 * altitude_ft;
float t1 = .3333;
float t2 = 0;
float v = vel_stall_clean_mph;
float vh = 0;
float vmax = 0;
float vt = 0;
float wv2 = 0;

while (rc > 0)


{
vh = v / vel_sink_min_ft;
rsh = .25 * (pow(vh,4) + 3) / vh;
rs = rsh * rate_sink_min_ft;
vt = v / prop_vel_ref;
t2 = sqrt(1 + .23271 * pow(vt,3));
eta = .92264 * vt * (pow( 1 + t2,t1) - pow(t2 - 1,t1)) * .85;
rc = rate_climb_ideal * eta - rs;
rc2 = rc;
rec = sig * v * wing_chord_ft * 9324 / rmu;
if (rc < 0) break;
rcmax = fmax(rc,rcmax);
vmax = fmax(v,vmax);
printf("\n\t %.01f \t %.01f \t %.02f \t %.01f \t %.0f",v, rc, eta, rs,
rec );
v = v + vel_delta * rc2 / (rc2 - rc1);
}

fp = rcmax * useful_load_lb / 33000 / bhp * (1 - (vel_stall_flaps_mph / vmax));

wv2 = gross_lb * pow(v,2);

printf("\n\n\t performance parameter......... fp = %.04f",fp);


printf("\n\t kinetic energy parameter...... wv2 = %.02f",wv2);
printf("\n\t maximum rate of climb.. ...... rcmax = %.02f",rcmax);
printf("\n\t maximum speed................. vmax = %.02f",vmax);
printf("\n\t useful load lb....... useful_load_lb = %.02f",useful_load_lb);

printf("\n\n\t +------------------------------------------------------+");
printf("\n\t | Thank you for using |");
printf("\n\t | Air-Performance 1.0 |");
printf("\n\t +------------------------------------------------------+");

printf("\n\n\t Press <Enter> key to exit... ");


while ((getchar()) != '\n'); printf("\n");
}

OUTPUT...
-----------------------------------------------------------------------------
airspeed climb rate prop eff sink rate rennolds num
v(mph) rc(fpm) eta rs(fpm) re=rho*v*c/mu
-----------------------------------------------------------------------------
67.0 1175.5 0.63 896.1 2561031
68.0 1196.3 0.63 891.1 2599255
69.0 1216.2 0.64 886.6 2637480
70.0 1235.3 0.64 882.6 2675704
71.0 1253.5 0.65 879.1 2713928
72.0 1271.0 0.65 876.1 2752153
-
-
-
170.0 183.4 0.82 2521.4 6498138
171.0 147.3 0.82 2559.0 6536362
172.0 110.7 0.82 2597.2 6574587
173.0 73.5 0.82 2635.9 6612811
174.0 35.8 0.82 2675.0 6651035

performance parameter......... fp = 0.1206


kinetic energy parameter...... wv2 = 45937500.00
maximum rate of climb.. ...... rcmax = 1482.42
maximum speed................. vmax = 174.00
useful load lb....... useful_load_lb = 600.00

+------------------------------------------------------+
| Thank you for using |
| Air-Performance 1.0 |
+------------------------------------------------------+

Press <Enter> key to exit...


This Page Blank
Appendix A
(information not in the original book)
Appendix B
(information not in the original book)

Aviation Math Symbols


Α, α
Alpha angle d = distance
Β, β Beta D = drag
Γ, γ Gamma Dmin = minimum drag
Di = induced drag
∆, δ Delta change or press/ratio
Dp = parasite drag
Ε, ε Epsilon Dt = total drag
Ζ, ζ Zeta EAS = equivalent air speed
Η, η Eta F = force
Θ, θ Theta temp/ratio Fb = braking force
Ι, ι Iota FR = friction
Κ, κ Kappa ft = feet
ft/m = feet per minute
Λ, λ Lambda
ft/s = feet per second
Μ, µ Mu G = gravity – 32.2(ft/s2)
Ν, ν Nu H = head (total pressure)
Ξ, ξ Xi h = height
Ο, ο Omicron hp = horse power
Π, π Pi 3.141 IAS = indicated air speed
Ρ, ρ Rho density k = constant
KE = kinetic energy
Σ, σ Sigma density/ratio kt = knot
Τ, τ Tau L = lift
Υ, υ Upsilon L/D = lift to drag ratio (no dim)
Φ, φ Phi trig angle, i.e. sin, cos L/Dmax = max lift/drag ratio (no dim)
Χ, χ Chi m = mass
Ψ, ψ Psi MAC = mean aerodynamic chord
mph = mile per hour
Ω, ω Omega
N = weight on wheels
ŋ = efficiency
∠ angle ŋP = propulsive efficiency
° degree P = air density(slugs)
≅ approximate PA = power available
≤ less than or equal PE = potential energy
≥ more than or equal PR = power required
± plus or minus q = dynamic pressure
RN = renold number
∞ infinity ROC = rate of climb
∑ sum S = surface area
o
sl = slug
C = (oF-32) * 5/9 SL = sea level
o
F = (oC * 5/9) + 32 Ŧ = thrust (lb)
o o
R = F + 460 t = time
o o
K = C + 273 ŦA = thrust available
TAS = true air speed
ft/min = mph * 88 TE = total energy
ft/sec = kt * 1.69 ŦR = thrust required
ft/sec = mph * 1.47 u = friction coefficient (no dim)
kt = mph * 0.87 V = velocity
kt = fps VS = velocity at stall
1.69 VX = velocity best angle
mph = kt * 1.15 VY = velocity best ROC
W = weight
Note: unit of measure may be in subscript. X = distance or unknown
For example, a distance (X) may be given as Y = height or unknown
Xft or Xin.
P(hg )
a = acceleration δ =
AC = aerodynamic center PSL (hg )
AR = wing aspect ratio (no dim)
b = wing span
T ° SL
C = chord θ =
CF = coefficient of force (no dim) T°
CG = center of gravity
δ δ T ° SL
CL = coefficient of lift (no dim) σ = * θ = *
CLmax = max CL (no dim) δ SL δ SL T °
DT(lb) = ½*p(alt)*V2(fps)*S(ft2)*Cd
σ ∗ V 2 (kts ) Dimin = drag induced at (L/D)max(lb)
q =
295
2
 
DP = D min *  V 2 
F (lb)
a(fps2) = 2  V1 
W (lb) / 32.2( g )
F (lb)  
2
= Di = D min *  V 1 
m( sg ) 2 V 2 

Vstart ( fps ) + Vend ( fps )


2 2
Dt = Dp + Di
=
2 * d ( ft )
W (lb)
* [T (lb) − D(lb) − FR (lb)]
32.2( g ) Dmin =
= ( L / D ) max
W (lb)
span span 2 EAS = CAS ± ∆V”chart
AR = =
chord (mean) area Fb = u * N

CAS = IAS ± ∆V”chart” T (lb) * V (kt )


hp =
L (lb) 325
CL =
1 / 2 * p ( sg ) * V 2 ( fps ) * S ( ft 2 ) W (lb)
m(sg) =
32( fps )
295 ∗ w(lb)
CL =
σ ∗ V 2 (kt ) ∗ S ( ft 2 ) 2 ∗ W (lb)
Vs(fps) =
d(ft) = Vav(fps) * t(s) C L max * p (alt ) * S ( ft 2 )

Vstart ( fps ) + Vend ( fps ) 1


= * t(s) TAS = EAS * density = VIAS
2 σ
dtakeoff(ft) =
[
VTakeoff ( fps ) ± wind ( fps )
2
]
r ( ft ) * rpm
2 * a( fps 2 ) Vtip(fps) =
2 9.55
W (lb) 
d2_takeoff(ft) = d 1 _ takeoff ( ft ) *  2 
 W1 (lb)  VDIST = 2 * a( fps 2 ) * d ( ft )
2
σ 
= d 1 _ takeoff ( ft ) *  1 
σ 2 
295 ∗ W (lb)

dland(ft) =
[V Takeoff ( fps ) ± wind ( fps ) ]
2 VDmin =
C L * σ * S ( ft 2 )
2
2 * a ( fps )
W2 (lb) * L2 ( ft )
W (lb)  S(ft2) =
d2_land(ft) = d1 _ Land ( ft ) *  2  W1 (lb) + W2 (lb)
 W1 (lb) 
2
V ( fps )
 t(s) =
wind ( fps )  a ( fps 2 )
= d1 _ Land ( ft ) * 1 + 
 V1 _ land ( fps ) 

σ 
= d1 _ land ( ft ) *  1 
σ 2 
A1*V1 = A2*V2 = A3*V3

σ ∗ V1 2 (kts)
q1 = ½ * P * V12 =
295

H = P1 + q1

alt alt A1 ( ft 2 ) ∗ V1 (kt )


hyp = alt + bas
2 2
= = V2(kt) =
A2 ( ft 2 )
sin ∠a cos ∠b

base base σ ∗V 2 2 (kts)


= = q2 =
cos ∠a sin ∠b 295

bas p2 = H - q2
alt = hyp 2 + bas 2 =
tan ∠a
A2 ( ft 2 ) ∗ V2 (kt )
bas A3(ft2) =
= = hyp * Sin ∠α V3 (kt )
tan ∠b
alt
bas = hyp * Cos ∠α = σ ∗V3 2 (kts)
tan ∠b q3 =
= alt * tan ∠b = hyp * cos ∠a
295

p3 = H – q3
= hyp * sine ∠b

alt
Tan ∠α =
bas
∠a = 90 – b

***************************************

CG(ft) =
∑ Mom( ft / lb)
∑W (lb)
∑ [W (lb) * Arm( ft )]
∑ [W (lb)]
=

A1 = V1 = P1 = σ = q1 = ************************************
A2 = V2 = P2 = σ = q2 =
A3 = V3 = P3 = σ = q3 =
Appendix C
(information not in the original book)

Design Notes
Appendix D
(information not in the original book)

Graphs & Charts


Log Paper