Sliding Bead Race

Finding the fastest path between two points is an important optimization problem in mechanics and in engineering. In the frictionless case, the optimal path can be calculated analytically, but the addition of friction makes this a much more challenging problem. In this year's competition, you are to compute a path between two specified (start and end) points in a vertical plane. A bead is assumed to slide, under the influence of gravity acting downward, along a wire whose path between the start and end points is to be optimized. The goal is to obtain the shortest travel time assuming the bead starts out at rest. We introduce a Cartesian coordinate system with x-axis pointing horizontally and y-axis pointing vertically (positive downward). We also assume that the gravitational force acts in the direction of the positive y-axis.

The Problem

The initial location of the bead is assumed to be at the point (0,0) m and the final location of the bead is at the point (1,1) m. The bead slides along a wire between these two points with a shape to be determined and is assumed to be under the influence of gravity and friction. The force of friction will be assumed to be of the form: f = -uN - av - bv2 - cv3, acting opposite to the bead's velocity. Here N denotes the magnitude of the normal force experienced by the bead due to its contact with the wire, v denotes the speed of the bead, and u, a, b, and c are four constant parameters that characterize the frictional interaction between the bead and the wire.

The Challenge

Write a FORTRAN subroutine named fast_insert_your_name(x,u,a,b,c,y,yp,ypp), which takes the horizontal position x and the friction parameters u, a, b, and c as inputs. The subroutine should produce the vertical location of the wire y(x) corresponding to the horizontal position x, as well as the derivative yp(x) = dy(x)/dx, and the second derivative ypp(x) = d2y(x)/dx2 as outputs. The master program will load your control subroutine into its main code to evaluate the total time of travel. The path that produces the shortest travel time, with run time less than 30 minutes, will win the contest. To test your subroutine, click this link to download a sample main code and add your subroutine to that file before compiling. When you're satisfied with the performance of your subroutine, e-mail it as an attachment (.f, .f90, or .f95 extension, plain text format) to Dr. Su.


$200 for the first place, $100 for the second place.

Who can participate

Physics majors at ISU.

How to Submit an Entry

Email your subroutine to Dr. Su.


12 noon , April 14, 2006. The winning entries will be determined and announced at the department award ceremony on April 18, 2006.