Simply put, CompuRoc is a Macintosh application that does flight simulation for rocketry in model rocket through high power applications. In this respect, it is very similar to the several excellent simulation packages available for Windows and DOS platforms. Although Mac users can run these programs using emulation environments like VirtualPC, CompuRoc is unique in the rocketry community in providing a utility that runs native in the MacOS.
I wrote the first version of CompuRoc back in 1986, when the largest motor I had ever flown was an F67, and HPR as we know it today was in its infancy. Although it was not originally written with the possibility of M motors in mind, through subsequent revisions it has become a useful tool in the HPR world. The original version was written for the 9 inch monochome screen and 8 MHz processor of the original Macintosh. More recent versions were written for modern hardware with the help of my former college physics student, Doug Wade (his byline appears in the program and documentation). CompuRoc runs under all MacOS versions from System 6.0 through the latest release of System 9.0.
Apart from adding new motors to the motor library, CompuRoc has not been under active development for a few years due to a lack of demand, but in the event of a surge in interest, I would consider development of new features. My primary original motivation was to provide a tool that would be useful to a lot of rocketry enthusiasts, although I also tried to make a little money through sales. Needless to say, I didn't get rich. When Doug joined me in writing version 2, we changed the program to shareware. Shareware payments have not been numerous (thanks, those of you who paid!) but I'm not particularly hung up about the money. Please consider CompuRoc to be "whatever-you-feel-like-ware". If you find the program useful and want to encourage me to work more on it, express yourself! ;-)
CompuRoc in Operation (click for screen shot...)
A complete manual and examples are provided with CompuRoc. This tour is intended to give you a brief overview of the features and capabilities. The first screen shot presented here shows the main display window during a typical simulation run. This main window serves three principal functions: (1) start/stop control of the simulation, (2) numerical readout of the current time and state vector, and (3) control of the sequence of flight events. The first two functions are self explanatory, and the event function works using a simple point and click interface.
The cells in the event grid can contain one of three different types of event. The "Launch" event is unique, and always occupies the first cell. The other cells can be either "Burn" or "Delay" events. Virtually any complex flight profile including clusters, staging, airstarts, etc. can be simulated through a suitable combination of these events. Events are created and edited using the usual "double-clicking" method common to most Mac applications. In addition, cut, paste, delete and insert functions are available through menu commands.
Also shown in the background of this screen shot is the graphical output window. This window can be optionally configured to display combinations of vertical and horizontal position, vertical and horizontal velocity, and time. It is also possible to save flight simulation results to text files for later plotting in other programs.
Entering Launch Configuration (click for screen shot...)
The next screen shot shows the dialog box that appears on startup, or when double-clicking the "Launch" event. Through this dialog, the initial mass, drag characteristics and atmospheric variables are entered. Note that because the simulation is two-dimensional, it is possible to simulate the effects of wind, as well as elevation and temperature. Optionally, a simple model of transonic drag divergence can be invoked.
Entering New Events (click for screen shot...)
When double-clicking on an empty cell to add a new event, the user is presented with the choice shown in the next screen shot. Clicking on the "Burn" button allows the user to select a motor file containing thrust/time data. CompuRoc is distributed with a library of over 300 motor files, including all the currently TRA and NAR certified motors, and a wide selection of older and out-of-production motors. As shown in the following screen shot, when confirming the motor selection, the user can optionally specify a cluster multiplication factor. By changing this value, one can simulate a wide variety of thrust profiles (even negative thrust for retro rockets!).
Selecting a Motor (click for screen shot...)
Selecting a Delay (click for screen shot...)
On the other hand, selecting a "Delay" event allows the user to insert a non-propulsive time interval in the flight sequence. As the next screen shot shows though, this is far more versatile than a simple "dead time". The user can optionally use the delay function to simulate changes in diameter, mass and drag coefficient accompanying staging. It also includes provision for the gradual burn-off of mass during delay coast. A zero-length delay can be used to simulate sudden changes in mass, drag, etc. caused by separations.
Editing Motor Curves (click for screen shot...)
The other major module of CompuRoc is the motor editor, which allows users to create and modify their own thrust profiles, or to import them from external data. As shown in the next screen shot, the motor editor provides two windows, a thrust vs. time graph and a statistics window. The latter provides a continuously updating readout of the total impulse and mean thrust, as well as entry of the motor's gross and propellant masses. The thrust data can be read in through a simple text file format, or drawn directly on the graph using the mouse. Complex custom combinations of mixed clusters or delayed airstarts can be simulated by combining thrust data using a standard spreadsheet program.
CompuRoc uses a fourth-order Runga-Kutta numerical integration algorithm to integrate the rocket equations of motion. That combined with a realistic atmospheric pressure/density model provides a highly accurate (though idealized) simulation of the rocket's trajectory. CompuRoc's simulation results for a typical HPR flight agrees well with several popular similar utilities.
The comparison run is a 10.22 cm diameter rocket of empty mass 3142 grams, drag coefficient 0.70 and powered by a J275 RMS motor. The flight is launched from sea level and air temperature of 25 degrees C. The CompuRoc simulation yields these results:
Comparing these results directly with other programs is not straightforward, because different programs have somewhat different motor models. CompuRoc uses motor data taken from the typical thrust curves published by Tripoli Motor Testing and NAR Standards and Testing. In the case of the RMS J275 motor, CompuRoc and TMT give a total impulse of 851 Newton-sec. However, the J275 motor data used by the popular program Rocksim has a total impulse of 819 Newton-sec., or about 96% of the CompuRoc/TMT value. This difference in assumed motor performance makes a noticeable difference in peak altitude, speed and acceleration. These are the results obtained by running CompuRoc again with the motor "down-rated" to 96%:
Comparing these results with other popular utilities,
When adjustment is made for different motor models, each of the simulators, including CompuRoc, agree with one another within about 2% in altitude. On 11 March 2000, a test flight of this scenario was made at the Lucerne ROC monthly launch. The results from an FAA-calibrated P5 altimeter gave an altitude 1% higher than the CompuRoc 100% J275 simulation (after taking into account the Lucerne elevation difference). The residual differences among the various predictions can be understood as due to differences between the details of the programs' thrust and atmospheric models. The bottom line is that CompuRoc produces flight simulations that agree well with other programs, as well as with altimeter-measured performance from actual flights.
Click here to download the complete CompuRoc package, with documentation and motor library. The latest version is 2.0.1, and the motor library was last updated in September 2004. If all you need is the updated motor library, click here to download the September 2004 motor library. If your browser doesn't automatically decode the download, drop the file on Stuffit Expander, and it should decompress into the CompuRoc folder on your desktop.
There are a number of possibilities for future versions of CompuRoc, given sufficient interest from the user community. One useful new feature of the recent sim programs is a "batch" simulation mode that allows the user to run many simulations with a variable parameter, for example to find optimal mass or to estimate drag coefficient. Another good idea is a module that automates the process of combining multiple motor files into complex cluster/airstart sequences (such a utility has recently been released for Rocksim). If you have a suggestion or question about any of the features of CompuRoc, I'd be glad to hear from you. My email address is email@example.com. In the meantime, enjoy the program. Rockets and Macs forever!
Greg Lyzenga (NAR #13295 Level 2) flew his first model rocket (an Estes WAC Corporal) in 1966. With a long time interest in rocketry, he and his son Andrew began in HPR in 1997, and are seen here with their Level 1 project at the Lucerne Dry Lake launch site used by the Rocketry Organization of California, of which they are members. Greg's wife, Mary (not pictured) recently joined the rocketry ranks with her Level 1 certification project, "Hot Lips!". Greg is a physics professor at Harvey Mudd College in Claremont, California.
Last updated 9/23/04.