(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "NeXT Mathematica Notebook Front End Version 2.2"; NeXTStandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 12, "Times"; ; fontset = leftheader, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, L1, 12, "Times"; ; fontset = leftfooter, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; paletteColors = 128; automaticGrouping; currentKernel; ] :[font = title; inactive; noKeepOnOnePage; preserveAspect; startGroup] PARACHUT :[font = section; inactive; preserveAspect; startGroup] BRIEF ABSTRACT :[font = subsection; inactive; preserveAspect; endGroup] A simple model of a sky diver's trip to the ground can yield reasonable position and velocity functions but by furthering considering the acceleration, the models require modification. This problem explores this issue and is appropriate for students who are prepared to set up and solve (at least with a computer) first order ODEs. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] GENERAL INFORMATION :[font = subsection; inactive; noKeepOnOnePage; preserveAspect] FileName: PARACHUT :[font = subsection; inactive; noKeepOnOnePage; preserveAspect] Full title: Parachute - the Full Experiences :[font = subsection; inactive; preserveAspect] Last Update: 6/1/96 :[font = subsection; inactive; noKeepOnOnePage; preserveAspect] Developer: Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. :[font = subsection; inactive; noKeepOnOnePage; preserveAspect] Contact: Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. Phone: 812-877-8151. Email: Klebanoff@rose-hulman.edu. FAX: 812-877-3198. :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; endGroup] Support: The production of this material is supported by the National Science Foundation under Division of Undergraduate Education grant DUE-9352849: Development Site for Complex, Technology-Based Problems in Calculus with Applications in Science and Engineering and the Arvin Foundation of Columbus IN. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] STATEMENT OF PROBLEM :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; endGroup] The table below gives approximate terminal velocities of a sky diver: Diver's Position terminal velocity Vertical With Hands at Side (feet pointing at ground): 278.8 ft/sec Horizontal (spread eagle -- body parallel to ground): 180.4 ft/sec With Chute Open (diver vertical): 21.32 ft/sec A sky diver weighs 130 pounds and her pack weighs an additional 25 pounds. She falls from a plane flying at 5000 feet. (1) Assuming that the drag due to wind resistance is proportional to her speed, determine three differential equations which account for her velocity in each phase of flight. (2) Utilize the equations found in (1) to determine how long it will take for the sky diver to hit the ground if she drops from 5000 feet vertically, at first with her body pointing downward, and then drops with her body parallel in "spread eagle" fashion from 3000 feet down to 500 feet where she opens her chute. (3) Further modify your model to account for non-instantaneous changes between stages of flight. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] KEYWORDS :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; endGroup] Differential Equations; Free Fall; Newton's 2nd Law; sky diving; resistance, acceleration. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] TEACHER NOTES :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] ISSUES RELATED TO THE PROBLEM :[font = subsubsection; inactive; noKeepOnOnePage; preserveAspect] This exercise is meant to be somewhat open ended. The goal is to get the students thinking about how the equations can represent a physical situation. :[font = subsubsection; inactive; preserveAspect] If the students haven't already been introduced to a simple free fall model (with linear drag), then the instructor should lead the students through the first problem. However, students should be able to figure out (2) on their own, and (3) then makes for a good group project in class. :[font = subsubsection; inactive; preserveAspect; endGroup] One could also ask for a comparison between the models in (2) and (3) and ask if either is more realistic than the other in terms of graphical output say. :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] Prerequisites :[font = subsubsection; inactive; noKeepOnOnePage; preserveAspect; endGroup] Linear 1st order differential equations OR the derivative and a graphical DE solver tool such as DSolve in Mathematica. ;[s] 3:0,0;109,1;120,2;123,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] Time allotment - time management :[font = subsubsection; inactive; preserveAspect; endGroup] This project should take 1 day in class to finish most of (1) and (2); and then a week out of class for (3). :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] Expectations :[font = subsubsection; inactive; preserveAspect] The first question should be straight forward if the students have been introduced to similar problems before. Some students may not be sure exactly what the format of their answer is -- you may wish to clarify what you would deem an acceptable answer. :[font = subsubsection; inactive; preserveAspect] The second question is difficult for students, but a group of 2 or 3 students would likely succeed. :[font = subsubsection; inactive; preserveAspect] Students will likely need tips to account for non-instantaneous transition times unless you work related examples in class. :[font = subsubsection; inactive; preserveAspect; endGroup] If this is the student's first attempt at modeling, it may take a while for students to have any idea of where to start. You may wish to help them through this and ask them to further improve the model. (See extensions too.) :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] Future payoffs :[font = subsubsection; inactive; preserveAspect] Reinforces Newton's 2nd Law as applied to dynamics models. :[font = subsubsection; inactive; preserveAspect] If carried far enough (esp, see Extensions), the student should begin to get comfortable with how different components of a model affect the solution. :[font = subsubsection; inactive; preserveAspect; endGroup] Reinforces the notion that the equations are models -- not reality, and opens the door to experimentation with better models. :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] Extensions :[font = subsubsection; inactive; preserveAspect] This IS an extension of the classical free-fall problem. :[font = subsubsection; inactive; preserveAspect; endGroup] Here are some further extensions that make for good projects beyond the original assignment: (4) Experimentation has shown that the turbulence in the air in fact causes a drag force approximated by a constant of proportionality times the square of the speed. Repeat (1), (2) and (3) with this modification. (5) Assume that in fact, the wind drag force is proportional to the speed raised to SOME power between 1 and 3. Determine how sensitive the results are to changes in the exponent. See ISSUES IN SOLUTION before assigning these extensions. ;[s] 1:0,0;552,-1; 1:1,12,9,Times,1,14,0,0,0; :[font = subsection; inactive; noKeepOnOnePage; preserveAspect; startGroup] References and Sources :[font = subsubsection; inactive; noKeepOnOnePage; preserveAspect; endGroup; endGroup] This is an extension of an exercise suggested by Kostelich and Armbruster of Arizona State University. Tabulated data from Benson, H., 1991, University Physics. New York: John Wiley & Sons, p. 109. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] POSSIBLE SOLUTION(S) :[font = subsection; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] Problem 1. The Basic Equations. :[font = subsubsection; inactive; preserveAspect] If we let positive velocity be in the downward direction, then the two forces acting on the sky diver are: force due to gravity, g, is F_g = m g; force due to air resistance is F_r = - k v; where m g = is the weight of the sky diver (and chute) and k is the coefficient of friction. m (dv/dt) = F_g + F_r that is dv/dt = g - (k/m) v. ;[s] 3:0,0;309,1;310,2;340,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsubsection; inactive; preserveAspect; startGroup] First, we solve the initial value problem with arbitrary k. :[font = input; preserveAspect] k = . g = 32; m = 155/32; de1 = v'[t] == g - k/m v[t]; v0 = 0; :[font = input; preserveAspect; startGroup] ans = Flatten[DSolve[{de1, v[0]==v0}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 155/k - 155/(E^((32*k*t)/155)*k)} ;[o] 155 155 {v[t] -> --- - ---------------} k (32 k t)/155 E k :[font = input; preserveAspect; startGroup] v[t] /. ans :[font = output; output; inactive; preserveAspect; endGroup] 155/k - 155/(E^((32*k*t)/155)*k) ;[o] 155 155 --- - --------------- k (32 k t)/155 E k :[font = input; preserveAspect; startGroup] LimVel = %[[1]] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 155/k ;[o] 155 --- k :[font = subsubsection; inactive; preserveAspect; startGroup] Now, we can determine the physical drag coefficients for each of the limiting velocities. This then yields the three different (differential) equations. :[font = input; preserveAspect; startGroup] temp = Flatten[Solve[LimVel==278.8, k]]; k1 = k /. temp :[font = output; output; inactive; preserveAspect; endGroup] 0.5559540889526544 ;[o] 0.555954 :[font = input; preserveAspect; startGroup] temp = Flatten[Solve[LimVel==180.4, k]]; k2 = k /. temp :[font = output; output; inactive; preserveAspect; endGroup] 0.85920177383592 ;[o] 0.859202 :[font = input; preserveAspect; startGroup] temp = Flatten[Solve[LimVel==21.32, k]]; k3 = k /. temp :[font = output; output; inactive; preserveAspect; endGroup] 7.270168855534709 ;[o] 7.27017 :[font = input; preserveAspect; endGroup; endGroup] de1 = v'[t] == g - k1 v[t]/m; de2 = v'[t] == g - k2 v[t]/m; de3 = v'[t] == g - k3 v[t]/m; :[font = subsection; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] Problem 2. How long to hit the ground (assume linear drag.) :[font = subsubsection; inactive; preserveAspect; startGroup] Since we took positive pointing down, we'll say that we start at position 0 and we wish to find out how long it takes to get to position 5000. In order to do this, we must determine the velocity and integrate to get the position. :[font = input; preserveAspect; startGroup] v0 = 0; temp = Flatten[DSolve[{de1, v[0] == v0}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 278.7999999999999 - 278.7999999999999/E^(0.1147776183644189*t)} ;[o] 278.8 {v[t] -> 278.8 - -----------} 0.114778 t E :[font = input; preserveAspect; startGroup] vel1[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 278.7999999999999 - 278.7999999999999/ E^(0.1147776183644189*t) ;[o] 278.8 278.8 - ----------- 0.114778 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos1(t). :[font = input; preserveAspect; startGroup] po1 = .; pos1[t_] = Integrate[vel1[t], t] + p01 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 2429.044999999999/E^(0.1147776183644189*t) + p01 + 278.7999999999999*t ;[o] 2429.04 ----------- + p01 + 278.8 t 0.114778 t E :[font = subsubsection; inactive; preserveAspect; startGroup] But we also need to find the constant of integration so that the position is 0 when t = 0, and we'll use Newton's method to get it. Since the velocity is always positive, pos1[t] is increasing, so any guess for Newton's method will work: we guess 0. (We are assuming that the jump height, 0, corresponds to 0 feet from the plane and 5000 feet above ground.) :[font = input; preserveAspect; startGroup] FindRoot[pos1[0], {p01, 0}] :[font = output; output; inactive; preserveAspect; endGroup] {p01 -> -2429.044999999999} ;[o] {p01 -> -2429.04} :[font = input; preserveAspect; startGroup] p01 = p01 /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -2429.044999999999 ;[o] -2429.04 :[font = subsubsection; inactive; preserveAspect; startGroup] Next we find the time when pos1[t] = 2000, i.e. the end of the first time period in which the sky diver is falling pointing perpendicular to the ground. Making use of monotonicity (see the graph), any guess with Newton's method (FindRoot[]) will do. :[font = input; preserveAspect; startGroup] Plot[pos1[t], {t, 0, 10}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] FindRoot[pos1[t] == 2000, {t, 10}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 14.17361755656042} ;[o] {t -> 14.1736} :[font = input; preserveAspect; startGroup] t1 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 14.17361755656042 ;[o] 14.1736 :[font = subsubsection; inactive; preserveAspect] So, it takes about 14 seconds before the sky diver "flies like an eagle". :[font = subsubsection; inactive; preserveAspect; startGroup] We now use the velocity at t1 as the initial velocity for the time period in which she is falling spread eagle. :[font = input; preserveAspect; startGroup] v1 = vel1[t1]; temp = Flatten[DSolve[{de2, v[0] == v1}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 180.4 + 43.6005250810955/ E^(0.1773835920177384*t)} ;[o] 43.6005 {v[t] -> 180.4 + -----------} 0.177384 t E :[font = input; preserveAspect; startGroup] vel2[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 180.4 + 43.6005250810955/E^(0.1773835920177384*t) ;[o] 43.6005 180.4 + ----------- 0.177384 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos2(t). :[font = input; preserveAspect; startGroup] p02 = .; pos2[t_] = Integrate[vel2[t], t] + p02 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -245.7979601446758/E^(0.1773835920177384*t) + p02 + 180.4*t ;[o] -245.798 ----------- + p02 + 180.4 t 0.177384 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Since the velocity is always positive, pos2(t) is increasing, so any guess for Newton's method will work: again we guess 0. :[font = input; preserveAspect; startGroup] FindRoot[pos2[0]==2000, {p02, 0}] :[font = output; output; inactive; preserveAspect; endGroup] {p02 -> 2245.797960144676} ;[o] {p02 -> 2245.8} :[font = input; preserveAspect; startGroup] p02 = p02 /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 2245.797960144676 ;[o] 2245.8 :[font = subsubsection; inactive; preserveAspect; startGroup] Next we find the time when pos2[t] = 4500 (500 feet above aground). :[font = input; preserveAspect; startGroup] Plot[pos2[t], {t, 0, 15}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] FindRoot[pos2[t] == 4500, {t, 12}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 12.64031174424027} ;[o] {t -> 12.6403} :[font = input; preserveAspect; startGroup] t2 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 12.64031174424027 ;[o] 12.6403 :[font = subsubsection; inactive; preserveAspect] So, it takes about 12.6 seconds before the sky diver opens her chute. :[font = subsubsection; inactive; preserveAspect; startGroup] We now use the velocity at t2 as the initial velocity for the time period in which she is falling with her chute opened. :[font = input; preserveAspect; startGroup] v2 = vel2[t2]; temp = Flatten[DSolve[{de3, v[0] == v2}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 21.32 + 163.7115208524382/ E^(1.50093808630394*t)} ;[o] 163.712 {v[t] -> 21.32 + ----------} 1.50094 t E :[font = input; preserveAspect; startGroup] vel3[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 21.32 + 163.7115208524382/E^(1.50093808630394*t) ;[o] 163.712 21.32 + ---------- 1.50094 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos3(t). :[font = input; preserveAspect; startGroup] p03 = .; pos3[t_] = Integrate[vel3[t], t] + p03 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -109.0728007679369/E^(1.50093808630394*t) + p03 + 21.32*t ;[o] -109.073 ---------- + p03 + 21.32 t 1.50094 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Since the velocity is always positive, pos2[t] is increasing, so any guess for Newton's method will work: we guess 0. :[font = input; preserveAspect; startGroup] FindRoot[pos3[0]==4500, {p03, 0}] :[font = output; output; inactive; preserveAspect; endGroup] {p03 -> 4609.072800767938} ;[o] {p03 -> 4609.07} :[font = input; preserveAspect; startGroup] p03 = p03 /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 4609.072800767938 ;[o] 4609.07 :[font = subsubsection; inactive; preserveAspect; startGroup] Next, we find the time when pos3[t] = 5000 (on the aground). :[font = input; preserveAspect; startGroup] Plot[pos3[t], {t, 0, 20}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] FindRoot[pos3[t] == 5000, {t, 20}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 18.33617257186607} ;[o] {t -> 18.3362} :[font = input; preserveAspect; startGroup] t3 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 18.33617257186607 ;[o] 18.3362 :[font = subsubsection; inactive; preserveAspect; startGroup] So, the Sky Diver will hit the ground in :[font = input; preserveAspect; startGroup] t1 + t2 + t3 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 45.15010187266676 ;[o] 45.1501 :[font = subsubsection; inactive; preserveAspect; startGroup] seconds with an average speed of :[font = input; preserveAspect; startGroup] 5000 ft/(% sec) 3600 sec/(1 hr) 1 miles/(5280 ft) :[font = output; output; inactive; preserveAspect; endGroup; endGroup] (75.50571909461684*miles)/hr ;[o] 75.5057 miles ------------- hr :[font = subsubsection; inactive; preserveAspect; startGroup] Below are the graphs of position, velocity and acceleration of the diver during her fall. :[font = input; preserveAspect] pos[t_] := If[t < t1, pos1[t], If[t < t1+t2, pos2[t-t1], pos3[t-t1-t2]]]; vel[t_] := If[t < t1, vel1[t], If[t < t1+t2, vel2[t-t1], vel3[t-t1-t2]]]; :[font = input; preserveAspect] acc1[t_] = D[vel1[t], t]; acc2[t_] = D[vel2[t], t]; acc3[t_] = D[vel3[t], t]; acc[t_] := If[t < t1, acc1[t], If[t < t1+t2, acc2[t-t1], acc3[t-t1-t2]]]; :[font = input; preserveAspect; startGroup] Plot[pos[t], {t, 0, t1 + t2 + t3}, PlotRange -> All, AxesLabel -> {"t [sec]", "distance fallen [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] Plot[vel[t], {t, 0, t1 + t2 + t3}, PlotRange -> All, AxesLabel -> {"t [sec]", "speed [ft/sec]"}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] Plot[acc[t], {t, 0, t1 + t2 + t3}, PlotRange -> All, AxesLabel -> {"t [sec]", "acceleration [ft/sec^2]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsection; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] Problem 3. No instantaneous transitions... :[font = subsubsection; inactive; preserveAspect] The acceleration of over 200 ft/sec^2 (over 6 gs) could cause a dangerous (if not fatal) force on the sky diver. Of course, this doesn't really occur since in reality there is a short (but measurable) time interval over which the transitions from vertical to spread eagle flight and especially from spread eagle to open chute parts of flight. We account for this below by adding two more time intervals into the problem: one for each transition. We'll make the easiest assumption: over the transition period, the k's vary linearly. :[font = subsubsection; inactive; preserveAspect; startGroup] Time Interval 1. From plane to the transition to spread eagle. :[font = input; preserveAspect; startGroup] v0 = 0; temp = Flatten[DSolve[{de1, v[0] == v0}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 278.7999999999999 - 278.7999999999999/E^(0.1147776183644189*t)} ;[o] 278.8 {v[t] -> 278.8 - -----------} 0.114778 t E :[font = input; preserveAspect; startGroup] vel1[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 278.7999999999999 - 278.7999999999999/ E^(0.1147776183644189*t) ;[o] 278.8 278.8 - ----------- 0.114778 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos1(t). :[font = input; preserveAspect; startGroup] p01 = .; pos1[t_] = Integrate[vel1[t], t] + p01 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 2429.044999999999/E^(0.1147776183644189*t) + p01 + 278.7999999999999*t ;[o] 2429.04 ----------- + p01 + 278.8 t 0.114778 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Since the velocity is always positive, pos1[t] is increasing, so any guess for Newton's method will work: we guess 0. (We assume that the jump height, 0, corresponds to 0 feet from the plane and 5000 feet above ground.) :[font = input; preserveAspect; startGroup] FindRoot[pos1[0], {p01, 0}] :[font = output; output; inactive; preserveAspect; endGroup] {p01 -> -2429.044999999999} ;[o] {p01 -> -2429.04} :[font = input; preserveAspect; startGroup] p01 = p01 /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -2429.044999999999 ;[o] -2429.04 :[font = subsubsection; inactive; preserveAspect; startGroup] Next, we find the time when pos1[t] = 2000. :[font = input; preserveAspect; startGroup] Plot[pos1[t], {t, 0, 10}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] FindRoot[pos1[t] == 2000, {t, 10}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 14.17361755656042} ;[o] {t -> 14.1736} :[font = input; preserveAspect; startGroup] t1 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 14.17361755656042 ;[o] 14.1736 :[font = subsubsection; inactive; preserveAspect] Time Interval 2: Assume that this is t2=1 second long. :[font = subsubsection; inactive; preserveAspect; startGroup] Then, k(t) = ((k2 - k1)/t2) t + k1 :[font = input; preserveAspect; startGroup] t2 = 1; ktrans1[t_] = (k2 - k1)/t2 t + k1 :[font = output; output; inactive; preserveAspect; endGroup] 0.5559540889526544 + 0.3032476848832659*t ;[o] 0.555954 + 0.303248 t :[font = input; preserveAspect] de2 = m v'[t] == m g - ktrans1[t] v[t]; :[font = input; preserveAspect; startGroup] v1 = vel1[t1]; temp = Flatten[DSolve[{de2, v[0] == v1}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 169.2807552012235* E^(-0.1147776183644189*t - 0.03130298682665971*t^2) + 81.4017511367986*E^ (-0.1147776183644189*t - 0.03130298682665971*t^2)*Pi^(1/2)* Erfi[0.1769265011993955*(1.833333333333333 + t)] } ;[o] 2 -0.114778 t - 0.031303 t {v[t] -> 169.281 E + 2 -0.114778 t - 0.031303 t 81.4018 E Sqrt[Pi] Erfi[0.176927 (1.83333 + t)]} :[font = input; preserveAspect; startGroup] vel2[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 169.2807552012235*E^ (-0.1147776183644189*t - 0.03130298682665971*t^2) + 81.4017511367986* E^(-0.1147776183644189*t - 0.03130298682665971*t^2)*Pi^(1/2)* Erfi[0.1769265011993955*(1.833333333333333 + t)] ;[o] 2 -0.114778 t - 0.031303 t 169.281 E + 2 -0.114778 t - 0.031303 t 81.4018 E Sqrt[Pi] Erfi[0.176927 (1.83333 + t)] :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos2(t). :[font = input; preserveAspect] pos2[t_] := NIntegrate[vel2[s], {s, 0, t}] + 2000; :[font = input; preserveAspect; startGroup] Plot[pos2[t], {t, 0, t2}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect] Time Interval 3: Falling "spread eagle" . :[font = subsubsection; inactive; preserveAspect; startGroup] Determine the new position at the end of the first transition period :[font = input; preserveAspect; startGroup] p03 = pos2[t2] :[font = output; output; inactive; preserveAspect; endGroup] 2224.746819697852 ;[o] 2224.75 :[font = input; preserveAspect; startGroup] v3 = vel2[t2] de3 = m v'[t] == m g - k2 v[t]; temp = Flatten[DSolve[{de3, v[0] == v3}, v[t], t]] :[font = output; output; inactive; preserveAspect] 146.2734777312322 + 43.38640171619757*Pi^(1/2) ;[o] 146.273 + 43.3864 Sqrt[Pi] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 180.4 + 42.77387253004031/ E^(0.1773835920177384*t)} ;[o] 42.7739 {v[t] -> 180.4 + -----------} 0.177384 t E :[font = input; preserveAspect; startGroup] vel3[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup] 180.4 + 42.77387253004031/E^(0.1773835920177384*t) ;[o] 42.7739 180.4 + ----------- 0.177384 t E :[font = input; preserveAspect] pos3[t_] := Integrate[vel3[s], {s, 0, t}] + p03; :[font = input; preserveAspect; startGroup] FindRoot[pos3[t] == 4500, {t, 12}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 11.45092700377778} ;[o] {t -> 11.4509} :[font = input; preserveAspect; startGroup] t3 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 11.45092700377778 ;[o] 11.4509 :[font = subsubsection; inactive; preserveAspect] Time Interval 4: 2nd transition period. Assume that this is t4 = 2 seconds long (between spread eagle and open chute). :[font = subsubsection; inactive; preserveAspect; startGroup] Then, k(t) = ((k3 - k2)/t4) t + k2 :[font = input; preserveAspect; startGroup] t4 = 2; ktrans2[t_] = (k3 - k2)/t4 t + k2 :[font = output; output; inactive; preserveAspect; endGroup] 0.85920177383592 + 3.205483540849394*t ;[o] 0.859202 + 3.20548 t :[font = input; preserveAspect] de4 = m v'[t] == m g - ktrans2[t] v[t]; :[font = input; preserveAspect; startGroup] v3 = vel3[t3]; temp = Flatten[DSolve[{de4, v[0] == v3}, v[t], t]] :[font = output; output; inactive; preserveAspect; endGroup] {v[t] -> 177.5682906621567* E^(-0.1773835920177384*t - 0.330888623571550*t^2.000000000000000) + 49.3008039204190*E^ (-0.02377305872402679 - 0.1773835920177384*t - 0.330888623571550*t^2.000000000000000)* Erfi[0.575229192210853*(0.2680412371134021 + t)] } ;[o] {v[t] -> 177.5682906621567 2. -0.1773835920177384 t - 0.33088862357155 t E + 49.300803920419 Power[E, -0.02377305872402679 - 0.1773835920177384 t - 2. 0.33088862357155 t ] Erfi[0.575229192210853 (0.2680412371134021 + t)] } :[font = input; preserveAspect; startGroup] vel4[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 177.5682906621567*E^ (-0.1773835920177384*t - 0.330888623571550*t^2.000000000000000) + 49.3008039204190*E^ (-0.02377305872402679 - 0.1773835920177384*t - 0.330888623571550*t^2.000000000000000)* Erfi[0.575229192210853*(0.2680412371134021 + t)] ;[o] 177.5682906621567 E 2. -0.1773835920177384 t - 0.33088862357155 t + 49.300803920419 Power[E, -0.02377305872402679 - 0.1773835920177384 t - 2. 0.33088862357155 t ] Erfi[0.575229192210853 (0.2680412371134021 + t)] :[font = subsubsection; inactive; preserveAspect; startGroup] Integrate to get the position function, pos4(t). :[font = input; preserveAspect] pos4[t_] := NIntegrate[vel4[s], {s, 0, t}] + 4500; :[font = input; preserveAspect; startGroup] Plot[pos4[t], {t, 0, t4}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect] Time Interval 5: Falling with chute open. :[font = subsubsection; inactive; preserveAspect; startGroup] Determine the new position at the end of the second transition period: :[font = input; preserveAspect; startGroup] p05 = pos4[t4] :[font = output; output; inactive; preserveAspect; endGroup] 4763.356718974229 ;[o] 4763.36 :[font = input; preserveAspect; startGroup] v5 = vel4[t4] de5 = m v'[t] == m g - k3 v[t]; temp = Flatten[DSolve[{de5, v[0] == v5}, v[t], t]] :[font = output; output; inactive; preserveAspect] 59.974578681858 + SetAccuracy[0, 13.99784398440529]*I ;[o] -15 59.974578681858 + 0. 10 I :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {v[t] -> 21.320000000000 + 38.65457868186/E^(1.5009380863039*t)} ;[o] 38.65457868186 {v[t] -> 21.32 + ------------------} 1.5009380863039 t E :[font = subsubsection; inactive; preserveAspect; startGroup] Hmmm. Why does the DSolver give 0. 10^(-15) I? An interesting aside for some! :[font = input; preserveAspect; startGroup] vel5[t_] = v[t] /. temp :[font = output; output; inactive; preserveAspect; endGroup] 21.320000000000 + 38.65457868186/ E^(1.5009380863039*t) ;[o] 38.65457868186 21.32 + ------------------ 1.5009380863039 t E :[font = input; preserveAspect] pos5[t_] := Integrate[vel5[s], {s, 0, t}] + p05; :[font = input; preserveAspect; startGroup] FindRoot[pos5[t] == 5000, {t, 12}] :[font = output; output; inactive; preserveAspect; endGroup] {t -> 9.89163588939822} ;[o] {t -> 9.89164} :[font = input; preserveAspect; startGroup] t5 = t /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 9.89163588939822 ;[o] 9.89164 :[font = subsubsection; inactive; preserveAspect; startGroup] So, the Sky Diver will hit the ground in :[font = input; preserveAspect; startGroup] t1 + t2 + t3 + t4 + t5 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 38.51618044973642 ;[o] 38.5162 :[font = subsubsection; inactive; preserveAspect; startGroup] seconds with an average speed of :[font = input; preserveAspect; startGroup] 5000 ft/(% sec) 3600 sec/(1 hr) 1 miles/(5280 ft) :[font = output; output; inactive; preserveAspect; endGroup; endGroup] (88.5106173375569*miles)/hr ;[o] 88.5106 miles ------------- hr :[font = subsubsection; inactive; preserveAspect; startGroup] Below are the graphs of position, velocity and acceleration of the diver during her fall. :[font = input; preserveAspect] pos[t_] := If[t < t1, pos1[t], If[t < t1+t2, pos2[t-t1], If[t < t1+t2+t3, pos3[t-t1-t2], If[t < t1+t2+t3+t4, pos4[t-t1-t2-t3], pos5[t-t1-t2-t3-t4] ] ] ] ]; vel[t_] := If[t < t1, vel1[t], If[t < t1+t2, vel2[t-t1], If[t < t1+t2+t3, vel3[t-t1-t2], If[t < t1+t2+t3+t4, vel4[t-t1-t2-t3], vel5[t-t1-t2-t3-t4] ] ] ] ]; :[font = input; preserveAspect] acc1[t_] = D[vel1[t], t]; acc2[t_] = D[vel2[t], t]; acc3[t_] = D[vel3[t], t]; acc4[t_] = D[vel4[t], t]; acc5[t_] = D[vel5[t], t]; acc[t_] := If[t < t1, acc1[t], If[t < t1+t2, acc2[t-t1], If[t < t1+t2+t3, acc3[t-t1-t2], If[t < t1+t2+t3+t4, acc4[t-t1-t2-t3], acc5[t-t1-t2-t3-t4] ] ] ] ]; :[font = input; preserveAspect; startGroup] Plot[pos[t], {t, 0, t1 + t2 + t3 + t4 + t5}, PlotRange -> All, AxesLabel -> {"t [sec]", "distance fallen [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] Plot[vel[t], {t, 0, t1 + t2 + t3 + t4 + t5}, PlotRange -> All, AxesLabel -> {"t [sec]", "speed [ft/sec]"}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] Plot[acc[t], {t, 0, t1 + t2 + t3 + t4 + t5}, PlotRange -> All, AxesLabel -> {"t [sec]", "acceleration [ft/sec^2]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect] Note that now the maximum acceleration due to gravity is approximately 83 ft/sec^2 which is less than 3 g's. Of course, the solution is dependent on the length of the intervals. It's up to the solver to determine a reasonable length for each transition period. :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] It's also interesting to note that even though the diver had a faster flight according the second model, it was a far more comfortable one. :[font = section; inactive; Cclosed; noKeepOnOnePage; preserveAspect; startGroup] ISSUES IN SOLUTION :[font = subsection; inactive; preserveAspect] Many students may (correctly) use the same time variable through out rather than starting each IVP at time zero as presented here. :[font = subsection; inactive; preserveAspect] In (3), the solution is sensitive to the transition time period lengths. The good students should determine just how sensitive it is in reasonable time ranges. :[font = subsection; inactive; noKeepOnOnePage; preserveAspect] It is far more important that the students are allowed time to grapple with modeling issues instead of the method of solution. While the methods involved with solving intermediate parts of the problem are interesting in their own right, if the students are forced to dwell on the details in this problem, they will never get to the major issues of the problem. Thus, use of a CAS such as Mathematica or Maple to solve the DEs quickly is advisable. ;[s] 3:0,0;390,1;401,2;449,-1; 3:1,12,9,Times,1,14,0,0,0;1,13,10,Times,3,14,0,0,0;1,12,9,Times,1,14,0,0,0; :[font = subsection; inactive; preserveAspect; endGroup; endGroup] Current computer algebra systems (CASs) can actually make modifications of this problem harder for students who use them! A typical extension (see Extensions) is to assume that air resistance is proportional to the square of velocity so that the model for each phase of flight is m dv/dt = mg - k v^2. Given a CAS, students will be inclined to solve as before, but by doing so blindly, the complete solution cannot be obtained due to the fact that the CAS doesn't solve the ODE over the appropriate regions for each phase of flight unless sufficiently coaxed. (Note that obtaining the solution of the ODE entails integrating m/(mg - k v^2) with respect to v.) The solution can be represented implicitly by logarithms or by hyperbolic tangents. Either way, the relationship between the initial conditions for each phase of flight and the drag coefficient k affects the form of the solution. ^*)