unit22.mws

ORDINARY DIFFERENTIAL EQUATIONS POWERTOOL

Unit 22 -- Application: Parachute Problem

Prof. Douglas B. Meade

Industrial Mathematics Institute

Department of Mathematics

University of South Carolina

Columbia, SC 29208

URL: http://www.math.sc.edu/~meade/

E-mail: meade@math.sc.edu

Copyright © 2001 by Douglas B. Meade

All rights reserved

-------------------------------------------------------------------

>

Outline of Unit 22

>

Initialization

> restart;

> with( DEtools ):

> with( plots ):

> with( linalg ):

Warning, the name changecoords has been redefined

Warning, the name adjoint has been redefined

Warning, the protected names norm and trace have been redefined and unprotected

>

22.A The Parachute Problem

Problem Description

Training jumps for the Parachute Team at the United States Air Force Academy begin 4000 ft above ground level (AGL). The free-fall portion of the jump lasts about 10 seconds; free-falls longer than 13 seconds are grounds for removal from the team. The terminal velocity for free-fall is 120 mph. The landing velocity should be no worse than a free-fall from a 5' wall.

22.A-1 Equations of Motion

Under the assumption that the force of air resistance is proportional to velocity, the second-order equation of motion for this situation is

> eom2 := m*diff( x(t), t$2 ) = -m*g - k*diff( x(t), t );

eom2 := m*diff(x(t),`$`(t,2)) = -m*g-k*diff(x(t),t)...

>

with initial conditions

> ic2 := { x(0)=x0, D(x)(0)=0 };

ic2 := {D(x)(0) = 0, x(0) = x0}

>

The equivalent first-order system of ODEs and initial conditions is

> odeX := diff( x(t), t ) = v(t);

> odeV := m*diff( v(t), t ) = -m*g - k*v(t);

> eomXV := { odeX, odeV }:

odeX := diff(x(t),t) = v(t)

odeV := m*diff(v(t),t) = -m*g-k*v(t)

> icX := x(0)=x0;

> icV := v(0)=0;

> icXV := { icX, icV }:

icX := x(0) = x0

icV := v(0) = 0

>

22.A-2 Terminal Velocity and Coefficients of Air Resistance

The terminal velocity, v[T] , is the equilibrium solution for the velocity ODE. That it, v[T] must satisfy

> Vterm := eval( odeV, v(t)=v[T] );

Vterm := 0 = -m*g-k*v[T]

>

The coefficient of air resistance is piecewise-defined with general form

> kk := piecewise( t<10, kFF, kL );

kk := PIECEWISE([kFF, t < 10],[kL, otherwise])

>

The values for the drag coefficients during free-fall, k[FF] , and landing, k[L] , with units kg/s, can be determined from the information given in the problem.

> param0 := g = 9.81,

> m = 190 / 2.2;

param0 := g = 9.81, m = 86.36363636

>

When the terminal free-fall velocity of 120 mph is converted to units of meters per second

> vFF := -120 * 5280*12*2.54/100/60/60;

vFF := -53.64480000

>

the coefficient of air resistance during free-fall is found to be

> kFF := solve(eval( Vterm, [param0,v[T]=vFF] ), k );

kFF := 15.79327862

>

The value of k[L] is based on the landing velocity for a jump from a 5' wall.

> x5 := 5 * 12*2.54/100;

x5 := 1.524000000

>

The position and velocity for a free-fall jump from an initial height of x[0] = 1.524 m (= 5') are

> sol5 := eval( dsolve( eomXV union icXV, {x(t),v(t)} ),

> {param0, x0=x5, k=kFF} );

sol5 := {v(t) = -53.64479999+53.64479999*exp(-.1828...

>

The landing time, in seconds, for this short jump is

> t5 := fsolve( eval( x(t)=0, sol5 ), t=0..1 );

t5 := .5670404924

>

The corresponding landing velocity

> v5 := eval( rhs( op(select(has,sol5,v(t))) ), t=t5 );

v5 := -5.28397405

>

is the final ingredient needed to determine the coefficient of air resistance during the time the parachute is deployed

> kL := solve(eval( Vterm, [param0,v[T]=v5] ), k );

kL := 160.3390298

>

22.A-3 The Full Model

The complete model is

> sys := eval( eomXV, [param0, k=kk] );

sys := {86.36363636*diff(v(t),t) = -847.2272727-PIE...

> ic := eval( icXV, x0 = 4000 * 12*2.54/100 );

ic := {x(0) = 1219.200000, v(0) = 0}

>

Prior to obtaining an explicit solution to this IVP, note that the velocity satisfies a linear first-order ODE. The graph of the direction field for the velocity equation and the solution curve with v(0) = 0 provides a first look at the solution to this model.

> DEplot( select(has,sys,diff(v(t),t)), {v(t)}, t=0..20,

> [[0,0]], v=-100..0, stepsize=0.01 );

[Maple Plot]

>

Observe how the velocity approaches the terminal free-fall velocity until the parachute is deployed at t = 10 . Thereafter, the velocity quickly approaches the new (and slower) terminal velocity.

>

22.A-4 Explicit Solution

The explicit solution to this model is

> sol := dsolve( sys union ic, { x(t), v(t) } );

sol := {x(t) = 42361363635/4318181818*Int(PIECEWISE...
sol := {x(t) = 42361363635/4318181818*Int(PIECEWISE...
sol := {x(t) = 42361363635/4318181818*Int(PIECEWISE...
sol := {x(t) = 42361363635/4318181818*Int(PIECEWISE...

>

This solution is quite complicated even with floating-point coefficients :

> evalf( sol );

{x(t) = 9.810000000*Int(PIECEWISE([-5.468379203*exp...
{x(t) = 9.810000000*Int(PIECEWISE([-5.468379203*exp...
{x(t) = 9.810000000*Int(PIECEWISE([-5.468379203*exp...
{x(t) = 9.810000000*Int(PIECEWISE([-5.468379203*exp...

>

22.A-5 Explicit Solution -- Simpler Form

A slightly simpler representation of the solution can be obtained by solving the system twice: first with k = k[FF] and the original initial conditions and then with k = k[L] using the position and height from the free-fall solution at the time the parachute is deployed as initial conditions. That is,

> sys1 := eval( eomXV, [param0, k=kFF] );

sys1 := {86.36363636*diff(v(t),t) = -847.2272727-15...

>

The explicit solution during free-fall is

> sol1 := dsolve( sys1 union ic, { x(t), v(t) } );

sol1 := {v(t) = -42361363635/789663931+42361363635/...
sol1 := {v(t) = -42361363635/789663931+42361363635/...

>

The equations of motion for the skydiver after the parachute is deployed are

> sys2 := eval( eomXV, [param0, k=kL] );

sys2 := {diff(x(t),t) = v(t), 86.36363636*diff(v(t)...

>

The skydiver's height and velocity at the time the parachute is deployed are

> ic2 := eval( {x(10)=x(10.),v(10)=v(10.)}, eval(sol1,t=10.) );

ic2 := {x(10) = 928.9833414, v(10) = -45.02821253}

>

The explicit solution after the parachute is deployed is

> sol2 := dsolve( sys2 union ic2, { x(t), v(t) } );

sol2 := {v(t) = -8472272727/1603390298-318627631899...
sol2 := {v(t) = -8472272727/1603390298-318627631899...

>

Assembling the solution for both stages of the jump into a single expression leads to

> solX := x(t) = piecewise( t<10, eval( x(t), sol1 ), eval( x(t), sol2 ) );

solX := x(t) = PIECEWISE([-42361363635/789663931*t-...
solX := x(t) = PIECEWISE([-42361363635/789663931*t-...

> solV := v(t) = piecewise( t<10, eval( v(t), sol1 ), eval( v(t), sol2 ) );

solV := v(t) = PIECEWISE([-42361363635/789663931+42...

>

As expected, this solution is in a much simpler form than the original solution.

>

Note

The explicit solution can be obtained in the same manner without specifying values for the parameters in the problem. This purely symbolic solution is quite complicated, but has a number of uses, including a sensitivity analysis of the solution with respect to each of the parameters.

>

22.A-6 Numeric and Graphical Solution

A numeric solution is much easier to obtain and can be used to answer many questions about the motion. To confirm that Maple is computing a reasonable solution, recreate a plot of the velocity function over the first 20 seconds of the jump. (Since it is so easy to do, include a scaled version of the height.)

> solN := dsolve( sys union ic, { x(t), v(t) }, type=numeric ):

> odeplot( solN, [ [t,x(t)/10], [t,v(t)] ], 0..20,

> numpoints=500, legend=["x/10","v"] );

[Maple Plot]

>

22.A-7 Time of Impact

Graphical Solution

To see the motion for the entire jump, extend the time interval to 200 seconds.

> odeplot( solN, [ [t,x(t)/10], [t,v(t)] ], 0..200,

> numpoints=500, legend=["x/10","v"] );

[Maple Plot]

>

This suggests that the skydiver lands in just over 3 minutes (180 seconds)

> solN(180);

[t = 180, x(t) = 9.30025570927012524, v(t) = -5.283...

>

A quick search leads to a better estimate of the impact time

> solN(181.76);

[t = 181.76, x(t) = .461381858910314691e-3, v(t) = ...

>

Note that the impact velocity is essentially the same as the velocity for a free-fall from a 5' wall

> v5;

-5.28397405

>

Analytic Solution

To determine the time of impact from the explicit solution, one might try

> q1 := solve( rhs(solX)=0, t );

q1 := 1571965910200833764402/55752068217557581975+4...

> evalf( q1 );

-10.73306026

>

but this answer is not physically realistic. Further thought leads to the realization that this "solution" is obtained from the free-fall phase of the solution but the time of impact must occur during the post-deployment phase. To convey this additional knowlege to Maple, use

> Timpact := solve( eval( x(t), sol2 )=0, t );

Timpact := 2159090909/4008475745*LambertW(318627631...
Timpact := 2159090909/4008475745*LambertW(318627631...

> evalf( Timpact );

181.7600877

>

and note the agreement with the time of impact obtained from the graphical and numerical solutions.

>

22.A-8 Discussion of the Model

This version of the parachute problem is the classical model found in many ODE textbooks. It's major flaw is that the acceleration is discontinuous at the time the parachute is deployed.

The acceleration can be obtained by differentiation of the velocity

> solA := eval( a(t) = diff( v(t), t ), diff( solV, t ) );

solA := a(t) = PIECEWISE([-42361363635/4318181818*e...

>

The acceleration appears to have a jump discontinuity at the instant the ripcord is pulled

> t_jump := op( discont( rhs(solA), t ) );

t_jump := 10

>

The size of the jump is

> jump := evalf( limit( rhs(solA), t=10, right )

> - limit( rhs(solA), t=10, left ) );

> `` = eval( jump/g, [param0] ) * g;

jump := 75.36316300

`` = 7.682279614*g

>

An 8g acceleration is strong enough to (at least) seriously injure the skydiver. The physics of skydiving require the acceleration to be a C^`1` function, i.e. , the derivative of the acceleration, the jerk (think about it!), must be continuous. In the model analyzed in this worksheet, the acceleration is discontinuous! To obtain a physically realistic model it is necessary to model the (short) time during which the parachute is deployed. Models with this property are discussed in the reference articles authored by D. B. Meade and A. A. Struthers.

The references discuss several interesting problems based on the basic parachute problem. For example, the article by J. Drucker and the D. B. Meade's MapleTech article discuss finding the deployment time for the shortest jump that lands with an impact velocity within, say, 10% of the typical impact velocity.

>

22.A-9 References

Note :

>

[Back to ODE Powertool Table of Contents]

>