Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

Re: [Phys-l] solving an energy equation - revisited



At 10:25 AM 4/18/2006, you wrote:
I am working on a problem involving a particle sliding frictionlessly
on a particular shape of surface. An analysis using Newton's second
law is very messy because it is complicated to write down the normal
force. A Lagrangian analysis is straightforward and gives me a
second-order D.E. I can solve numerically. But suppose I wanted to
tackle this problem with students who haven't had Lagrange's equation
yet.

Well, I can use energy conservation. BUT... I now have a first-order
differential equation for the SQUARE of the speed. I can't see any
way to tell Maple (or whatever your favorite mathematical software
package may be) how to choose the correct sign for the square root in
each segment of the motion.

Physically I imagine I step the solution forward until I reach a
turning point and then I reverse the sign of velocity. But surely
there must be some way to instruct Maple to do this.

To simplify the problem, imagine throwing a ball straight up and it
then returns to your hand. I can write down F=ma, integrate once to
get v(t), and again to get y(t). All clear. Alternatively I can
re-express dv/dt as dv/dy * v and integrate to get v(y). But v isn't
a single-valued function of y! There are two possible signs for v for
a given y! The sign information has somehow been lost when I used the
chain rule. How can I recover it *given* that my goal is to find y(t)
starting from an equation for (dy/dt)^2?

I'm wondering how I've *ever* managed to solve mechanics problems
using energy. Clearly I'm somehow inserting the correct sign
information by hand, perhaps without even realizing I'm doing it. If
I can do it, there should be a way to tell Maple how to do it,
shouldn't there?

My brain is knotted up. Help! Carl
--
Carl E. Mungan,


There is a physics puzzle offered in the NLReg package
as an example of iterated solutions. It deals with a simplified case
of finding an optimal curve for minimal transit time from a higher
to a lower physical position in space - in this case, simply sliding
down one straight line to an unknown coordinate, and up another
straight line from there to the target.
Excuse the non-SI units.

Brian Whatcott

/*
* An object begins a fall from position (1000,0), sliding along a frictionless
* guide to position (px,py). It then slides along another guide
* from (px,py) to position (0,1000). Find px and py that minimize descent time.
* The minimum value of the function found by NLREG is the descent time in
* seconds. All coordinates are in centimeters.
*/
Title "Two segment path for fastest descent";
Parameter px=500; // X coordinate of bend
Parameter py=500; // Y coordinate of bend
/* (These parametyers, px, py are FITTED by the code - bw */

Constrain px=.1,999; // px must be in range 0 < px < d
Constrain py=.1,999; // py must be in range 0 < py < h
Double G=980; // Acceleration of gravity = 980 cm/sec^2
Double sx=0, sy=1000; // Starting x and y coordinate
Double ex=1000, ey=0; // Ending x and y coordinate
Double d1,d2; // Length of each segment
Double a1,a2; // Acceleration along each segment
Double t1,t2; // Fall time along each segment
Double s1; // Speed at end of segment 1
/*
* Determine length of each segment.
*/
d1 = sqrt((px-sx)*(px-sx) + (py-sy)*(py-sy));
d2 = sqrt((px-ex)*(px-ex) + (py-ey)*(py-ey));
/*
* Determine acceleration for each segment (proportional to slope).
*/
a1 = G*(sy-py)/d1;
a2 = G*(py-ey)/d2;
/*
* Determine time for segment 1 (starting speed is 0).
*/
t1 = sqrt(2.*d1/a1);
/*
* Determine speed at end of segment 1.
*/
s1 = a1 * t1;
/*
* Determine time for segment 2 (speed is s1 at start of segment).
*/
t2 = (sqrt(s1*s1 + 2.*a2*d2) - s1) / a2;
/*
* Minimize the total fall time.
*/
function t1 + t2;
Data;

Notice that the sign change you mentioned,
is handled explicitly in each segment.


Brian Whatcott Altus OK Eureka!