Open Rocket

OpenRocket (  is a FREE rocket design and 6 DOF flight simulator.

The tool is written by Sampo Niskanen as a part of his Master’s Dissertation in 2009 at the Helsinki University of Technology: “Development  of an Open Source Model Rocket Simulation Software”

The software is very easy to use. In terms of user friendliness its interface beats RockSim by miles. Starting from version 1.1.0 OpenRocket support loading RockSim rocket design files (.rkt). Unfortunately, not all RockSim features are supported, but it does not make the tool less valuable.

Initially it was not possible to print out anything from OpenRocket. However, the Print option was added later and now it is not only possible to send a design to a printer, but the software can export it directly into the PDF format.

Kerry Quinn created a very useful presentation describing OpenRocket, its features and what can be done with its help.

Also Open Rocket Design site is very useful and has a library of OR designs.

Adding New Engine

Note: The below tip is irrelevant  for the later versions. Starting from the release 1.1.9 custom engine data can be loaded through Edit/Preferences/Options/User-defined trust curves

It is possible to add a custom engine data file to Open Rocket, though it is not a straightforward procedure. Some advice can be found on the Open Rocket forum. One of the ways to do it is with a help of WinZip software. You have to open the .jar file through WinZip or any other compatible application. Then go to datafiles\thrustcurves\ folder. There you will see files representing motors available in OR. There are two different types .eng and .rsp. Some motors may include additional engline files in other, non compatible formats. Both can be viewed in a text editor. The .eng format is easier to work with and I usually use it if I want a custom made thrust curve. Elsewhere on , there is a description of both formats, but basically it's just a list of time-thrust values with some additional information in the first row, such as a motor weight, delay etc. Otherwise I suggest you compare what OR shows and context of the corresponding file.

Here are the steps again:

  • Start WinZip and open the Open Rocket .jar file (for example OpenRocket-1.1.0.jar). All thrust curves can be found in datafiles/thrustcurves folder.
  • Using menu Action-Add or Add button on the WinZip tool bar add a new .eng file to the thrustcurves folder.

Engine File Format

LINK explaining details of the thrust curve file format.

LINK to a little tool helping with the thrust file creation.

  1. motor name - This is the common name of the motor, as you would see it listed in your simulator program.
  2. diameter - This is the casing diameter in millimeters (mm).
  3. length - This is the casing length, also in millimeters.
  4. delays - This is the list of available delays, separated by dashes. If the motor has an ejection charge but no delay use "0" and if it has no ejection charge at all use "P" (plugged).
  5. propellant weight - The weight of all consumables in the motor. For solid motors this is simply the propellant itself, but for hybrids it is the fuel grain(s) plus the oxidizer (such as N2O). This weight is expressed in kilograms (Kg).
  6. total weight - The weight of the motor loaded and ready for flight, also in kilograms.
  7. manufacturer - The motor manufacturer abbreviated to a few letters.

Simulating Water Rocket

Utilisation of OR for purposes of a water rocket design was discussed in length on the Water Rocket Forum.

Simulating Boosted Darts

A boosted dart rocket is a vehicle consisting of a rocket booster and an unpowered upper stage called " a dart". The dart separates  from the booster due to a difference in drag and coasts to apogee. 

Here are several examples of boosted darts:

Excellent NARAM -31's report by Spaceman Spiff Team provides very useful theoretical inside and experimental data related to the boosted dart type model rockets.

OpenRocket can be used to simulate these types of rockets. The trick is to represent the dart as a powered sustainer using a motor with an insignificantly small impulse. A "dummy dart motor" file is attached at the bottom of this page. After adding it to the OpenRocket thrustcurves folder as described above, the dummy motor appears in the motor list under TheSkyDart name (see the screen-shot below). 

The manufacturer can be changed to any name by editing the .eng file in a text editor.

;Dummy A size motor with 0 thrust.
A0T 13 45 0-2-4-6-8-10-20-40-60-80-100 0.0001 0.0001 TheSkyDart
0.01 0.0001
0.1 0.0001
0.2 0.0001
0.3 0.0001
0.4 0.0001
0.5 0.0001
0.6 0.0001
0.7 0.0001
0.8 0.0001
0.9 0.0001
1.0 0.0

The motor provides several delay options, but again they can be easily modified to any desired value. 

The sustainer motor ignition should be specified as "First burnout of previous stage".

Dynamic Stability Characteristics

This section is added to reflect upon  the six-part series of articles in Apogee's news letter, Peak of Flight. These are:

Issue #192 - (09/11/07) Basics Of Flight Analysis - Moment Of Inertia
Issue #193 - (09/25/07) Basics Of Flight Analysis – Corrective Moment Coefficient
Issue #195 - (10/23/07) Basics Of Flight Analysis - Damping Moment Coefficient
Issue #196 - (11/06/07) Basics Of Flight Analysis - Radial Moment of Inertia and the Natural Frequency
Issue #197 - (11/20/07) Basics Of Flight Analysis - Damping Ratio
Issue #198 - (12/04/07) Basics Of Flight Analysis - Optimizing For Altitude

The formulae presented in the articles can be found in 'Advanced Topics In Model Rocketry' by Mandell, Caporaso, and Bengen. The book is quite rare and thus quite expensive.  However, the basis of the Dynamic Stability section of the book was published as a series of articles in Volume 1 of Model Rocketry magazine  (in 1968; #10 and #11 and in 1969; #1, #2, #3 and corrections in #4). 

There are several parameters important to a rocket's dynamic stability characteristics. The above literature provides the relevant formulae and suggests some design criteria to be adhered to to get required performance of a model. These characteristics are:

  • IL = Longitudinal Moment of Inertia
  • C1 = Corrective Moment Coefficient
  • C2 = Damping Moment Coefficient
  • IR = Radial Moment of Inertia (not analysed here)
  • ωn = Natural Frequency
  • z = Damping Ratio

Of the above list only the Longitudinal Moment of Inertia is explicitly calculated in OR and it is available for plotting and exporting. The rest are not available in the current release of the tool. However, with some additional Excel processing it is still possible to get these parameters.

NOTE: Staring from OR version 12.09 you are not limited to using just the built-in simulation variables in your plots and analysis. With the custom expression feature, you can write expressions to calculate other values of interest during the simulation. These can then be plotted or exported just like the built in variables. Practically all characteristics discussed in sub-sections below can be found in the List of useful custom expressions, therefore removing a need for any further Excel processing.

Corrective Moment Coefficient

To compute C1 the following formula is to be used:

C1= (V^2)*Aref*Cna*(Z-W)*p/2 (1)


p- density of air, approx 1.24 kg/m^3
V- velocity of the rocket (Total velocity of rocket in OR), m/sec
Aref - reference area, m^2
Cna - normal force coefficient
Z- CP of the rocket , m
W - CG of the rocket, m

In (1) velocity V, reference area Aref, centre of pressure Z and CG of the rocket W can be directly obtained from OR.

There are two ways to obtain the Normal Force coefficient Cna. It can be calculated as follows:

Cna= Cn/alfa (2)

Cn - Normal force coefficient as it is calculated by OR (name is confusing, but it is a slightly different parameter).
alfa - Angle of attack, rad

In (2) both Cn and alfa can be obtained from OR. It has to be noted that (3) is a valid approximation for small angles of attack.

Alternatively, a value of Cna corresponding to a particular angle of attack is available on the Stability tab of Analyze/Component Analysis menu. The required value is the Cna column row Total (3.47 on the picture below):

Note that the total Cna depends upon Angle of Attack and speed (Mach number). The Angle of Attack should be set to 0deg, but the Mach number can be set to any value between Vmax and 0 (I need to do some more characterisation here)

Natural Frequency 

Once C1 coefficient is calculated the Natural Frequency ωn can be calculated as follows:  

ωn =sqrt(C1/IL) (3)

ωn - natural frequency, rad/sec
C1 - corrective moment coefficient
IL - Longitudinal Moment of Inertia, kg*m^2

Damping Moment Coefficient

The Damping Moment Coefficient is calculated using the following formula:

C2=C2r + C2a (4)

C2- Damping Moment Coefficient
C2r – Propulsive Damping Moment Coefficient
C2a – Aerodynamic Damping Moment Coefficient

Propulsive C2r is calculated using the following formula:

C2r = m_dot * (Ln-W)^2 (5)

m_dot – mass expulsion rate, kg/sec
Ln – Distance to the nozzle throat from the tip of the nose cone, m
W - CG of the rocket from the nose cone tip, m

m_dot component can be approximately calculated as follows:

m_dot = propellant mass/burn time [kg/sec] (6)

The Aerodynamic Dumping Moment Coefficient C2r is calculated as follows:

C2r = (V*Aref*p/2)* SUM(Cnai*(Zi-W)^2) (7)

p - density of air, approx 1.24 kg/m^3
V - velocity of the rocket (Total velocity of rocket in OR), m/sec
Aref - reference area, m^2
Cnai - normal force coefficient of the individual components
Zi - Distance from the nose cone tip to CP of the component , m
W - CG of the rocket, m

V and Aref are available in OR export, however Cnai and Zi are not exported and have to be extracted manually. They can be found in menu Analyze/Component Analysis, tab Stability (see the example picture under formula (2) above). There Cnai for each element is provided in the column CAN, and column CP provides Zi. Note that (7) requires CP to be in meters.

Damping Ratio

Finally, the Damping Ratio is calculated as follows:

DR = C2/(2*SQRT(C1*IL)) (8)

C2 - Damping Moment Coefficient (4)
C1 - Corrective Moment Coefficient (2) (see Calculation of Natural Frequency in OpenRocket)
IL - Longitudinal Moment of Inertia, kg*m^2 (available in OR export)

Designing a Back Glider Rocket using Open Rocket


[1] – Super Roc Rocket Gliders by Robert Alway and Peter Always, Research and Development Project for NARAM 42, LINK

[2] - Open Rocket Technical Documentation For OpenRocket version 1.1.6 by Sampo Niskanen, LINK (pdf download, 1.3 MB)

In their NARAM-42 report Robert and Peter Always provided background, experimental data and a methodology of designing backwards gliding rockets (Super Roc Rocket Gliders) [1]. In the following brief report I will demonstrate that OpenRoket (OR) allows the simulation of such a rocket. The simulation results are mainly in agreement with the experimental data.

OpenRocket Model

Based on the description in [1] (Figure 2) an OR model of 40 ½ “ backslider was created:

To verify correctness of the model its Barrowman Centre of Pressure (BCP) for different fin sizes was compared to the report (Figure 3). As expected no significant differences were found.
Centre of Lateral Area (CLA) was calculated independently and compared to data in [1] (Figure 3). Again, no disagreement was found.
Changing of the rocket CG was simulated by using OR’s option of the sustained CG override rather than by changing the nose cone/ tail weight as in [1]. Thus the model mass was kept nearly constant in all simulations.

Static Stability Analysis

After the above initial preparation models with different fin sizes were analysed using the Component Analysis power tool available in OR.

The tool performs a static stability analysis of a rocket for a given angle of attack and speed. It was found that the minimum CP distance (the minimum distance from the nose tip to CP) corresponds to an angle of attack less than 90 degrees. That minimum CP distance is referred to as Min CP in Fig. A below. Further increase of the angle of attack to 90 degrees leads to slight increase in CP distance (referred as 90 deg Angle of attack CP).
I noted that 90 deg Angle of attack CP calculated by OP corresponds very closely to a border between regions of “Expected Lawn Dart” and “Expected Backwards glide” observed by Always (Figure 6, note results key). Approximate border between the two regions in [1] is also shown Fig. A below (yellow line) for references.
After the above step I made a tentative conclusion that OR’s static analysis power tool can be used to establish a range of CG values that could produce the required effect of backwards gliding.

Mathematical Background

Refer to the OR's technical documentation [2] (pdf download, 1.3 MB) for the software mathematical background. In context of a rocket behaviour in a large angel of attack condition section 3.2 ([2], page 21) provides necessary formulae.

In particular, it is important to note that the effect of body lift must not be neglected, especially in a case of a long, slender body ([2], page 24). The normal force exerted on a cylindrical can be calculated using equation 3.26. From 3.26 and 3.19 it can be seen that the normal force coefficient derivatives, CNa, used to calculate CP of cylindrical elements of the rocket depend upon the angle of attack a as sin2a/a.

If CNa calculated using small angle of attach values approximated linearly to 90 degrees (dashed red line),  the calculation will yield a total CP equal to CLP. However, as it was mentioned above, such approach is incorrect as it neglects the body lift effect.

Dynamic Simulation

OR simulation of all flights presented in Table 1, [1] was performed in two wind conditions – 0 m/s and 2 m/s. Main results of the simulation are presented in Table A below. Note that the results for 0 m/s wind speed are not shown in the table due to the insignificant difference from the presented 2 m/s wind speed data.

Table A.

Fig. A below shows results of the static analysis as well as position of the burnout CG (CG after engine burnout) presented in Table A. Fig. A is to be compared to Figure 6, [1].

Figure A

As it can be seen from Table A, simulated behaviour of the model for given fin size and CP location closely resembles the real flight data. There are only two exceptions – flight #4 and #6. However, CG for these flights is at the border of “backwards gliding” area (see points #4 and #6 in Fig. A). Such borderline condition may explain inaccuracy of the simulations compared to the real flights.

The following metrics readily available in OR was chosen as indicative of a model behaviour during the descent phase of the flight:
• Angle of attack – angle between the model longitudinal axis and its velocity vector
• Vertical velocity – vertical part of the velocity vector
• Vertical orientation (zenith) – angle between the horizon and the model longitudinal axis. 90 deg – zenith, 0 deg – horizon.

It was found that using the above three metrics it is possible to establish whether the desired “backwards glide” occurred or not. For example Fig. B demonstrates “lawn dart” descent (flight #7). After the apogee (approx. 4.7 sec) vertical orientation begins changing from 90 or so degrees to 0 deg (6.2 sec) and further to -90 deg. corresponding to a nose down dive. At the same time, the angle of attack reduces to 0 deg and the rocket’s vertical speed increases.

Figure B

A completely different behaviour can be observed on Fig. C corresponding to flight #3 with “backwards glide” descent. After the apogee the model vertical orientation changes to approx. 7 deg and stabilises at that value. This indicates that the rocket does not turn down vertically, but remains in an approximately horizontal position. Note stabilisation of the vertical velocity after approximately 11 seconds.

Fig. D presents an interesting simulation results for flight #9. Non-dumped oscillation can be observed. This is due to the burnout CG equal to 90 deg Angle of attack CP.

Figure D

Simulation plots for all test cases in Table A:
Flight #1
Flight #2
Flight #3
Flight #4
Flight #5
Flight #6
Flight #7
Flight #8
Flight #9
Flight #10


It appears that it is possible to simulate behaviour of a backwards gliding rockets (Super Roc Rocket Gliders) using OpenRocket simulation software. A relationship between CP, CLP and CG of a model yielding the desired gliding behaviour of the model during the descent phase can be easily established using static analysis power tool. Dynamic simulation provided quantitative data for further analysis. 

Further development

To verify the above conclusions a  back glider rocket was designed.

Three successful flights demonstrated a behaviour predicted by OR's simulations.  However, a lawn dart dive on the forth occasion destroyed the model. Post-flight OR analysis showed that for the given design (CP and CG locations) and the high wind turbulence flight condition experienced during the launch the lawn dart should occur in approximately 2% of flights. 

Useful Links

OpenRocket Distribution website - This is a large depository of designs in OR format.

List of useful custom expressions - In version 12.09 and later, you are not limited to using just the built-in simulation variables in your plots and analysis. With the custom expression feature, you can write expressions to calculate other values of interest during the simulation. These can then be plotted or exported just like the built in variables.

Artemi Glazkov,
5 Nov 2011, 18:06