ROSE

A Rocket Optimization and Simulation Environment

NOW ROSEApplet.java is OPEN SOURCE as of 10/31/2004

It's free under GPL. Please modify it as you choose, but be sure to send the new version to me at rockets@boilerbay.com so I can post it here if I like it.

ROSE is a Java program (an 'Applet')that allows a graphical display of the simulated altitude of a rocket as a function of time. Just click on the button below to bring up the simulator window, then click on "Go" after you have set the parameters. You can change various parameters and redisplay using the go button, and another curve will be plotted on the same chart. You can erase the entire chart by closing it; the next time you press "Go", a new chart will appear. If you change Max x or Max y, you will have to close the chart to see the effect.

Simplifying Assumptions of the Model

Any simulation program must make many simplifying assumptions about the thing being simulated. The total set of assumptions used is part of the definition of the "model". Following are some of the assumptions used in the ROSE model. There are quite a few, but future versions of ROSE may attempt to take account of more variables, complicating the model but possibly making it more true to life. For model rockets, the 850 m/sec is a good approximation for the Isp of black powder, and 1950 m/sec for White Lightning, with Blue Thunder around 2100 or so, perhaps 2200. BlackJack is probably at about 1800 m/sec or so. The average thrust, Ftave, is used with It to determine the duration of a rectangular burn envelope, i.e., the burn time varies to keep the Total impulse It constant at the set value. Using more detailed thrust curves would be an improvement, but probably would not yield any new insights. The mass of the loaded motor is assumed to be twice the mass of the propellant. The initial propellant mass is calculated as It/Isp, and during the burn, it decreases linearly to zero, reflecting the assumption of a rectangular thrust curve, and assuming that the time rate of change of propellant mass is proportional to the thrust. The mass of the airframe parameter, Mr, does not include the mass of the propellant or of the motor casing. When you change It, the rocket automatically gets heavier as a result of the increased masses of both propellant and casing.

Gravity is assumed constant, and is that at sea level. You cannot go into orbit. Flight is vertical, and direction changes instantaneously at apogee. This direction switch changes the sense of the drag term in the equations, and requires special handling in the program (an "if" statement that detects apogee.) (The reason for this is that the program has compressed a truly three-dimensional phenomemon into one dimension. There is really a vector associated with the motion of a rocket, not a scalar variable, and when the vector tilts over and points downwards, it throws in a multiplication by a negative quantity in z that provides the sign change.) Temperature not specified since it and various other variables (humidity, altitude..) are all tied up in the air density parameter, rho.

Friction drag is ignored; only "aerodynamic" drag is used. Aerodynamic drag is proportional to velocity squared, while friction drag is linear, so friction drag can probably be ignored at high velocity. This assumption may not be valid, however. Altitude contesters know the importance of good finish, and good finish primarily affects friction drag. Actually, square-law or aerodynamic drag is also only a good approximation well below the speed of sound, where you have to fall back on more complex functions of drag v. speed. No allowance for that is made by this program.

Experience With the Simulator

Running the simulator with a variety of rocket parameters reveals some interesting things. For example, rockets like the Loc/Precision EZI-65, which have large diameters and relatively low weight fly best on long, low thrust motors. This, of course, is just why Loc called it the "Easy" I-65. It flies well on the 65 Ns I-65 White Lightning, which burns for about 7 sec. The altitude versus time curve for that combination is more-or-less triangular, with the upwards terminal velocity being reached rather quickly, and then a quick reversal in direction at apogee. A more "ballistic" rocket, such as one with small diameter or small Cd or one flown in low air density, (or even in high gravity!) will do best with a short burn motor, and the curve becomes more parabolic. For such a "dart" rocket, a wide range of burn times will provide a high apogee, from an "instantaneous" impulse up to perhaps 30 percent of the ascent time. For a "balloon" rocket, like the EZI-65, there is an optimum burn time, and it is almost all of the ascent time. An instantaneous impulse given to a balloon rocket doesn't work, since it does not coast very far, and an infinitely long burn won't get you off the pad! Of course the distinction between a "dart" and a "balloon" depends on the flight environment. Many rockets fall somewhere between these two extremes, but it is interesting to note that almost all available motors burn quickly relative to the coast time, so they are not suitable for maximizing the apogee of a large fraction of the available model rockets.

Changing the weight of an altitude competition rocket such as an 18mm C-motor from .005 Kg to .030 Kg with Cd=0.6 at sea level shows how futile weight reduction can be. Varying the Cd has a tremendous effect, though, as do the other drag-related inputs. It is also interesting to remove the air completely! Also, try gradually reducing Ftave from 6 N to about 1 N for the default parameters, which are a 10 Ns C engine with a 10 gram, 18mm airframe - in other words, a C altitude competition model rocket. The apogee will increase substantially. Such a rocket turns out to be a "balloon!" (Where can you buy slow-burn C's?)

The time slice, Dt, is the time between successive calculations of the position, velocity, and acceleration of the rocket. Shorter time slices provide more accurate but slower simulations. Dt is not very important for accuracy unless it is below about 0.2 sec for most motors. If you set Ftave high, the burn time will be short and the time slice will need to be reduced. Dt must be much shorter than the burn time in order to correctly simulate the burn phase. Setting dt to .001 or below begins to make the simulation slow without increasing accuracy. There is a wide range of values for Dt that provide both good accuracy and a fast simulation.

Future Improvements

A future version of ROSE may allow graphing more than just altitude versus time. An example is a graph that shows the apogee or maximum velocity or any other result produced by a series of simulations which vary some parameter, such as burn time. It is even possible to vary two parameters and get a set of curves. These graphs can make optimization of the rocket in some way very easy. The best rocket mass for maximizing velocity or apogee. for example. can be seen immediately. It is easy to categorize a particular rocket as a dart or balloon this way too. This simulator has not been checked thoroughly for its accuracy in predicting actual rocket flights, but it seems to be a good approximation based on experience. The real purpose of the simulator is not exact prediction; it is just supposed to show the overall curves, and to show how important or unimportant various input parameters can be in determining relative performance.

Expressing Isp

As a footnote, Isp is expressed not in seconds, as is commonly seen, but ether as a ratio of total impulse to propellant mass, or as a velocity, which is the exaust velocity. Thus it can be expressed in the metric system as Newton-seconds/Kg, or as meters per second. The two numbers will be identical. A motor containing 62.5 grams which equals .0625 Kg of White Lightning propellant (the largest commercial motor - a middle G) will provide about 125 N-seconds of total impulse. Divide the two and you get about 2000. This happens to be the exaust velocity of White Lightning, and is independent of the motor it is in, as long as the motor is as efficient as normal in converting the chemical energy of the propellant into kinetic energy in the exaust. The Isp expressed in the English system is pounds mass per pounds force-second. The pounds mass value is completely different from the pounds force value, and the two cannot be cancelled out. If you do the English arithmetic right, you get about 6000 pounds mass per pounds force-second or 6000 feet per second for the Isp of White Lightning. If you were to cancel out the masses and the forces as if they were the same thing, you would get simply seconds, but there would be two numbers for the Isp, both expressed in seconds - one for the English system and one for the metric! Which one would be right? There would be no way to determine which system was used in calculating the number of seconds if the context did not make it clear. Thus there should be something attached to the number to indicate how it was arrived at. It might as well be "m/sec" or "ft/sec".

Why does Kg/Ns equal m/s? Why is Isp equal to the exaust velocity? Newtons third law of motion says:

	F=MA (force equals mass times acceleration).

	or as metric units,

	Newtons=Kg*m/(second^2) (because acceleration is meters per seconds squared).

	thus

	Newton*second=Kg*m/second (these represent momentums)

	or

	Newton*second/Kg=m/second. (These represent specific impulses).

Please send comments to rlderan@boilerbay.com.

ROSE is Copyright © 1998 Roger L. Deran.