# Key Features of Mathematica Used for the Olympic Velodrome

"Some of the equations that described the track were impossible to solve analytically and slow to solve numerically. To avoid this potential roadblock, I made liberal use of the Interpolation function feature of Mathematica to create quick-to-compute, invertible interpolation functions that were (within my tolerances) numerically identical to the functions they modeled."

Some Notes from Designer Chris Nadovich

### Multidimensional Symbolic Arrays

Every one of the approximately 20,000 unique pieces of steel tubing was specified in Mathematica by a multidimensional data structure that gave the piece's shape, as well as its position and orientation in 3D. Some of the entries in this data structure were numerical, and some were symbolic. For example, the diameter of the tubing was known numerically in advance, but neither the number of tubes nor their position or other dimensions (including angles for triple mitered end-cuts) were known. These unknowns were specified symbolically.

Our venue considerations (overall shape and size), cycling rideability considerations, and mechanical fabrication design ideas were then incorporated to constrain and link the positions of the pieces into an overall model. This was done, in large measure, by applying symbolic manipulations from analytic geometry to the basic pieces. Essentially, I cut, lifted, rotated, and translated the 75 tons of steel using symbolic coordinate transforms and other algebraic techniques. I can say from personal experience that lifting a 24-foot steel beam with a coordinate transform is a lot easier than lifting it by hand.

### Nonlinear Equation Solving

The resulting hybrid symbolic/numerical model of the track resulted in a system of thousands of nonlinear equations that would be impossible for a human to cast, let alone solve. However, in Mathematica, I was never forced to arbitrarily break up the problem into separate symbolic and numerical problems. I could leave the problem statement and constraints in their natural form and let the machine do the algebraic spadework as needed.

My method to use symbolic equations became essential when, during the course of the project, various constraints had to be changed. Since my Mathematica code contained no a priori numerical reductions of symbolic constraints, I was able to quickly and easily recast the problem and solve it again.

### Embedded Graphics

Another feature of Mathematica that I used to great advantage was its ability to embed dynamically computed graphics along with the model. At various crucial places within the track model, I added notes and graphics that monitored various parameters of the track (e.g., lengths, angles, curves, and even some 3D renderings) for the purpose of quality assurance. If I varied an input constraint in such a way that caused the overall design to vary in a strange, unexpected way, I was able to quickly pinpoint the cause of the behavior by scanning through the graphs of intermediate results that I scattered through the notebook.

### Interpolation Functions

Some of the equations that described the track were impossible to solve analytically and slow to solve numerically. To avoid this potential roadblock, I made liberal use of the Interpolation function feature of Mathematica to create quick-to-compute, invertible interpolation functions that were (within my tolerances) numerically identical to the functions they modeled. For example, the Fresnel integrals that were the basis of the velodrome curve are expensive to compute. They can be transformed into invertible, relatively inexpensive interpolation functions as follows:

CurveX=
Interpolation@
Table[{b,NIntegrate[Sin[a t^2 /2], {t,0,b}]}, {b,-L,L,dl}];

With proper choice of dl, this interpolation function, CurveX[t], becomes a fast, accurate replacement for the real Fresnel integral. This feature of Mathematica alone reduced the overall computation time by several orders of magnitude, without sacrificing any significant accuracy. Often, people complain that symbolic math engines can leave you high and dry when your problem reduces to a symbolically or numerically intractable form; I found that with Mathematica the tools were always there to get me out of any jam I created for myself.

### Flexible Output Formatting

The final result of the calculations performed by Mathematica was a completely numerical specification of every unique piece of steel in the track. The flexible output formatting capabilities of Mathematica were used to produce output in the form of multidimensional 3D-face lists. These lists were input directly into a CAD application to conveniently produce mechanical fabrication drawings.

I should emphasize that unlike the way mechanical design is usually done today, the CAD application was not used to lay out the track surface in any way or perform any dimensional calculations. Its use was restricted solely to final QA, adding official drawing borders, notes, labels, and title blocks and producing the final official plotter rendering. In a sense, Mathematica served as an automated CAD operator; it translated my high-level engineering design into a specific and complete, part-by-part set of blueprints--the work normally done by a human designer.

 Share Email Embed

### Related Stories

Get started with Wolfram technologies, or work with us to apply computational expertise to your projects.

Questions? Comments? Get in touch: 1-800-WOLFRAM, or email us »