Professional Documents
Culture Documents
Section 1. Climb
We define functions that convert a given altitude or gross weight into index values of the matrix.
alt
Out[2]= 1+
5000
14 wt
Out[3]= - +
3 300
We define a function that yields a rate of climb for a given altitude and weight.
ListInterpolation::inhr : Requested order is too high; order has been reduced to 82, 3<.
Out[4]= InterpolatingFunction@881, 3<, 81, 4<<, <>D
We define functions that convert a given altitude or gross weight into index values of the matrix.
2 1974-5 Cessna Skyhawk 172 M.nb
We define functions that convert a given altitude or gross weight into index values of the matrix.
alt
Out[7]= 1+
5000
14 wt
Out[8]= - +
3 300
We define a function that yields a rate of climb for a given altitude and weight.
ListInterpolation::inhr : Requested order is too high; order has been reduced to 82, 3<.
Out[9]= InterpolatingFunction@881, 3<, 81, 4<<, <>D
We define functions that convert a given altitude or gross weight into index values of the matrix.
alt
Out[12]= 1+
5000
14 wt
Out[13]= - +
3 300
ListInterpolation::inhr : Requested order is too high; order has been reduced to 82, 3<.
Out[14]= InterpolatingFunction@881., 3.<, 81., 4.<<, <>D
In[15]:= ClimbFuelBurn@alt0_ H* feet *L, altf_ H* feet *L, wt_ H* pounds *LD =
ClimbFuelBurnInterpolator@ClimbFuelBurnMatrixWeightToIndex@wtD,
ClimbFuelBurnMatrixAltitudeToIndex@altfDD -
ClimbFuelBurnInterpolator@ClimbFuelBurnMatrixWeightToIndex@wtD,
ClimbFuelBurnMatrixAltitudeToIndex@alt0DD H* US gallonshour *L
We define a function that uses rate-of-climb data to determine how long it takes to climb from one altitude to another.
In[16]:= TimeBetweenAltitudes@alt0_ H* feet *L, altf_ H* feet *L, wt_ H* pounds *LD =
â x H* minutes *L
altf
à
1
alt0 RateOfClimb@x, wtD
à
altf 1
Finally, we define a function that determines the fuel burn at a given altitude and gross weight. The burn is rate is determined
over a climb of ±500 feet from that altitude.
ClimbFuelBurnRate@alt_ H* feet *L, wt_ H* pounds *LD =
ClimbFuelBurn@alt - 500, alt + 500, wtD
In[17]:=
à
500+alt 1
Section 2. Cruise
We define a function that converts a given altitude into an index value of the vector.
alt
Out[19]=
2500
We define a function that yields a cruise speed in knots for a given altitude.
4 1974-5 Cessna Skyhawk 172 M.nb
F
alt
Out[21]= InterpolatingFunction@881, 5<<, <>DB
2500
We define a function that converts a given altitude or gross weight into an index value of the vector.
alt
Out[23]=
2500
F
alt
Out[25]= InterpolatingFunction@881., 5.<<, <>DB
2500
Section 3. Descent
Out[26]= 2.54
To do this, we will first specify the forces on the airplane in level flight. We do this by first specifying some constants describing
Earth’s atmosphere.
In[27]:= universalGasConstant = 8.31447 H* JoulesKelvin-mole *L
Out[27]= 8.31447
Out[28]= -0.0065
Out[29]= 9.80665
Out[30]= 0.0289644
In[34]:= AirPressure@press_ H* Pascals *L, alt_ H* meters *L, temp_ H* Kelvin *LD =
gravitationalAcceleration*dryAirMass
temperatureLapseRate* alt -universalGasConstant*temperatureLapseRate
press * 1 +
temp
5.25578
0.0065 alt
Out[34]= press 1 -
temp
In[36]:= AirDensity@press_ H* Pascals *L, alt_ H* meters *L, temp_ H* Kelvin *LD =
AirPressure@press, alt, tempD * dryAirMass
universalGasConstant* AirTemperature@alt, tempD
0.00348361 press J1 - N
0.0065 alt 5.25578
temp
Out[36]=
-0.0065 alt + temp
0.00174181 press J1 - N
0.0065 alt 5.25578
temp
v2 ACD
Out[38]= -
-0.0065 alt + temp
In a cruise, thrust and drag sum to zero. From this, we can determine ACD . We’ll enter in the cruise speeds for each percentage
of BHP (150 HP) and altitude as an ordered list.
cruiseSpeedsForDescent = 8139, 133, 128, 122, 116, 109, 138, 133, 128, 121, 114, 107,
138, 133, 126, 119, 112, 138, 131, 124, 117, 110, 132, 122, 115< H* mileshour *L
In[39]:=
Out[39]= 8139, 133, 128, 122, 116, 109, 138, 133, 128, 121, 114,
107, 138, 133, 126, 119, 112, 138, 131, 124, 117, 110, 132, 122, 115<
bhpPercentsForDescent = 887, 78, 70, 63, 57, 51, 81, 73, 66, 60,
54, 48, 76, 69, 63, 57, 51, 72, 66, 59, 54, 48, 65, 56, 51< H* percentage *L
In[40]:=
Out[40]= 887, 78, 70, 63, 57, 51, 81, 73, 66, 60, 54, 48, 76, 69, 63, 57, 51, 72, 66, 59, 54, 48, 65, 56, 51<
altitudesForDescent =
82500, 2500, 2500, 2500, 2500, 2500, 5000, 5000, 5000, 5000, 5000, 5000, 7500, 7500, 7500,
In[41]:=
7500, 7500, 10 000, 10 000, 10 000, 10 000, 10 000, 12 500, 12 500, 12 500< H* feet *L
Out[41]= 82500, 2500, 2500, 2500, 2500, 2500, 5000, 5000, 5000, 5000, 5000, 5000, 7500,
7500, 7500, 7500, 7500, 10 000, 10 000, 10 000, 10 000, 10 000, 12 500, 12 500, 12 500<
We then use these values to solve for A´CD , taking its value to be the average of all solutions.
In[42]:= derivedACD =
MeanATableAACD . SolveAForceThrustAbhpPercentsForDescentQiU 100, cruiseSpeedsForDescentQiU *
0.44704E + ForceDragAcruiseSpeedsForDescentQiU * 0.44704,
101 325, altitudesForDescentQiU * 0.3048, 288.15E 0, ACD E,
8i, 1, Length@cruiseSpeedsForDescentD<EE@@1DD H* meters^2 *L
Out[42]= 0.826051
The angle of descent is such that the aircraft descends at 500 feet per minute given its velocity.
F
2.54
Out[43]= ArcSinB
v
First, we determine the magnitude of the gravitational force upon the aircraft.
In[44]:= W@alt_ H* meters *L, wt_ H* kilograms *LD =
H* Newtons *L
earthsMass * wt
gravitationalConstant*
HearthsRadius + altL2
3.98658 ´ 1014 wt
We recalculate the drag equation, substituting in our derived value for ACD .
In[45]:= DerivedDrag@v_ H* meterssecond *L, press_ H* Pascals *L, alt_ H* meters *L,
0.00143882 press J1 - N
0.0065 alt 5.25578
temp
v2
Out[45]= -
-0.0065 alt + temp
The speed of the aircraft is the velocity at which the forces of thrust plus the horizontal component of weight is equal to the force
of drag (where “horizontal” refers to the lateral axis of the aircraft, and is not relative to the horizon).
In[46]:= Solve@
ForceThrust@pct, vD + W@alt, wtD * Sin@Θ@vDD + DerivedDrag@v, 101 325, alt * 0.3048, 288.15D 0, vD
Out[46]= ::v ®
-JH0.5 + 0.866025 äL I2.25679 ´ 1039 pct - 1.48091 ´ 1034 alt pct - 4.81016 ´ 1027 alt2 pct - 3.81433 ´
N
13
1020 alt3 pct + 5.02213 ´ 1035 wt - 3.45301 ´ 1030 alt wtM
JI1. - 6.87559 ´ 10-6 altM I1.0208 ´ 1034 + 3.20095 ´ 1027 alt + 2.50933 ´ 1020 alt2 M N>,
1.751927097624336 13
N
13
3.81433 ´ 1020 alt3 pct + 5.02213 ´ 1035 wt - 3.45301 ´ 1030 alt wtM
JI1. - 6.87559 ´ 10-6 altM I1.0208 ´ 1034 + 3.20095 ´ 1027 alt + 2.50933 ´ 1020 alt2 M N>,
1.751927097624336 13
:v ® I2.25679 ´ 10 39
pct - 1.48091 ´ 10 34
alt pct - 4.81016 ´ 10 27 2
alt pct -
13
3.81433 ´ 1020 alt3 pct + 5.02213 ´ 1035 wt - 3.45301 ´ 1030 alt wtM
JI1. - 6.87559 ´ 10-6 altM I1.0208 ´ 1034 + 3.20095 ´ 1027 alt + 2.50933 ´ 1020 alt2 M N>>
1.751927097624336 13
We’ll use the real solution as our equation for descent speed at an altitude and power setting.
In[47]:= DescentSpeed@pct_ H* factor *L, alt_ H* feet *L, wt_ H* pounds *LD =
I2.2567900815737013`*^39 pct - 1.4809085006917426`*^34 alt pct -
4.810158619974038`*^27 alt2 pct - 3.814329542744501`*^20 alt3 pct +
13
5.022128108384772`*^35 wt - 3.453007186649977`*^30 alt wtM
H* meterssecond *L
Out[47]= I2.25679 ´ 1039 pct - 1.48091 ´ 1034 alt pct - 4.81016 ´ 1027 alt2 pct -
13
3.81433 ´ 1020 alt3 pct + 5.02213 ´ 1035 wt - 3.45301 ´ 1030 alt wtM
Out[48]= 6.1
InterpolatingFunction::dmval :
Input value 80< lies outside the range of data in the interpolating function. Extrapolation will be used.
InterpolatingFunction::dmval :
Input value 80< lies outside the range of data in the interpolating function. Extrapolation will be used.
NIntegrate::slwcon :
Numerical integration converging too slowly; suspect one of the following: singularity, value
of the integration is 0, highly oscillatory integrand, or WorkingPrecision too small.
NIntegrate::ncvb :
NIntegrate failed to converge to prescribed accuracy after 9 recursive bisections in x near 8x<
= 815461.9<. NIntegrate obtained 209.76755327252812` and
154.6548498812603` for the integral and error estimates.
Out[49]//MatrixForm=
0 0 0 105 79 106 7.6 20.2 6.1 645 500.
2500 0 0 106 76 109 7.1 9.3 6.1 539 500.
5000 0 0 105 74 111 6.8 6.6 6.1 435 500.
7500 0 0 103 72 114 6.6 8.1 6.1 332 500.
10 000 0 0 102 70 117 6.4 10.5 6.1 230 500.
12 500 0 0 100 67 120 6.2 9.8 6.1 126 500.
15 000 0 0 98 63 124 6. 0.6 6.1 20 500.