*/
#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\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;
printf("\n\n\t +------------------------------------------------------+");
printf("\n\t | Thank you for using |");
printf("\n\t | Air-Performance 1.0 |");
printf("\n\t +------------------------------------------------------+");
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
+------------------------------------------------------+
| Thank you for using |
| Air-Performance 1.0 |
+------------------------------------------------------+
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
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)