APPENDIX B
EQUATIONS 
(i) Thrust Equation T= c_1+ c_2 V+c_3 V^2+c_4 V^3 Example:
T =(0.4672) + (-0.0036)*(19.0889)+(-0.0002)*(19.0889)2+(0.0000001)*(19.0889)3 ; T = 0.3263 lb
Where V=Takeoff Velocity and c_1, etc. are the values listed in the equation. The same format is used in the following equations.
(ii) Fuselage Equation D_f=d_1+d_2 V+d_3 V^2 Example:
Df = (-0.0033) +(-0.0001)*(19.0889)+(0.0002)*(19.0889)2;Df =0.06768 lb
(iii) Wheel Tractive Force WT= F_max (V<2) Example:
WT = 0.5 lb
WT= P/V (V>=2)
Example:
WT = (1)/(19.0889) = 0.05239 lb
(iv) Taylor Series ∑_(n=0)^∞▒〖(f^((n) ) (a))/n!(x-a)^n 〗
(v) Wing Drag D_w=1/2 ρV^2 S(C_do+∅(C_L^2)/πeAR) Example:
Dw = (1/2)*(.0023081)*(19.0889)2*(4.1667)(.015+(.777)*(.5742/π*(.879)*(6))); Dw = 0.05336 lb
Where phi (∅

is the ground effect force, AR is the Aspect Ratio and C_L^2 is the lift coefficient.
(vi) Rolling Resistance S_g= W/(σSC_L )(T/W )^(-1) 1/(gρ_0 ) Example:
Sg = (10)*(0.05)-1*(1/(32.2*.0023081))
Sg = 0.014571
(vii) Normal Force R= μ(W-1/2 ρV^2 SC_Lo) Example:
R = (.01)(1 – (.5)*(.0023081)*(19.0889)2*(4.1667)*(.574)); R =-0.000057512 lb
Where S is planform wing area (b*c) and C_Lo is the section lift coefficient.
(viii) Wing Loading WL=W/S
Example:
WL = (1)/(4.1667); WL = .239998
APPENDIX C
SOURCE CODE
 
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
float weight=1.00, span=5.00, chord=.83333, clalpha=.082, oswald=.879, mu=.01, parasitedrag=.015, zerolift=-5, takeoffangle=2;
float density=.0023081, gravity=32.2, wingheight=.583333, forcemax=.5, velocity=0.0, position=0.0, time=0.0;
float timestep, c1=.4672, c2=-.0036, c3=-.0002, c4=.0000001, d1=-.0033, d2=-.0001, d3=.0002, power=1.00, reactionforce;
float tractiveforce, thrust, fuselagedrag, aspectratio, surfacearea, phi, clnaught, wingdrag, derivative;
char crepeat;
do
{
cout << "This program will compute the estimated take-off distance of your vehicle with following assumptions and parameters\n";
cout << "Vehicle weight =" <<weight <<" lb, Wing span =" <<span<<" ft, Chord =" <<chord<<" ft\n";
cout << "Finite lift slope = " <<clalpha<<" per degree, Oswald efficiency factor "<<oswald<<", Friction coefficient, mu = "<<mu<<" \n";
cout << "Parasite drag coefficient = "<<parasitedrag<<", Zero lift AoA = "<<zerolift<<" degrees, Take-off AoA = "<<takeoffangle<<" \n";
cout << "Enter the time step you wish to use for this calculation.\n";
cin >> timestep;
aspectratio = (span*span)/(span*chord);
clnaught = (clalpha)*(takeoffangle-zerolift);
surfacearea = span*chord;
phi = (((16*wingheight)/span)*((16*wingheight)/span))/(1+((16*wingheight)/span)*((16*wingheight)/span));
float takeoffvelocity;
takeoffvelocity = sqrt((2*weight)/(density*surfacearea*clnaught));
do
{
thrust=(c1+c2*velocity+c3*velocity*velocity+c4*velocity*velocity*velocity);
fuselagedrag=(d1+d2*velocity+d3*velocity*velocity);
wingdrag=.5*density*velocity*velocity*surfacearea*(parasitedrag+phi*(clnaught*clnaught/(3.14159265*oswald*aspectratio)));
reactionforce=mu*(weight-(.5*density*velocity*velocity*surfacearea*clnaught));
if(velocity>=2.00)
{
tractiveforce=(power/velocity);
}
else
{
tractiveforce=forcemax;
}
if(velocity<=2.00)
{
derivative=c2+2*c3*velocity+3*c4*velocity*velocity-(d2+2*d3*velocity)-(density*surfacearea*velocity)*(parasitedrag+phi*((clnaught*clnaught)/(3.14159265*oswald*aspectratio)))+(mu*density*surfacearea*clnaught*velocity);
}
else
{
derivative=c2+2*c3*velocity+3*c4*velocity*velocity-(d2+2*d3*velocity)-(density*surfacearea*velocity)*(parasitedrag+phi*((clnaught*clnaught)/(3.14159265*oswald*aspectratio)))+(mu*density*surfacearea*clnaught*velocity)-(1/(velocity*velocity));
}
position=position+(timestep*velocity)+(timestep*timestep/2.0)*(gravity/weight)*(thrust - fuselagedrag - wingdrag - reactionforce + tractiveforce) + (timestep*timestep*timestep/6.0)*(gravity/weight)*derivative*(gravity/weight)*(thrust - fuselagedrag - wingdrag - reactionforce + tractiveforce);
velocity=velocity + (gravity/weight)*timestep*(thrust + tractiveforce - fuselagedrag - wingdrag - reactionforce) + (gravity/weight)*derivative*(timestep*timestep)/2.00*(gravity/weight)*(thrust+tractiveforce-fuselagedrag-wingdrag-reactionforce);
time=time+timestep;
cout << "Velocity, take off time and runway distance required equals " << velocity <<", "<< time <<", " << position<<"\n";
}while(velocity<=takeoffvelocity);
cout << "Again? (Enter Y or y)";
cin >> crepeat;
position=0.0;
time=0.0;
velocity=0.0;
}while(crepeat=='Y'||crepeat=='y');
return 0;
}
 
APPENDIX D
PROGRAM RESULTS 
VELOCITY TIME GROUND ROLL
2.96442 .1 0.152643
5.17401 .2 0.563687
7.05352 .3 1.17692
8.75058 .4 1.96839
10.3119 .5 2.92254
11.7586 .6 4.02696
13.1022 .7 5.27082
14.3503 .8 6.64422
15.6197 .9 8.29354
16.6847 1.0 9.90945
17.5745 1.1 11.4516
18.4907 1.2 13.2555
19.0889 1.27 14.571