# 1997-98NEW MEXICOHIGH SCHOOLSUPERCOMPUTINGCHALLENGE Interim Report

 Team Number: 042 School Name: Clovis High School Area of Science: Engineering Project Title: Bridge Modeling Project Abstract: http://mode.lanl.k12.nm.us/97.98/abstracts/042.html Interim Report: http://mode.lanl.k12.nm.us/97.98/interims/042.html Final Report: http://mode.lanl.k12.nm.us/97.98/finalreports/042/finalreport.html

## Bridge Modeling

The ultimate goal of our project is to develop a feature-rich, real-time, mathematical model of the stresses on the individual members of a truss bridge. Our program will simulate traffic flow across the bridge, recalculating the stress on each member of the bridge as traffic moves across it and the load on the bridge changes.

A Simple Truss Bridge

As is true with any mathematical model, data collection will determine the realism of our simulation. The accuracy of our results will be directly affected by the number of times we recalculate the bridge stress as traffic moves across the bridge. For example, let us analyze a vehicle moving at 30 meters per second (about 60 miles per hour) across a 50 meter long bridge. If we recalculated the bridge stress once every second, we could take a maximum of two sets of data for that vehicle. Two data sets is too little to describe the changes in bridge stress as the vehicle transverses the bridge. However, if we recalculated the bridge stress 100 times per second, we could take over 150 data sets: obviously a more realistic representation of the changes in bridge stress.

The number of calculations required to accurately model our simple truss bridge is enormous. A real-time model requires that these calculations be performed very rapidly. A supercomputer is clearly well suited for our task.

To complete our project, we have developed a general outline of the necessary steps:

1. Define our task and primary goals.
2. Define our model (type of bridge, complexity, realism, etc.).
3. Research the mathematical and physical concepts that define the model.
4. Develop a generalized design for the actual program.
5. Refine the design by implementing and testing components of the design, as well as eliminating poor ideas.
6. Put our design to use and produce some results.

The most important, and most often overlooked, step of the design process is the identification of the problem. We felt that accurately defining what we wished to accomplish was extremely important. After analyzing the problem, we chose to start out with a simplified representation of a real truss bridge and leave room to increase the complexity of the model over time. For instance, we chose to model only one set of trusses in two axes. Of course, a more realistic and more complex model would simulate multiple sets of trusses in a triaxial system.

Next we needed to define the model mathematically. We were able to define the interactions between loads on the bridge and the individual trusses of the bridge with relatively simple physics equations.

Our next step was to develop a general design for our program. One important consideration was the programming language to use. The Challenge requires that participants use Fortran or C/C++. We chose C++ primarily because we are most familliar with it. Luckily, C++ has features, namely classes, that allow us to define the model as small components that interact with each other (objects). For example, we have implemented a class that defines a truss, and another class that defines how trusses interact.

We are currently in the refinement phase of our project. We have implemented some ideas, and successfully eliminated the flaws in them. We expect the refinement of our design to consume the remainder of the time we are allowed.

When we are finished, we will have a real-time model of the stresses on a truss bridge as traffic moves across it. We hope to have some form of graphical output. Another of our goals is to be able to expand on the complexity of our model. We have also considered adding the ability to use user-defined bridges and traffic patterns. Only time limits the features we can add to our program.