Unit 1: Ordinary Differential Equations - Part 1
Chapter 5: Second-Order
Sections5.8: the bobbing cylinder
Copyright
Copyright * 2001 by Addison Wesley Longman, Inc.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.
Initializations
> restart;
> with(plots):
Warning, the name changecoords has been redefined
>
Introduction
Undamped free motion for a spring-mass system is modeled by the differential equation
Such a system is called a harmonic oscillator because the solution can be put into the form
where
is the angular frequency. But nature provides more instances of harmonic oscillators than just spring-mass systems. In this Sectionswe examine the motion of a floating cylinder which bobs under the influence of buoyancy, a system governed by an equation of the form
and which is therefor a harmonic oscillator.
>
Problem Statement
A cylinder of height
H
, radius
R
, and weight
f
floats with its axis vertical in a fluid whose weight per unit volume is
. If
h
is the height, at equilibrium, of the submerged part of the cylinder, describe the motion of the cylinder subsequent to its being pushed down into the fluid and released.
The following figure (Figure 5.10) shows the waterline as Plane 1 (blue), the base of the cylinder as Plane 2 (red), the height
(green), the depth of submersion
(yellow) and the radius
.
>
p1 := cylinderplot([1,t,z],t=0..2*Pi,z=0..3, orientation =[45,77],style=patchnogrid):
p2 := plot3d(2,x=-2..2,y=-2..2,color=blue):
p3 := plot3d(0,x=-2..2,y=-2..2,color=red):
p4 := spacecurve([[0,0,3],[0,-1,3]],color=black,thickness=3):
p5 := spacecurve({[0,2,t,t=0..3],[[0,2,3],[0,1,3]]},color=green, thickness=3):
p6 := spacecurve([2,0,t,t=0..2],color=yellow,thickness=3):
p7 := textplot3d({[0,2.3,2.75,`H`],[2.2,0,1.75,`h`],[0,-.6,3.3,`R`]}, font=[TIMES,BOLD,14]):
p8 := textplot3d({[-1.8,1,1.5,`Plane 1`],[-1.8,1,.3,`Plane 2`]}):
display3d([p||(1..8)]);
>
Analysis
This mechanical problem yields to Newton's Second Law,
. The secret is realizing that the weight of the cylinder is a force balanced by the buoyant force exerted by the fluid. And this buoyant force is governed by
Archimedes Principle
Buoyant Force on Cylinder = Weight of Fluid Displaced
The equilibrium and non-equilibrium configurations must be considered. At equilibrium, where the amount of the cylinder beneath the surface of the fluid is measured by
, the volume of the submerged part is given by
The weight of the fluid displaced by this submerged volume is
Consequently, the buoyant force at equlibrium is given by
By Archimedes Principle, at equilibrium, the buoyant force
balances
, the weight of the cylinder. Hence
This key equality links
, the weight of the cylinder, with
, the amount of the cylinder submerged at equilibrium.
Next, consider the non-equilibrium configuration. For this, paint a line around the cylinder at the equilibrium "water" line. Let
denote the amount by which this line on the cylinder is displaced above or below the surface of the fluid. Take
positive if the cylinder rises (the black ring is visible) and negative if the cylinder descends (only the fish see the black ring). The following figure, Figure 5.11, depicts this configuration.
>
p1 := cylinderplot([1,t,z],t=0..2*Pi,z=0..3,orientation =[45,77],style=patchnogrid):
p2 := plot3d(1.5,x=-2..2,y=-2..2,color=blue):
p3 := plot3d(0,x=-2..2,y=-2..2,color=red):
p4 := spacecurve([[0,0,3],[0,-1,3]],color=black,thickness=3):
p5 := spacecurve({[0,2,t,t=0..3],[[0,2,3],[0,1,3]]}, color=red, thickness=3):
p6 := spacecurve({[2,0,t,t=0..2],[[2,0,2],[1,0,2]]},color=navy, thickness=3):
p7 := textplot3d({[0,2.3,2.75,`H`],[2.2,0,1.4,`h`],[0,-.6,3.3,`R`]}, font=[TIMES,BOLD,14]):
p8 := spacecurve([1.05*cos(t),1.05*sin(t),2,t=0..2*Pi],color=black, thickness=3):
p9 := spacecurve([.8,.6,t,t=1.5..2],color=black,thickness=3):
p10 := spacecurve([2,2,t,t=0..1.5],color=black,thickness=3):
p11 := textplot3d({[.27,1,1.75,`y(t)>0`],[.2,1,.75,`h-y(t)`]}, font=[TIMES,BOLD,14]):
display3d([p||(1..11)]);
>
Now,
, the time-dependent buoyant force on the cylinder is proportional to the length
. Thus,
We are ready to invoke
=
, Newton's Second Law, where
, the mass of the cylinder is given by
, with
being the acceleration of gravity. Thus, summing forces on the cylinder, we have
=
which becomes
=
But from Archimedes Law at equilibrium we found that
. Making this substitution, and expanding the brackets, we find
+
-
=
which collapses to
Hence, we have the equation
+
y
= 0
which we write as
y
= 0 by defining
We therefore have simple harmonic motion governed by the initial value problem for undamped free motion
y = 0
y(0) =
>
Solution
The solution to this initial value problem is
which says the cylinder bobs with periodic motion whose angular frequency is
and whose period is
. The solution can also be written as
where
is determined by
and
The reader is again cautioned not to define
as
since the range of the arctangent function is
, not
(
]. A negative value for the displacement
results in a second-quadrant phase angle, while a negative for
, the initial velocity, results in a third-quadrant angle. These angles would not be correctly obtained by a naive use of the arctangent function.
To verify these calculations in Maple, enter the differential equation as
> q := diff(y(t),t,t) + omega^2*y(t) = 0;
>
and obtain the dsolve solution
> Y := rhs(dsolve({q, y(0) = y0, D(y)(0)=v0}, y(t)));
>
which says the cylinder bobs with periodic motion whose angular frequency is
and whose period is T =
.
Additionally, we can write the solution in terms of a single trig function. This makes it easier to determine the amplitude of motion. The template for the single-trig-term solution is
> YY := A*cos(omega*t - phi);
>
To get Maple to make the match to this template, try
> q1 := solve(identity(Y = expand(YY),t),{A,phi});
>
Maple has expressed
, the phase angle, in terms of the two-argument arctangent function. The function
returns an angle in the range (
] which includes only the first and fourth quadrants. The function
, the two-argument arctangent function, returns an angle in the range (
] which includes all four quadrants. Maple's usage is precise, but for symbolic work, messy.
The amplitude is taken as positive, so we conclude
> amplitude = subs(q1[1],A);
>
Example 5.13
A cylinder of radius
inches bobs, with a period of 1/2 second, in water whose weight per cubic foot is
= 62.5 lbs. Using the gravitational constant
, find
f
, the weight of the cylinder, and find the equilibrium height
h
.
This problem is realistic in that it uses an observable, the period, from which you can deduce information about the nature of the cylinder. The period can be estimated by careful counting in the presence of a wristwatch.
The period is
, where
Hence, we have
> omega := R*sqrt(Pi*rho[w]*g/f);
>
and
> T := 2*Pi/omega;
>
Setting
and taking
and
, we obtain the equation
> q2 := 1/2 = subs(R = 2/12,rho[w] = 62.5,g = 32, T);
>
which we solve for the weight
, getting
> wt := solve(q2,f);
>
The weight of the cylinder is 1.10524266 pounds.
To find the equilibrium height
h
, again use the equilibrium relationship
. Consequently,
> q3 := wt = Pi*(2/12)^2 * 62.5 * h;
>
from which
, the submerged length at equilibrium, follows via
> h = solve(q3,h);
>
The equilibrium height of the cylinder is .202 feet (hence, 2.43 inches).
>