http://wiki.openrocket.info/api.php?action=feedcontributions&user=Jddj&feedformat=atomOpenRocket wiki - User contributions [en]2024-03-28T18:06:47ZUser contributionsMediaWiki 1.35.0http://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35826Advanced Rocket Design2023-01-26T20:09:12Z<p>Jddj: /* Example Parachute Design */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin: .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right; margin: .5rem 0 .5rem 1.5rem;"><br />
[[File:Unicon.png|thumb|200 px|left|The scratch Unicon, ca 1970 - a <em>break-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
In 2022, Apogee released a "Gliding Parachute", which could be steered by remote control back to the launch pad (given enough altitude and favorable winds). OpenRocket cannot, at this writing, simulate the behavior of the Gliding Parachute.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35825Advanced Rocket Design2023-01-26T20:06:13Z<p>Jddj: /* Featherweight and Break-Apart Recovery */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin: .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right; margin: .5rem 0 .5rem 1.5rem;"><br />
[[File:Unicon.png|thumb|200 px|left|The scratch Unicon, ca 1970 - a <em>break-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35824Advanced Rocket Design2023-01-26T20:03:23Z<p>Jddj: /* Featherweight and Break-Apart Recovery */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right;margin .5rem 0 .5rem 1rem;"><br />
[[File:Unicon.png|thumb|200 px|left|The scratch Unicon, ca 1970 - a <em>fbreak-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35823Advanced Rocket Design2023-01-26T20:01:24Z<p>Jddj: /* Featherweight and Break-Apart Recovery */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right;margin .5rem 1rem .5rem 0;"><br />
[[File:Unicon.png|thumb|200 px|left|The scratch Unicon, ca 1970 - a <em>fbreak-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35822Advanced Rocket Design2023-01-26T20:00:44Z<p>Jddj: /* Featherweight and Break-Apart Recovery */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right;margin .5rem 1rem .5rem 0;"><br />
[[File:Unicon.png|thumb|150 px|left|The scratch Unicon, ca 1970 - a <em>fbreak-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=File:Unicon.png&diff=35821File:Unicon.png2023-01-26T19:58:18Z<p>Jddj: Line-drawing of the Unicon, a break-apart recovery rocket fluttering to recovery.</p>
<hr />
<div>== Summary ==<br />
Line-drawing of the Unicon, a break-apart recovery rocket fluttering to recovery.</div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35820Advanced Rocket Design2023-01-26T19:57:25Z<p>Jddj: /* Featherweight and Break-Apart Recovery */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
<div style="float:right;margin .5rem 1rem .5rem 0;"><br />
[[File:Unicon.png|thumb|245 px|left|The scratch Unicon, ca 1970 - a <em>fbreak-apart recovery</em> rocket]]<br />
</div><br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35819Advanced Rocket Design2023-01-26T19:49:12Z<p>Jddj: /* Example Break-Apart Design */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick, to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=35816Advanced Rocket Design2023-01-26T19:42:32Z<p>Jddj: /* Example Break-Apart Design */</p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <strong>[https://archive.org/details/american-aircraft-modeler-02-1970/page/n41/mode/2up Unicon]</strong> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in American Aircraft Modeler in February, 1970. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick. to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to visually add a ring tail fin to an OpenRocket model using a body tube, but there's one catch: the ring tail must start at the exact aft-end of the body tube it surrounds, and the supporting fins must trail to support it. This is because, unlike other non-external components in OpenRocket, external airframe parts follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc. If you don't want the ring tail fin at the end of the model, also visually simulate a ring tail virtually at any point up or down the airframe using an inner tube. But, as with the body tube approach, there’s a catch, inner tubes are aerodynamically ignored during the simulation. <br />
<br />
<h3>If you like the "look" of ring tail models, <i>OpenRocket does that <b>very, very well</b></i>. Just <i><u><b>BE AWARE</b></u></i> that <i>OpenRocket <u><b>WILL NOT</b></u> accurately simulate ring tail fins</u></i></b> at this time.</h3><br />
<br />
----<br />
<br />
<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
So, if you want that ring tail "look," let's step through adding a ring tail to <strong>A simple model rocket</strong> to demonstrate the body tube method.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Your ring tail is complete.<br />
<br />
In addition to not being able to accurately simulate this model, it's important to note that <i>the body tube ring tail <b>will give you</b> a "Discontinuity in rocket body diameter" warning too</i>.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|Go to Basic Rocket Design &larr;]]</div><br />
<div style="float: right;">[[Component Details|Go to Component Details &rarr;]]</div><br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Main_Page&diff=34561Main Page2021-03-10T17:16:06Z<p>Jddj: Split off developer resources, linked to them at GitHub</p>
<hr />
<div>This is the wiki for OpenRocket, an open-source model rocket simulator. The OpenRocket documentation is written collaboratively here.<br />
<br />
The main web site for OpenRocket is '''http://openrocket.info/'''<br />
<br />
<br />
== OpenRocket User's Guide ==<br />
<br />
1. [[Introduction]]<br />
<br />
2. [[Downloading & Installing]]<br />
<br />
3. [[Getting Started]]<br />
<br />
4. [[Basic Rocket Design]]<br />
<br />
5. [[Basic Flight Simulation]] <br />
<br />
6. [[Advanced Rocket Design]]<br />
<br />
7. [[Advanced Flight Simulation]]<br />
<br />
8. [[Rocket Analysis]]<br />
<br />
9. [[Custom Expressions]]<br />
<br />
10. [[Simulation Listeners]]<br />
<br />
==== Appendices: ====<br />
<br />
A. [[FAQ|Frequently asked questions]]<br />
<br />
B. [[Component Details]]<br />
<br />
C. [[Tips]]<br />
<br />
D. [[List of useful custom expressions]]<br />
<br />
E. [[Scripting with Python and JPype]]<br />
<br />
F. [[Resources]]<br />
<br />
G. [[Feature comparison]]<br />
<br />
<br />
* '''[[Instructions for translators]]'''<br />
<br />
== Developer resources ==<br />
<br />
The [https://github.com/openrocket/openrocket/wiki OpenRocket Developer Wiki] is on the development site at [https://github.com/openrocket/openrocket/ GitHub].<br />
<br />
The developer pages were unified and migrated there in March, 2021. If you're missing a developer page, please check on the developer wiki.</div>Jddjhttp://wiki.openrocket.info/index.php?title=FAQ&diff=34560FAQ2021-03-10T16:56:43Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<!--T:1--><br />
This page lists various frequently asked questions. Most of these are categorized as "How to" questions for various design issues.<br />
<br />
== Problems running OpenRocket ==<br />
<br />
=== Why do I get a Java error when I run OpenRocket? ===<br />
The most common cause for this is because you're trying to run OpenRocket 15.03 on a version of Java that's newer than Java 8. OpenRocket 15.03 requires Java 8 and will not run on a newer version of Java.<br />
<br />
=== When will OpenRocket run on a newer version of Java? ===<br />
As of Apr 1, 2020, the development team has successfully migrated the OpenRocket codebase to Java 9+. This means that new versions of OpenRocket should run just fine on newer versions of Java. Please check [http://openrocket.info OpenRocket.info] regularly for an upcoming release.<br />
<br />
<br />
== Using OpenRocket == <!--T:2--><br />
<br />
=== How to use motor configurations? === <!--T:3--><br />
<br />
<!--T:4--><br />
OpenRocket uses the notion of '''motor configurations''' for rocket designs. Each motor configuration corresponds to a configuration you are planning on launching your rocket with. For example for a simple small rocket you could define three configurations, one using an A8-3 motor, one using a B4-4 motor, and one using a C6-3 motor. For a multi-stage or clustered rocket you can define and experiment with many other motor configurations easily and switch between them. You can define any number of motor configurations for a rocket design.<br />
<br />
<!--T:5--><br />
In the rocket design window, you can select which motor configuration is displayed in the figure by the dropdown labeled '''Motor configuration'''. Every design has a configuration named ''[No motors]'' in addition to the user-defined configurations, which contains no motors.<br />
<br />
<!--T:6--><br />
You can configure all aspects of motor configurations in the '''Edit motor configurations''' dialog. It can be opened from any motor configuration selector.<br />
<br />
<br />
=== How do I define motors? === <!--T:7--><br />
<br />
<!--T:8--> <br />
Defining motors and simulating using them in OpenRocket requires three steps: defining which components function as motor mounts, defining the different motor configurations, and defining which motor configuration to use in a particular simulation.<br />
<br />
<!--T:9--><br />
OpenRocket supports attaching motors in either body tubes or inner tubes. To make a component be a motor mount, open the configuration dialog for that component, move to the '''Motor''' tab and tick the box ''This component is a motor mount''. After that you can select motors for different motor configurations on the same tab. See [[#How to use motor configurations?]] for details on motor configurations.<br />
<br />
<!--T:10--><br />
Last, when you create a new simulation, you need to select which motor configuration it uses. This is done from the ''Motor configuration'' dropdown of the '''Launch conditions''' tab. The default motor configuration is the currently selected configuration of the design figure.<br />
<br />
<br />
=== How do I create a clustered rocket? === <!--T:11--><br />
<br />
<!--T:12--><br />
Clusters can be created using the '''Cluster''' tab of an Inner tube. This allows you to cluster the inner tubes in various configurations, distances and angles. The motor selected for the inner tube will be used for all the inner tubes in the cluster, and any components (such as engine blocks) attached to the inner tube will be replicated for all of the inner tubes.<br />
<br />
<!--T:13--><br />
If you need more fine-grained control on what components are in which tubes, you can create the cluster this way and then split the cluster into individual components by clicking ''Split cluster''. You can then modify the individual components of the cluster. Note that you cannot re-assemble a split cluster (except with undo).<br />
<br />
<!--T:14--><br />
Note that you can create clusters of clusters by attaching inner tubes to other inner tubes, but ''the motors attached to such configurations will not be counted up correctly!'' This is a known bug that will be addressed in later versions.<br />
<br />
<!--T:15--><br />
The cluster techniques can also be combined with a [[#How do I create a staged rocket?|staged rocket]].<br />
<br />
<br />
=== How do I create a staged rocket? === <!--T:16--><br />
<br />
<!--T:17--><br />
First, the components belonging to different stages must be attached to separate stage components. You can add stages to the rocket by clicking the ''New stage'' button on the main design window. Stages are always used from the lowest to the highest, and when an upper-stage motor ignites all lower stages are automatically dropped off.<br />
<br />
<!--T:18--><br />
The motor ignition event can be selected on the '''Motor''' tab of the body tubes or inner tubes. The default is ''Automatic'', which is suitable for small rockets, where the ejection charge of the lower stage lights up the upper stage motors. The lowest stage will be ignited at launch.<br />
<br />
<!--T:19--><br />
In larger staged rockets that don't have ejection charges the ignition event must be changed. The first stage to light up should ignite at ''Launch'' (or ''Automatic''). If the latter stages are ignited by an onboard computer that detects deceleration, they should be set to ''First burnout of previous stage''. (Note that this assumes the lower stage motors have equal burn lengths.) If the latter stage is ignited by a timer, the event should be set to ''Launch'' and a suitable delay added.<br />
<br />
<!--T:20--><br />
Each of the events can take an additional delay parameter. This allows taking into account for example the time for an ejection charge to light up the next stage or the time for an onboard computer to ignite the next stage. It can also be used for timed ignition, by setting the ejection event to ''Launch'' plus ''n'' seconds.<br />
<br />
<!--T:21--><br />
The staging techniques can also be combined with a [[#How do I create a clustered rocket?|clustered rocket]].<br />
<br />
<br />
=== How do I create external pods to the rocket? === <!--T:22--><br />
<br />
<!--T:23--><br />
External pods are currently not supported by OpenRocket. This feature has been considered, but it requires more knowledge of how to reliably simulate such configurations. If you know about such simulation or would like to implement it, please [http://openrocket.sourceforge.net/contact.html contact us]!<br />
<br />
<!--T:24--><br />
Note that even though inner tubes can be displaced outside of the body tube, ''they will not affect the aerodynamics of the rocket''. This can provide a visual clue of what such a rocket would look like, but does not provide simulation accuracy. Similarly, extremely thick fins are still considered as fins, and won't likely produce reliable results.<br />
<br />
<br />
=== How do I add motors to the database? === <!--T:25--><br />
<br />
<!--T:26--><br />
You can define external files to be loaded into the thrust curve database. There are two ways to add the files:<br />
<br />
<br />
<!--T:27--><br />
* Copy the files to the OpenRocket configuration directory. This is environment-specific:<br><br><br />
{| border="1" style="margin-left: 2em"<br />
| '''Windows:'''<br />
| <tt>C:\Documents and Settings\<i>username</i>\Application Data\OpenRocket\ThrustCurves\</tt> or<br />
<tt>C:\Users\<i>username</i>\AppData\Roaming\OpenRocket\ThrustCurves</tt> (typical)<br />
|-<br />
| '''Linux:'''<br />
| <tt>~/.openrocket/ThrustCurves/</tt><br />
|-<br />
| '''Mac OS X:'''<br />
| <tt>~/Library/Application Support/OpenRocket/ThrustCurves/</tt><br />
|}<br />
<br />
<br />
<!--T:28--><br />
'''OR'''<br />
<br />
<br />
<!--T:29--><br />
* Instruct OpenRocket to load the files from another location. This can be done on the "Options" tab from the preferences.<br />
<br />
<br />
<!--T:30--><br />
Thrust curves can be loaded from RASP motor files (.eng), RockSim engine files (.rse) or ZIP archives containing the same.<br />
<br />
<br />
<br />
== Other == <!--T:32--><br />
<br />
=== What information is stored during automatic update checks? === <!--T:33--><br />
<br />
<!--T:34--><br />
When checking for updates, OpenRocket sends some non-personal information about the current installation. This information is used for statistical purposes (such as estimating what kind of load would be expected to [http://www.thrustcurve.org/ thrustcurve.org] when integrating with it, what Java versions should be supported, how much effort should be spent on parallelization, to what languages the software should be localized etc.) and also to quench the curiosity of the developers. We don't get any payment for the work we do, so knowing how much the software is used may help in motivating further development.<br />
<br />
<!--T:35--><br />
The information stored during the checks are:<br />
<br />
<!--T:36--><br />
# The OpenRocket version and build source (default JAR file or some Linux distribution for instance)<br />
# A randomly-generated ID for the installation (does not contain any information about the user or system)<br />
# The operating system name and computer architecture<br />
# The Java runtime vendor and Java runtime version<br />
# The country and locale of the user<br />
# The number of processors in the computer<br />
# The time when the check was made<br />
<br />
<!--T:37--><br />
Note that the user's IP address is ''not'' stored with this information. The IP address is likely stored in the Sourceforge web access logs, but the developers do not have access to this information.<br />
<br />
<!--T:38--><br />
The automatic checks for updates can be disabled in the '''Options''' tab of the preferences dialog.<br />
<br />
=== Where to ask more information? === <!--T:39--><br />
<br />
<!--T:40--><br />
The best place to ask questions is the [https://sourceforge.net/p/openrocket/mailman/ OpenRocket mailing list], where other people can also answer and see the answers.<br />
<br />
<!--T:41--><br />
Other contact information can be found on the [http://openrocket.info/contact.html contact info page].<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Instructions_for_translators&diff=34559Instructions for translators2021-03-10T16:39:23Z<p>Jddj: Split from developer doc</p>
<hr />
<div>Both the OpenRocket software itself and this wiki site are multilingual. Below you will find instructions for people willing to contribute to the translations.<br />
<br />
<br />
== Translating the wiki pages ==<br />
<br />
The wiki page translations are managed using the MediaWiki '''[http://www.mediawiki.org/wiki/Extension:Translate Translate extension]'''. This allows paragraph-per-paragraph translation of pages, keeping track of changes and indicating to readers when the translation is out of date or new content has been added.<br />
<br />
'''Translators must be signed in.''' Anonymous editing of the translations are not possible.<br />
<br />
There are two steps for translating a page. First, the page needs to be prepared for translation, and then translated.<br />
<br />
=== Preparing a page for translation ===<br />
<br />
Please read the [http://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example Page translation example] from the Translate extension site.<br />
<br />
Short version:<br />
* Edit the main page and surround the entire page within ''&lt;translate&gt; ... &lt;/translate&gt;''<br />
* After saving, click ''Mark this page for translation'' (or ''This page contains changes which are not marked for translation'')<br />
<br />
=== Translating a page ===<br />
<br />
Please read the [http://www.mediawiki.org/wiki/Help:Extension:Translate/Translation_example Translation example] from the Translate extension site.<br />
<br />
<br />
More in-depth information is available in [http://www.mediawiki.org/wiki/Help:Extension:Translate#Further_reading_and_tutorials Further reading and tutorials] of the Translation extension.<br />
<br />
<br />
Note that most of the developer pages are intentionally left out of the scope of translation. These include for example feature plans, which are volatine and do not provide any benefit to be translated.<br />
<br />
<br />
'''Source(s):''' [http://www.downloadranking.com Instructions for translators]<br />
<br />
<br />
== Translating the software ==<br />
<br />
Translation and localization information for the OpenRocket software is located on the [https://github.com/openrocket/openrocket/wiki/Instructions-for-translators OpenRocket developer wiki].</div>Jddjhttp://wiki.openrocket.info/index.php?title=Main_Page&diff=34558Main Page2021-03-10T15:59:27Z<p>Jddj: </p>
<hr />
<div>This is the wiki for OpenRocket, an open-source model rocket simulator. The OpenRocket documentation is written collaboratively here.<br />
<br />
The main web site for OpenRocket is '''http://openrocket.info/'''<br />
<br />
The Developer Wiki is on GitHub at '''https://github.com/openrocket/openrocket/wiki'''<br />
<br />
== OpenRocket User's Guide ==<br />
<br />
1. [[Introduction]]<br />
<br />
2. [[Downloading & Installing]]<br />
<br />
3. [[Getting Started]]<br />
<br />
4. [[Basic Rocket Design]]<br />
<br />
5. [[Basic Flight Simulation]] <br />
<br />
6. [[Advanced Rocket Design]]<br />
<br />
7. [[Advanced Flight Simulation]]<br />
<br />
8. [[Rocket Analysis]]<br />
<br />
9. [[Custom Expressions]]<br />
<br />
10. [[Simulation Listeners]]<br />
<br />
==== Appendices: ====<br />
<br />
A. [[FAQ|Frequently asked questions]]<br />
<br />
B. [[Component Details]]<br />
<br />
C. [[Tips]]<br />
<br />
D. [[List of useful custom expressions]]<br />
<br />
E. [[Scripting with Python and JPype]]<br />
<br />
F. [[Resources]]<br />
<br />
G. [[Feature comparison]]<br />
<br />
<br />
== Developer resources ==<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Developer's-Guide Developer's Guide]<br />
<br />
* [http://openrocket.info/documentation.html Technical Documentation]<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Creating-guided-tours Creating guided tours]<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Release-Process Release Process]<br />
<br />
* New feature discussion pages:<br />
** [[Feature wishlist]]<br />
** [[Component databases]]<br />
** [[Plugin system]]<br />
** [[User interface]]<br />
** [[Remote library interface]]<br />
<br />
* '''[[Instructions for translators]]'''</div>Jddjhttp://wiki.openrocket.info/index.php?title=Main_Page&diff=34557Main Page2021-03-10T05:09:23Z<p>Jddj: </p>
<hr />
<div>This is the wiki for OpenRocket, an open-source model rocket simulator. The OpenRocket documentation is written collaboratively here.<br />
<br />
The main web site for OpenRocket is '''http://openrocket.info/'''<br />
<br />
The Developer Wiki is on GitHub at '''https://github.com/openrocket/openrocket/wiki'''<br />
<br />
== OpenRocket User's Guide ==<br />
<br />
1. [[Introduction]]<br />
<br />
2. [[Downloading & Installing]]<br />
<br />
3. [[Getting Started]]<br />
<br />
4. [[Basic Rocket Design]]<br />
<br />
5. [[Basic Flight Simulation]] <br />
<br />
6. [[Advanced Rocket Design]]<br />
<br />
7. [[Advanced Flight Simulation]]<br />
<br />
8. [[Rocket Analysis]]<br />
<br />
9. [[Custom Expressions]]<br />
<br />
10. [[Simulation Listeners]]<br />
<br />
==== Appendices: ====<br />
<br />
A. [[FAQ|Frequently asked questions]]<br />
<br />
B. [[Component Details]]<br />
<br />
C. [[Tips]]<br />
<br />
D. [[List of useful custom expressions]]<br />
<br />
E. [[Scripting with Python and JPype]]<br />
<br />
F. [[Resources]]<br />
<br />
G. [[Feature comparison]]<br />
<br />
<br />
== Developer resources ==<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Developer's-Guide Developer's Guide]<br />
<br />
* [http://openrocket.info/documentation.html Technical Documentation]<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Creating-guided-tours Creating guided tours]<br />
<br />
* [[ReleaseProcess|Release Process]]<br />
<br />
* New feature discussion pages:<br />
** [[Feature wishlist]]<br />
** [[Component databases]]<br />
** [[Plugin system]]<br />
** [[User interface]]<br />
** [[Remote library interface]]<br />
<br />
* '''[[Instructions for translators]]'''</div>Jddjhttp://wiki.openrocket.info/index.php?title=Main_Page&diff=34556Main Page2021-03-10T04:28:30Z<p>Jddj: /* Developer resources */</p>
<hr />
<div>This is the wiki for OpenRocket, an open-source model rocket simulator. The OpenRocket documentation is written collaboratively here.<br />
<br />
The main web site for OpenRocket is '''http://openrocket.info/'''<br />
<br />
The Developer Wiki is on GitHub at '''https://github.com/openrocket/openrocket/wiki'''<br />
<br />
== OpenRocket User's Guide ==<br />
<br />
1. [[Introduction]]<br />
<br />
2. [[Downloading & Installing]]<br />
<br />
3. [[Getting Started]]<br />
<br />
4. [[Basic Rocket Design]]<br />
<br />
5. [[Basic Flight Simulation]] <br />
<br />
6. [[Advanced Rocket Design]]<br />
<br />
7. [[Advanced Flight Simulation]]<br />
<br />
8. [[Rocket Analysis]]<br />
<br />
9. [[Custom Expressions]]<br />
<br />
10. [[Simulation Listeners]]<br />
<br />
==== Appendices: ====<br />
<br />
A. [[FAQ|Frequently asked questions]]<br />
<br />
B. [[Component Details]]<br />
<br />
C. [[Tips]]<br />
<br />
D. [[List of useful custom expressions]]<br />
<br />
E. [[Scripting with Python and JPype]]<br />
<br />
F. [[Resources]]<br />
<br />
G. [[Feature comparison]]<br />
<br />
<br />
== Developer resources ==<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Developer's-Guide Developer's Guide]<br />
<br />
* [http://openrocket.info/documentation.html Technical Documentation]<br />
<br />
* [[Creating guided tours]]<br />
<br />
* [[ReleaseProcess|Release Process]]<br />
<br />
* New feature discussion pages:<br />
** [[Feature wishlist]]<br />
** [[Component databases]]<br />
** [[Plugin system]]<br />
** [[User interface]]<br />
** [[Remote library interface]]<br />
<br />
* '''[[Instructions for translators]]'''</div>Jddjhttp://wiki.openrocket.info/index.php?title=Main_Page&diff=34555Main Page2021-03-10T04:27:57Z<p>Jddj: /* Developer resources */</p>
<hr />
<div>This is the wiki for OpenRocket, an open-source model rocket simulator. The OpenRocket documentation is written collaboratively here.<br />
<br />
The main web site for OpenRocket is '''http://openrocket.info/'''<br />
<br />
The Developer Wiki is on GitHub at '''https://github.com/openrocket/openrocket/wiki'''<br />
<br />
== OpenRocket User's Guide ==<br />
<br />
1. [[Introduction]]<br />
<br />
2. [[Downloading & Installing]]<br />
<br />
3. [[Getting Started]]<br />
<br />
4. [[Basic Rocket Design]]<br />
<br />
5. [[Basic Flight Simulation]] <br />
<br />
6. [[Advanced Rocket Design]]<br />
<br />
7. [[Advanced Flight Simulation]]<br />
<br />
8. [[Rocket Analysis]]<br />
<br />
9. [[Custom Expressions]]<br />
<br />
10. [[Simulation Listeners]]<br />
<br />
==== Appendices: ====<br />
<br />
A. [[FAQ|Frequently asked questions]]<br />
<br />
B. [[Component Details]]<br />
<br />
C. [[Tips]]<br />
<br />
D. [[List of useful custom expressions]]<br />
<br />
E. [[Scripting with Python and JPype]]<br />
<br />
F. [[Resources]]<br />
<br />
G. [[Feature comparison]]<br />
<br />
<br />
== Developer resources ==<br />
<br />
* [https://github.com/openrocket/openrocket/wiki/Developer's-Guide#units-used-in-openrocket Developer's Guide]<br />
<br />
* [http://openrocket.info/documentation.html Technical Documentation]<br />
<br />
* [[Creating guided tours]]<br />
<br />
* [[ReleaseProcess|Release Process]]<br />
<br />
* New feature discussion pages:<br />
** [[Feature wishlist]]<br />
** [[Component databases]]<br />
** [[Plugin system]]<br />
** [[User interface]]<br />
** [[Remote library interface]]<br />
<br />
* '''[[Instructions for translators]]'''</div>Jddjhttp://wiki.openrocket.info/index.php?title=Basic_Rocket_Design&diff=34554Basic Rocket Design2021-03-10T03:42:32Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Getting Started|&larr; Getting Started]]</div><br />
<div style="float: right;">[[Basic Flight Simulation|Basic Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section we'll look at how to design a basic rocket by examining the <strong>A simple model rocket</strong> design example. After reading this section you should have an understanding of how to start designing your own rockets. If you already know how to design your rocket, you can jump to the [[Basic Flight Simulation|next section]].<br/> <br/><br />
<br />
We will start with a brief discussion on the selection of <strong><em>available components</em></strong>, and then the components used in the <strong><em>A simple model rocket</em></strong> example. Then we'll build a rocket from scratch to see how it’s done. <br /><br />
<br />
=== Component Configuration Window ===<br />
<br />
There are several types of components available to you as a rocket designer, and you can either customize these to meet your specific needs, or simply load presets from the database. <br/><br/><br />
<br />
To start, let's begin a new project: <strong>File</strong> -> <strong>New</strong>. It doesn’t matter what we call it at the moment, but go ahead and save the design straight away: <strong>File</strong> -> <strong>Save</strong> your design. At this point you should be presented with a blank design window in the bottom half of the user interface.<br />
<br />
[[File:Main_window.png|thumb|800 px|center|The OpenRocket <em>main window</em>.]] <br/><br />
<br />
When you first start a new rocket design you will see that only three categories of components are available in the <strong>Add new component</strong> panel:<br />
<ul><br />
<li><strong> Body components and fin sets</strong></li><br />
<li><strong> Inner components</strong></li><br />
<li><strong> Mass objects</strong></li><br />
</ul><br><br />
<br />
We would usually start building our rocket by selecting a <em>nose cone</em> but for the sake of this guide click the <strong>Body tube</strong> icon in the <strong>Body components and fin sets</strong> section. This will then open up a configuration window that we'll use to edit the parameters of the body tube. <br/><br />
<br />
<br />
==== The Body Tube’ Configuration Window ====<br />
<br />
<br />
At this point you should see a new window titled <strong>Body tube configuration</strong>.<br />
<br />
[[File:ConfigBody.png|thumb|600 px|center|The <em>Configuration Window</em>.]] <br/><br />
<br />
This window allows you to either select a <em>preset</em> for the component type you are choosing, or make your own. Let’s start by examining how to customize it ourselves. If you have a look at the <em>Body tube configuration</em> window you will see that at the top there is a <strong> Component name</strong> field. Here we can change the name of the current component to anything we choose. (Note that this name will then appear in the design tree seen in the <em>Rocket Design</em> panel of the main program window.)<br/><br />
<br />
Just below <em>Component name</em> there are several tabs:<br/><br />
<ul><br />
<li><strong>General:</strong> allows us to alter the basic attributes of the component.</li><br />
<li><strong>Motor:</strong> allows us to make the body tube into a motor mount, and also edit the properties of the motor.</li><br />
<li><strong>Override:</strong> allows us to manually set the mass or centre of gravity for the component.</li><br />
<li><strong>Appearance:</strong> allows us to select colours, textures and other finishes.</li><br />
<li><strong>Comment:</strong> allows us to enter any comments or notes about the component.</li><br />
</ul><br><br />
<br />
It should be noted that these tabs are specific to the component being designed. For example, a <em>nose cone</em> will not have a <em>motor</em> tab, but will instead have a <strong>shoulder</strong> tab. It will also have a description panel to tell you a bit more about the component you are choosing. After you learn how to navigate around one component <em>configuration panel</em>, the others should be relatively self-explanatory. <br/><br />
<br />
<br />
===== General Tab =====<br />
<br />
The rest of the <em>Body tube configuration</em> window lists the different parameters for the current component type. As you can see, the <em>General</em> tab provides options to manually enter numbers, or you can also use the spin boxes (coarse control) or sliders (fine control) provided to adjust the parameter values. The <strong>Automatic</strong> checkbox will adjust the dimensions of the component automatically. Here you will also see a <strong>Filled</strong> checkbox. If this is checked you will notice that the inner diameter goes to zero, i.e., a filled (solid) tube. Note how the Component mass changes when this box is checked.<br/><br/><br />
<br />
On the right hand side of the window you will see the <strong>Component material</strong> and <strong>Component finish</strong> drop-down menus. If you click on these you will be presented with a list of various materials and finishes, each with their own weight and thickness. If you are using the same finish for the entire rocket you can click the <strong>Set for all</strong> button to make each component use the same finish. The last notable feature in this window is in the bottom left. There you will see a live display of the <strong>Component mass</strong>. This will update automatically as you change parameter values. Experiment with the sliders to see how the component changes in the <em>design window</em>.<br />
<br />
You may have noticed that, apart from the mass, there is no noticeable difference when either the <em>inner diameter</em> or <em> wall thickness</em> parameters are changed. To see those changes reflected in the model you will have to switch to a different <em>View Type</em>, by selecting the desired view from the drop-down list at the left of the main OpenRocket program window.<br />
<br />
===== Motor Tab =====<br />
<br />
Next to the General tab is the <strong>Motor</strong> tab. If you click on it you will see that most parameters are grayed-out, with the exception of one checkbox. As the label mentions, this is for when you want the body tube component to also be a <strong>motor mount</strong>.<br />
[[File:ConfigBodyMotor.png|thumb|600 px|center|The <em>Motor tab</em> of the Configuration Window.]] <br/><br />
<br />
Have a quick look at this if you wish, but we'll discuss changing <em>flight configurations</em> for a later section of the guide.<br />
<br />
===== Override =====<br />
<br />
We'll take a quick look at this tab, as it common to most components. For starting out though, you most likely will not need it.<br />
<br />
[[File:ConfigBodyOverride.png|thumb|600 px|center|The <em>Override tab</em> of the Configuration Window.]] <br/><br />
<br />
This tab would be used when you specifically wanted to override the mass and centre of gravity (CG) of the component.<br />
<br />
===== Appearance =====<br />
<br />
Everyone likes something shiny, don’t they? This tab allows you edit the appearance of the component.<br />
<br />
[[File:ConfigBodyAppearance.png|thumb|600 px|center|The <em>Appearance tab</em> of the Configuration Window.]] <br/><br />
<br />
There are two sections here, the <strong>Figure style</strong> section and the <strong>Appearance</strong> section. <em>Figure style</em> changes what the 2D figure looks like, whereas <em>Appearance</em> will change what the 3D model will look like. If you wish to use any custom textures or images in your rocket design, you can load those through the <strong>Texture</strong> drop-down menu.<br />
<br />
===== Comment =====<br />
<br />
This section does not really need much explanation. If you want to write any comments or notes about your component (why you chose the values you did, etc.), then this is the place to do it.<br />
<br />
[[File:ConfigBodyComment.png|thumb|600 px|center|The <em>Comment tab</em> of the Configuration Window.]] <br/><br />
<br />
Now that we have been through all of the tabs of the <em>Body Tube</em> component, click the Close button. You should now notice that the rest of the components are now unlocked in the top right of the <em>Design window</em>. This is because all component types can be added to a body tube. However, a <strong>Nose cone</strong> should be selected <strong>first</strong> if you are making your own rocket.<br />
<br />
Let’s have a look at the full list of components. If you cannot click on the component type, try selecting the <em>Body tube</em> in the design window in the top left panel of OpenRocket.<br />
<br />
=== Available Components ===<br />
<br />
As previously mentioned, there are 16 component types to choose from within OpenRocket. These are split into three sections: <br/><br />
<ul><br />
<li><strong>Body components and fin sets</strong></li><br />
<li><strong>Inner components</strong></li><br />
<li><strong>Mass objects</strong></li><br />
</ul> <br/><br />
[[File:ComponentSupertypes.png|thumb|800 px|centre|The <em>Component types</em> menu.]] <br/><br />
<br />
==== Body components and fin sets ====<br />
<br />
Within <em>Body components and fin sets</em> we have 8 component types. These components make up the external and main body of the rocket; everything else is inside the rocket. As you will see in the image the component types are: <br/><br />
<br />
<ul><li><strong>Nose Cone</strong>: The very tip of the rocket. Usually, you will select this component first.</li><br />
<li><strong>Body Tube</strong>: As we have seen, the body tube makes up the main section of a stage.</li><br />
<li><strong>Transition</strong>: A component that usually joins one body tube to another (normally larger) tube.</li><br />
<li><strong>Trapezoidal</strong> fin: A fin set that is in the shape of a trapezoid.</li><br />
<li><strong>Elliptical</strong> fin: A fin set that is in the shape of an ellipse.</li><br />
<li><strong>Freeform</strong> fin: This special kind of fin takes any shape you want. If you add it to your model it will open up a design window for you to alter the shape as desired.</li><br />
<li><strong>Tube Fins</strong> Special fins, typically made from body tubes attached to the outside of the rocket body.</li><br />
<li><strong>Launch Lug</strong>: This component usually goes on the outside of a body tube and is used while the rocket is on the launch pad.</li></ul><br/><br />
<br />
[[File:ComponentBodyAndFins.png|thumb|800 px|centre|The <em>Body components and fin sets</em> submenu.]] <br/><br />
<br />
==== Inner Components ====<br />
<br />
Within <em>Inner components</em> we have 5 component types, and these components are all internal. As with <em>Body components and fin sets</em> we will now run through the list of components. <br/><br />
<ul><br />
<li><strong>Inner tube</strong>: This component lets you add tubes to the inside of the main body tube.</li><br />
<li><strong>Coupler</strong>: Used in multi-stage rockets, a coupler joins two sections together.</li><br />
<li><strong>Centering ring</strong>: These can be used to support other components (e.g., a motor), in the centre of a larger tube.</li><br />
<li><strong>Bulkhead</strong>: This is a block of material that forms a stop or barrier between two different areas.</li><br />
<li><strong>Engine block</strong>: An engine block prevents the motor from moving forward in the motor mount tube.</li><br />
</ul><br /><br />
<br />
[[File:ComponentInner.png|thumb|800 px|centre|The <em>Inner Components</em> submenu.]] <br/><br />
<br />
==== Mass Objects ====<br />
<br />
Within <em>Mass objects</em> we have 4 component types. They are:<br /><br />
<br />
<ul><br />
<li><strong>Parachute</strong>: Like any good parachute, this component will stop your rocket from becoming scrap.</li><br />
<li><strong>Streamer</strong>: Another component for keeping your rocket safe, a streamer creates drag as your rocket falls down to earth.</li><br />
<li><strong>Shock cord</strong>: A shock cord secures the nose cone to the body of the rocket so that it isn't lost when the nose is blown off to deploy the parachute/streamer.</li><br />
<li><strong>Mass component</strong>: This is a block of mass used to adjust the rocket's Center of Gravity (CG). You can name it to whatever you want it to represent.</li><br />
</ul><br/><br />
<br />
[[File:ComponentMasses.png|thumb|800 px|centre|The <em>Mass Objects</em> submenu.]] <br/><br />
<br />
You have now had a brief run through the various components available for use in OpenRocket. The next section will deal with an example rocket. <br/><br />
<br />
<br />
== A <em>Simple Model Rocket</em> Example ==<br />
<br />
In this section we will look at the components used in the <em>A simple model rocket</em> example design. To get started, start OpenRocket and navigate to the main window. As a reminder it looks like this:<br />
<br />
[[File:Main_window.png|thumb|800 px|center|The Openrocket <em>main window</em>.]] <br/><br />
<br />
==== Opening Example Designs ====<br />
<br />
We'll begin by looking at how to find and load the example rockets within OpenRocket. Recall that this was also covered in the <em>Getting Started</em> section of this guide, but as a refresher the steps for doing this are as follows: <br /><br />
<ul><br />
<li>In the main window, click on the <strong>File</strong> menu at the top left.</li><br />
<li>Scroll down to <strong>Open Examples...</strong> open, and expand that menu. Here you will see a list of the available rocket design examples.</li><br />
</ul><br /><br />
Your screen should now look like this:<br />
<br />
[[File:OpenExample.png|thumb|800 px|center|Opening an <em> example rocket </em>]] <br/><br />
<br />
Click on first example, our <strong><em>Simple model rocket</em></strong>. A <em>Rocket configuration</em> window should appear, with the <em>Design Name</em> (A simple model Rocket) and <em>Designer</em> (Sampo Niskanen) fields populated. The <em>Comments</em> and <em>Revision History </em> fields will be blank. Click <strong>Close</strong>. You should now have successfully loaded the rocket and be able to see a 2D schematic in the <em>Rocket Design</em> window.<br />
<br />
[[File:After_complete_design.png|thumb|1000 px|center|Bottom half of the <em>Rocket design</em> window.]] <br/><br />
<br />
==== Components used in ‘A simple model rocket’ ====<br />
<br />
Now we will have a quick look through the components used in the example rocket. If you look towards the top left of the <strong>Rocket Design</strong> window you will see that there is a tree of components shown. By default they should all be fully expanded. If not, do so now.<br />
<br />
[[File:Structure.png|thumb|397 px|center|Top left-hand portion of the <em>Rocket design</em> window.]]<br/><br />
<br />
This image shows <em>A simple model rocket</em> at the top, followed by the <strong>Sustainer</strong>, which is <em>Stage 1</em> of the rocket. <br/><br />
<br />
If we look at the first component in the <em>Sustainer</em> stage we see that it is the nose cone. Double click on that now. This will bring up the <em>Nose cone configuration</em> window.<br />
<br />
[[File:ConfigNose.png|thumb|600 px|center|Nose Cone Configuration Window.]]<br/><br />
<br />
As we have already examined the <em>configuration window</em> we will not repeat ourselves here. However, you will see that in this example we have used an <strong>Ogive</strong> nose cone with a <em>Shape parameter</em> of 1.0. If you read the description of the component to the right in the configuration window, you will discover that a value of 1.0 produces a <strong>tangent ogive</strong>. <br/><br />
<br />
Moving down the window, you will see that the <strong>Nose cone length</strong> has a value of 10, the <strong>Base diameter</strong> has a value of 2.5, and the <strong> Wall thickness</strong> has a value of 0.2. All of these parameters have been set, in this example, to use centimeters (<strong>cm</strong>) as their unit. You should also see that this component is using <strong>Polystyrene</strong> as its material with a <strong>Regular paint</strong> finish. As you can see, the material has a density of 1.05 grams per centimeter cubed, and the paint is 60.0 micrometers thick. In the bottom left, the component <em>weight</em> is currently 13.2 grams. Go ahead and play around with the sliders to see how the component changes, and then change them back when you are finished. <br/><br />
<br />
If you move over to the <em>Shoulder</em> tab, you'll be able to see the size attributes of the shoulder. Again, you can play around with the sliders if you want--as long as you change them back to the original settings when you are finished. For reference these are <strong>2.3, 2.0</strong> and <strong>0.2</strong> centimeters, respectively. Also have a look through the rest of the tabs to see what has been selected. The only other thing to note is that the appearance has been customized. If you were to change to the <strong>3D Finished</strong> view type, you will see how the finished model looks. <br/><br />
<br />
Moving on to the <em>Body tube</em>, you can access its various attributes by double-clicking on it in the <em>Rocket design</em> window. Note how its various attributes have been set to create the current size. This is all fairly straightforward and as we have already looked into the various components earlier, we will not go into great detail here. <br/><br />
<br />
Note the eight other components that have been placed onto the <em>Body tube</em>. In descending order these are: <br/><br />
<ul><br />
<li><strong>Trapezoidal fin set</strong></li><br />
<li><strong>Inner Tube</strong></li><br />
<li><strong>Centering Ring</strong></li><br />
<li><strong>Centering Ring</strong></li><br />
<li><strong>Shock Cord</strong></li><br />
<li><strong>Parachute</strong></li><br />
<li><strong>Wadding</strong></li><br />
<li><strong>Launch lug</strong></li><br />
</ul><br /><br />
The <em>Inner Tube</em> in this design is used as a motor mount. You will see this if you go to the <strong>Motor</strong> tab in the <em>Inner Tube configuration</em> window. This means that a motor has been fitting into this piece. Upon inspection we can see that the current motor name is displayed in the <strong>Flight configuration</strong> drop-down list, on the right side of the main OpenRocket window. You can open this drop-down menu to select other motors that are available for use in this simulation, as well as the other example simulations that you will see on the <em>Flight simulation</em> tab. <br/><br />
<br />
The ninth component is place inside the <em>inner tube</em>. This is the engine block. If you look at the schematic of the rocket you will see that this is placed in front of the grey rectangle, which is the motor. To quickly address some of the other components, you will note that the recovery method used in this rocket is a <em>Parachute</em>: the red dashed rounded-rectangle near the nose cone of the rocket. Along with the parachute we have a <em>Shock cord</em>, which (as was discussed earlier) prevents loss of the nose cone upon deployment of the recovery system. This is shown as a long, black, dashed rounded-rectangle in the same general area as the parachute. The other black, dashed rounded-rectangle box is the <em>Wadding</em>, which is a mass component and is used here to bring the centre of gravity forward towards the nose. <br/><br />
<br />
We have now looked through the components used within the simple model rocket example. If you would like to see other available components, see <strong>Appendix A</strong>. Now that we are familiar with what makes up the rocket we will go ahead and build one from scratch! <br/><br/><br />
<br />
== Building ‘A simple model rocket’ ==<br />
<br />
In this section we will build up the example model from scratch. After you have completed this process, you should be able to apply what you've learned in order to make any basic rocket you want. So let’s begin... <br/><br />
<br />
Open a new project window so that everything is blank. The following are the steps that you will follow to create the rocket. <br/><br />
<br />
1) <strong>Select the nose cone</strong>. Change its type to <strong>Ogive</strong>, if that isn't already selected. Make sure that <em>Shape parameter</em>, <em>Nose cone length</em>, <em>base diameter</em>, and <em>Wall thickness</em> values are set to <strong>1.0</strong>, <strong>10.0</strong>, <strong>2.5</strong> and <strong>0.2</strong>, respectively. The units are centimeters by default, so we should not need to change these. Finally, change the <em>Component material</em> to <strong>Polystyrene</strong>. <br/><br />
<br />
2) Next, while still in the <em>Nose cone configuration</em> window, move to the <em>Shoulder</em> tab. Change the diameter to <strong>2.3</strong>, the length to <strong>2.0</strong>, and the thickness to <strong>0.2</strong>. Also, check the <strong>End capped</strong> box.<br/><br />
<br />
3) The last thing we have to do with the nose cone is to change its <em>Appearance</em>, so switch to that tab now. Leave the <em>Figure style</em> section unchanged but under the <em>Appearance</em> section, change the colour to one lighter than black. (Or to whatever you want, go crazy!) Then adjust the shine to 50%. That is all we need to change for now. <br/><br />
<br />
You should now see this in the view area at the bottom of the main OpenRocket window:<br />
<br />
[[File:NoseComplete.png|thumb|600 px|center|Nose Cone]] <br/><br />
<br />
4) Next, add the <em>Body tube</em>. The measurements for <em>length</em>, <em>outer diameter</em>, <em>inner diameter</em>, and <em>wall thickness</em> are <strong>30.0</strong>, <strong>2.5</strong>, <strong>2.3</strong>strong>, <strong>0.1</strong>, respectively. Note that it may be easier to enter the last two manually rather than use the spin boxes or sliders. Leave the <strong>Automatic</strong> and <strong>Filled</strong> boxes unchecked. The material should remain <strong>Cardboard</strong> and the finish should be <strong>Regular Paint</strong>. The only other thing you should change here is the appearance, but we'll leave that to you as an exercise. <br/><br />
<br />
You should now have this:<br />
<br />
[[File:BodyComplete.png|thumb|800 px|center|Nose Cone and Body]] <br/><br />
<br />
5) Moving on, we next need to add a <strong>Fin set</strong>. Make sure you have clicked on the <em>Body tube</em> so that it’s highlighted then click on the <strong>Trapezoidal</strong> component type. The <em>Trapezoidal fin set configuration</em> window will have appeared. Leave the left side of the window alone: the settings there are fine as-is. However, we will need to change some things on the right hand side. First, change the <em>Fin cross section</em> to <strong>Rounded</strong>. Also, reduce the <em>Thickness</em> to <strong>0.2</strong>. That’s all we need to do in this tab. Now move to the <em>Appearance</em> tab and customize to your preference.<br />
<br />
[[File:FinsComplete.png|thumb|800 px|center|Nose Cone, Body, and Fins]] <br/><br />
<br />
6) The next component we need to add is the <strong>Inner tube</strong>. Once again highlight the body tube and then click on the <em>Inner tube</em> component button. There are a couple of attributes we should change here. First, increase the <em>Length</em> value to <strong>7.5</strong>. Also, increase the <em>Plus</em> value to <strong>0.5</strong>. Leave everything else the same. <br/><br />
<br />
Now go to the <em>Motor</em> tab. There are a few things we need to add here. To start, check the <em>This component is a motor mount</em> checkbox. This will allow us to add motors. The next few steps may seem complicated but do not be daunted by them. First, we will deal with the easy part: Increase the <em>Motor overhang</em> to <strong>0.3</strong>. Now click <em>Close</em> button to close the <em>Inner Tube configuration</em> window. <br /><br />
<br />
<span id="motorconfig"></span><br />
Now click on the <strong>Motors & Configuration</strong> tab towards the left upper corner of the main OpenRocket window, just under the menu bar. On the resulting page, note the <em>Motors</em> tab towards the left upper corner. Make sure the <em>Inner T...</em> box is checked, and then click on the <em>New Configuration</em> button in the top center portion of the upper panel. You should see that a new configuration has been added to the list of configuration.<br />
<br />
[[File:MotorConfigs.png|thumb|1000 px|center|Motors & Configurations window]] <br/><br />
<br />
Left-click in the <em>Inner Tube</em> column, and then click the <strong>Select motor</strong> button just below the open panel on the right of the screen. The <em>Select a rocket motor</em> window now appears:<br />
<br />
[[File:MotorSelection.png|thumb|1000 px|center|Motor Selection window]] <br/><br />
<br />
To make sure your window looks the same as the one above, follow these steps:<br /><br />
<ul><br />
<li>Make sure the <em>Filter Motors</em> tab is selected in the top right corner of the window.</li><br />
<li>Click "Clear All", then select only the <strong>Estes</strong> option in the <em>Manufacturer</em> list.</li><br />
<li>Make sure that the <em>Total Impulse</em> slider is positioned over <strong>A</strong> (all the way to the left).</li><br />
<li>Check both the "Limit motor diameter to mount diameter" and "Limit motor length to mount length" boxes.</li><br />
<li>Look for the <strong>A8</strong> motor in list on the left side of the window. Click on it.</li><br />
<li>In the <em>Ejection charge delay</em> field at the top left, enter the value <strong>3</strong>.</li><br />
</ul><br />
<br />
Now click the <em>OK</em> button at the lower right corner of the window.<br /><br /><br />
<br />
If everything went to plan, you have successfully added the <strong>Estes A8-3</strong> motor to your rocket. Now repeat these steps for the following motors, using a <em>New Configuration</em> for each new motor you add:<br/><br />
<ul><br />
<li><strong>Estes B6-4</strong></li><br />
<li><strong>Estes C6-3</strong></li><br />
<li><strong>Estes C6-5</strong></li><br />
<li><strong>Estes C6-7</strong></li><br />
</ul><br />
<br /><br />
After you have added the rest of the motors, click back on the <em>Rocket design</em> tab just under the main menu. <br/><br />
<br />
<br />
7) The next component we will add is the <strong>Engine Block</strong>. This time make sure that the <em>Inner tube</em> is highlighted and then add an engine block component. Change the <em>Inner diameter</em> to <strong>1.2</strong> and the <em>Wall thickness</em> to <strong>0.3</strong>. Also, change the <em>Position relative to:</em> <strong>Top of the parent component</strong>. The last change we will make is to increase <em>plus</em> to <strong>0.2</strong>. That is all we have to do for this component. <br/><br />
<br />
Your rocket should now look like this:<br />
<br />
[[File:EngineBlockCompleted.png|thumb|800 px|center|Added the Engine Block]] <br/><br />
<br />
8) We will now add two <strong>Centering Rings</strong>. Make sure the <em>Body tube</em> is highlighted in the list of components under <em>Rocket design</em>, then click on the <em>Centering ring</em> component type. The first one is fine as-is, so we will not make any changes. However, we will add the following line under the <em>Comment</em> tab: <strong>The centering ring automatically takes the outer diameter of the body tube and the inner diameter of the inner tube.</strong> <br/><br />
<br />
Now click <em>Close</em>, select the body tube again and add another <em>Centering ring</em>. This time all we have to do is to change <em>plus</em> to <strong>-4.5</strong>. Also, add the same comment as for the first ring.<br />
<br />
[[File:CenteringRings.png|thumb|800 px|center|Added Centering Rings]] <br/><br />
<br />
9) The next component we will add is the <strong>Shock cord</strong>. As usual, make sure the <em>Body tube</em> is selected before adding the shock cord component. After it has been added change the <em>Plus</em> value to <strong>2</strong>, <em>Packed length</em> to <strong>5.2</strong>, and <em>Packed diameter</em> to <strong>1.2</strong>. Again, we will add a comment to this component. Enter the following line to the <em>Comment</em> section: <strong>The shock cord does not need to be attached to anything in particular, as it functions only as a mass component.</strong>. Click the <em>Close</em> button to close the window, as the shock cord has now been completed.<br />
<br />
[[File:ShockCordComplete.png|thumb|800 px|center|Added Shock Cord]] <br/><br />
<br />
10) Now we need to add the <strong>Parachute</strong>. With the body tube highlighted, add a parachute component. Change <em>Plus</em> to <strong>3.2</strong>, <em>Packed length</em> to <strong>4.2</strong> and <em>Packed diameter</em> to <strong>1.8</strong>. That is everything we need to do to the parachute. Click <em>Close</em> to close the window. You can see what your rocket should now look like below.<br />
<br />
[[File:ParachuteAdded.png|thumb|800 px|center|Added Parachute]] <br/><br />
<br />
11) The second-to-last component to add is a <strong>Mass Component</strong>. Go ahead and add one to the body tube now. Adjust the <em>Mass</em> to <strong>2</strong> grams (g), the <em>Approximate density</em> to <strong>0.16</strong> g/cm^3, the <em>length</em> to <strong>3.0</strong>, the <em>diameter</em> to <strong>2.3</strong> and finally the <em>Plus</em> value to <strong>8.0</strong>. It may be easier to enter these manually. The last thing you have to do is to rename it from ‘Unspecified’ to <strong>Wadding</strong>. Leave everything else as it is and click the <em>Close</em> button.<br />
<br />
[[File:AddedMass.png|thumb|800 px|center|Added Mass]] <br/><br />
<br />
12) Almost done! One final component left to add: the <strong>Launch lug</strong>. Add this to the body tube now. Change the <em>Length</em> to <strong>3.5</strong>, the <em>Outer diameter</em> to <strong>0.7</strong>, and the <em>inner diameter</em> to <strong>0.5</strong>. Leave the <em>Thickness</em> as it is. Also, change the <em>Radial position</em> to <strong>19</strong> degrees. Click <em>Close</em>.<br />
<br />
[[File:LaunchLugAdded.png|thumb|800 px|center|Added Launch Lug]] <br/><br />
<br />
And that’s all there is to it. You have just completed building your first rocket within OpenRocket! From here you can use what you know to create more rockets, or you can proceed to the next section of the User Guide: [[Basic Flight Simulation]]. Have fun!<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Getting Started|&larr; Getting Started]]</div><br />
<div style="float: right;">[[Basic Flight Simulation|Basic Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Miscellaneous&diff=34553Miscellaneous2021-03-10T03:41:29Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Appendix B: Component Details &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
==11. Other Stuff==<br />
''Adding motors to the database, motor and design sources, anything else that doesn't fit in elsewhere...'' <br /><br />
''The title of this chapter desperately needs changing to something better when we know what other content will be going in it.''<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Appendix B: Component Details &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Getting_Started&diff=34552Getting Started2021-03-10T03:40:22Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Downloading & Installing|&larr; Downloading & Installing]]</div><br />
<div style="float: right;">[[Basic Rocket Design|Basic Rocket Design &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section we have a look at how OpenRocket is organized, by analyzing in detail the structure of the <strong>user interface</strong>. We will also briefly mention the <strong>Example projects</strong> that are accessible from the <em>File</em> menu. After reading this section you will have a thorough understanding of how OpenRocket is structured, and will be ready to start designing a rocket of your own. If you already know how this program is organized, feel free to jump to [[Basic Rocket Design]], the next section.<br />
<br />
<br />
= The User interface =<br />
<br />
In this subsection we first briefly discuss the <strong><em>Rocket Configuration</em></strong> window, and then OpenRocket's <strong><em>main window</em></strong> and the <em>main window</em>'s four <strong>menus</strong>. <br /><br />
<br />
<br />
== The <em>Rocket Configuration</em> window ==<br />
<br />
You can double-click the rocket's name in the main window, to enter information about your design in the Rocket Configuration window:<br />
<br />
<br />
[[File:Rocket_configuration.png|thumb|600 px|center|The <em>Rocket Configuration</em> window.]]<br />
<br />
<br />
It's a good idea to fill in this information when you start a new rocket project. Fill in the four fields (or you can leave all, except the <em>Design name</em>, blank if you wish), and click the <em>close</em> button. <br /><br />
<br />
== OpenRocket's <em>main window</em> ==<br />
<br />
You now have access to the <strong>OpenRocket <em>main window</em></strong>.<br />
<br />
<br />
[[File:Main_window.png|thumb|800 px|center|The OpenRocket <em>main window</em>.]]<br />
<br />
<br />
Notice there are three tabs in the top of the window. These tabs allow you to switch between the <em>Rocket design</em>, <em>Motors and Configuration</em>, and <em>Flight simulations</em> windows. <br /><br />
<br />
<br />
=== The <em>Rocket design</em> window ===<br />
{{anchor|rocketdesignwindow}}<br />
For the moment, let's focus on the <em>Rocket design</em> window. This window is organized in the following way: <br /><br />
- in the bottom half of the window there is a large white space. This is where a 2D image of the rocket you are designing will appear. <br /> <br />
- in the top-left part of the window, the rocket's <strong>stages</strong> and <strong>components</strong> are shown. When you start a new project, the rocket contains only one stage (i.e.; the <strong>sustainer</strong>) but no components. <br /><br />
- in the top-right part of the window, all the <strong>body components</strong> and <strong>fin sets</strong>, <strong>inner components</strong>, and <strong>mass objects</strong> that you can add to the rocket are shown. Notice that it's not possible to add all of these objects to the rocket at any particular stage of the rocket design. Exactly which components can be added when will be explained later in this guide. <br /><br /><br />
<br />
Now let's have a closer look at the bottom half of the <em>Rocket design</em> window. When you add a component to your rocket, it will be immediately displayed, as shown below:<br />
<br />
<br />
[[File:After_first_component.png|thumb|1000 px|center|Bottom half of the <em>Rocket design</em> window after adding a <strong>nose cone</strong>.]]<br />
<br />
<br />
Notice the <strong>rulers</strong> around the borders. These give you an idea of the dimensions of your rocket. <br /><br /><br />
<br />
As you can see, in addition to the appearance of your rocket, the <em>Rocket design</em> window also shows some other useful information as well. This includes the rocket's <strong>dimensions</strong>, <strong>mass</strong>, <strong>apogee</strong>, <strong>max. velocity</strong>, <strong>max. acceleration</strong>, <strong>stability</strong>, <strong>center of gravity</strong> (<strong>CG</strong>), and <strong>center of pressure</strong> (<strong>CP</strong>). <br /><br /><br />
<br />
In the top left-hand corner of the previous image there are two buttons: <em>Side view</em> and <em>Back view</em>. These allow you to visualize the rocket from two different positions. Next to these buttons you can find the <em>zoom-regulation commands</em> and then one <em>Stage i</em> button for each <strong>Stage</strong> in your rocket. Selecting/deselecting each of these allows you to include or exclude each stage from the picture. On the left of the previous image you can also see a scroll bar that allows you to rotate the rocket up to 360°. <br /><br /><br />
<br />
Finally, notice the drop-down list in the top right-hand corner of the previous image. This allows you to choose which of your <strong>motor configurations</strong> to apply to the rocket you have designed (more on this later). The image below shows how the bottom half of the <em>Rocket design</em> window appears after the rocket design has been completed.<br />
<br />
<br />
[[File:After_complete_design.png|thumb|1000 px|center|Bottom half of the <em>Rocket design</em> window after completing the rocket's design (taken from the <em>A simple model rocket</em> example design).]]<br />
<br />
<br />
In this image, the rocket's <strong>body components</strong> and <strong>fin sets</strong> are represented with a continuous blue line; the rocket's <strong>inner components</strong> are represented with a continuous red line (the <strong>inner tube</strong> is also filled in with a grey background); and the <strong>mass objects</strong> are represented with either black or red dotted lines. It is also possible to customize the colour in which each part is represented, as will be shown later on. The image below shows how the top left-hand portion of the <em>Rocket design</em> window looks after the rocket design has been completed.<br />
<br />
<br />
[[File:Structure.png|thumb|397 px|center|Top left-hand portion of the <em>Rocket design</em> window after completing the rocket's design (taken from the <em>A simple model rocket</em> example design).]]<br />
<br />
<br />
As you can see, the rocket's components have a tree-like structure: <br /><br />
- the <strong>Rocket</strong>, called <em>A simple model rocket</em>, has only one stage: the <strong>Sustainer</strong>. <br /><br />
- the <strong>Sustainer</strong> contains two <strong>body components</strong>: a <strong>Nose cone</strong> and a <strong>Body tube</strong>. <br /><br />
- the <strong>Body tube</strong> contains a <strong>fin set</strong> (in particular a <strong>Trapezoidal fin set</strong>), a <strong>Launch lug</strong>, three <strong>inner components</strong> (an <strong>Inner Tube</strong> and two <strong>Centering rings</strong>), and three <strong>mass objects</strong> (a <strong>Shock cord</strong>, a <strong>Parachute</strong>, and a <strong>Wadding</strong>). <br /><br />
- the <strong>Inner tube</strong> contains an <strong>Engine block</strong>. <br /><br />
This tree-like structure will be discussed further later in this guide. <br /><br /><br />
<br />
The buttons visible on the left in the previous image have pretty straightforward functions. By selecting one of the rocket's components you can change its position in the list of components (but <strong>not</strong> its position in the rocket) by using the <em>Move up</em> and <em>Move down</em> buttons. You can also edit its characteristics (e.g., dimensions, material, mass, colour used to represent it within the rocket) by using the <em>Edit</em> button--or you can delete it from the rocket completely using the <em>Delete</em> button. Notice that none of these buttons is active in the above image, since no component has been selected.<br /><br /><br />
<br />
You can also add an extra stage to your rocket by clicking the <em>New stage</em> button.<br />
<br />
=== The <em>Flight simulations</em> window ===<br />
<br />
Now we have a look at the <em>Flight simulations</em> window, which you can access by selecting the <em>Flight simulations</em> tab in the top left-hand corner of the <em>OpenRocket main window</em>. Before designing your rocket or running any flight simulation, the <em>Flight simulations</em> window looks like this:<br />
<br />
<br />
[[File:Empty_simulations.png|thumb|800 px|center|The <em>Flight simulations</em> window before designing the rocket and running any simulation.]]<br />
<br />
<br />
Notice that the bottom part of the window does not change when switching from the <em>Rocket Design</em> window to the <em>Flight simulations</em> window. Hence we only need to analyze the top part of the window. Here, most of the space is occupied by a currently blank space, where the technical details about your simulations will appear. Above this space there are five buttons, which allow you to <strong>program a new simulation</strong> (<em>New simulation</em>), <strong>edit a selected simulation</strong> (<em>Edit simulation</em>), for example by changing motor configuration or some atmospheric condition, <strong>run all the simulations you have programmed</strong> (<em>Run simulations</em>), <strong>remove the selected simulations</strong> (<em>Remove simulations</em>), or either <strong>plot or export some of the results of a selected simulation</strong>(<em>Plot/export</em>). (More on exporting simulation results in [[Rocket Analysis]].)<br /> <br /><br />
<br />
The image below shows how the top part of the <em>Rocket Design</em> window looks after you have designed your rocket, programmed some simulations and run them.<br />
<br />
<br />
[[File:Simulations.png|thumb|1000 px|center|The top half of the <em>Flight simulations</em> window after having programmed and run some simulations (taken from the <em>A simple model rocket</em> example design).]]<br />
<br />
<br />
Notice that five of the six simulations that have been run have a green tick on the left: this means that the simulation has been completed without any <strong>warnings</strong>. Conversely, if the simulation has generated some <strong>warning</strong> while being run, a red exclamation mark is shown (as for the third simulation in the image above). To find out the more about the warning, mouse-over the simulation (without clicking) as shown in the image below.<br />
<br />
<br />
[[File:Warning.png|thumb|1000 px|center|More information about <strong>warnings</strong> in the <em>Flight simulations</em> window.]]<br />
<br />
<br />
It is possible to change the position of the columns containing the various technical simulation data by simply dragging any column left or right, as shown below:<br />
<br />
<br />
[[File:Columns.png|thumb|465 px|center|Moving columns in the <em>Flight simulations</em> window.]]<br />
<br />
<br />
== The <em>main window</em>'s menus ==<br />
<br />
We now analyze the four <em>main window</em>'s menus, briefly explaining the function of each of the menus' options.<br />
<br />
<br />
=== The <em>File</em> menu ===<br />
<br />
The image below shows the options offered by the <strong><em>File</em></strong> menu, located in the top left-hand corner of OpenRocket's <em>main window</em>.<br />
<br />
<br />
[[File:File.png|thumb|219 px|center|The <em>File</em> menu.]]<br />
<br />
<br />
The function of each option in the <em>File</em> menu is pretty straightforward to understand: <br /><br />
- <strong><em>New</em></strong> allows you to start a new project, without closing the project that is currently open. <br /><br />
- <strong><em>Open...</em></strong> allows you to open a <em>*.ork</em> file that you have saved on your computer. <br /><br />
- <strong><em>Open example...</em></strong> allows you to open one of the example projects (more on these later). <br /><br />
- <strong><em>Save</em></strong> saves the changes you have made to a previously-saved project. <br /><br />
- <strong><em>Save as...</em></strong> allows you to save the project you are working on to a new <em>*.ork</em> file. <br /><br />
- <strong><em>Print/Export PDF</em></strong> opens a window like the one shown below (if you have already completed your rocket's design). From here you can select what to include in your print/PDF file; such as technical details of your rocket's components, templates of your rocket's fin sets or even the design of your rocket. We suggest you try this option with one of the example projects to understand how each of these is represented when printing/exporting to PDF. More on printing and exporting to PDF in [[Rocket Analysis]].<br />
<br /><br />
- <strong><em>Close</em></strong> closes the current project (after asking for confirmation if there are unsaved changes). This will also exit the application if there was only one project open. <br /><br />
- <strong><em>Quit</em></strong> exits the application, checking that you have saved all open projects.<br />
<br />
<br />
[[File:PDF.png|thumb|431 px|center|The window that opens when <em>Print/Export PDF</em> is selected.]]<br />
<br />
<br />
=== The <em>Edit</em> menu ===<br />
<br />
The image below shows the options offered by the <strong><em>Edit</em></strong> menu.<br />
<br />
<br />
[[File:Edit.png|thumb|154 px|center|The <em>Edit</em> menu.]]<br />
<br />
<br />
These options are mostly the classic editing options: undo/redo some action (<strong><em>Undo</em></strong>/<strong><em>Redo</em></strong>) and cut/copy/paste/delete some element (<strong><em>Cut</em></strong>/<strong><em>Copy</em></strong>/<strong><em>Paste</em></strong>/<strong><em>Delete</em></strong>). We also have the following options: <br /><br />
- <strong><em>Scale...</em></strong> opens the window shown below. Here you can choose to scale your rocket's size by some percentage (you can select from a range of 25% to 400%), starting from a specified dimension that can either be the one the rocket currently has or one you specify. By checking or unchecking the <em>Update explicit mass values</em> box, you can also decide whether or not the rocket's mass should be updated when scaling its volume.<br />
<br />
<br />
[[File:Scale.png|thumb|350 px|center|The <em>Scale</em> window.]]<br />
<br />
<br />
- <strong><em>Preferences</em></strong> opens the <em>Preferences</em> window, as shown below. At the top of this window there are seven tabs which allow you to switch between various preference panes.<br />
<br />
From the <em>General</em> pane, you can change the <strong>Interface Language</strong> to one of 13 translations. You'll need to restart OpenRocket to make the change take effect.<br />
<br />
You can also load <strong>User-defined thrust curves</strong>, for motors not yet represented in OpenRocket's library.<br />
<br />
From this pane, you can also check for an <strong>Update</strong>, or set your preferences for <strong>Update checking</strong>.<br />
<br />
<br />
<div style="background-color:#FFFF00;border:1px solid black;margin:5px;padding:5px;"><strong>At this writing (December 2020), OpenRocket 15.03 tries to contact an out-of-date update source, and will not find future updates</strong>.<br />
<br/>You should <em>un-check</em> this box, and periodically check [http://openrocket.info/ OpenRocket.info] for information on the latest version.</div><br />
<br />
<br />
[[File:Prefs-General.png|thumb|1000 px|center|The <em>General</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The <strong>Design</strong> tab brings up a preference pane where you can tell OpenRocket where to <strong>Position new body components</strong>, the default <strong>Size of text</strong>, the <strong>Default Mach number</strong> for Center of Pressure estimation, and OpenRocket's behavior in the <em>Design</em> window.<br />
<br />
<br />
[[File:Prefs-Design.png|thumb|1000 px|center|The <em>Design</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The <strong>Simulation</strong> tab brings up a preference pane where you can control OpenRocket's behavior when working with simulations, and the options it uses for calculation in the <em>Flight simulations</em> window.<br />
<br />
<br />
[[File:Prefs-Simulation.png|thumb|1000 px|center|The <em>Simulation</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The <strong>Launch</strong> tab brings up a preference pane where you can fix OpenRocket's default <strong>Wind</strong>,<strong>Atmospheric conditions</strong>, <strong>Launch site</strong>, and <strong>Launch rod</strong>, as used in the <em>Flight simulations</em> window.<br />
<br />
<br />
[[File:Prefs-Launch.png|thumb|1000 px|center|The <em>Launch</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The <strong>Units</strong> tab brings up a preference pane where you can set your <strong>preferred units</strong> for every parameter, and completely reset <strong>metric</strong> or <strong>imperial</strong> units as used in all <em>OpenRocket</em> inputs.<br />
<br />
<br />
[[File:Prefs-Units.png|thumb|1000 px|center|The <em>Units</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The picture below shows the <em>Materials</em> pane of the <em>Preferences</em> window. Here you can manage all of the available materials for the rocket component, by either <strong>editing the characteristics</strong> of the materials (i.e., their name and density) through the <em>Edit</em> button, or you can <strong>delete</strong> a material through the <em>Delete</em> button. You can also <strong>add new materials</strong> if you wish, by clicking the <em>New</em> button and setting the material's name, type and density.<br />
<br />
<br />
[[File:Materials.png|thumb|1000 px|center|The <em>Materials</em> pane of the <em>Preferences</em> window.]]<br />
<br />
<br />
The <strong>Graphics</strong> tab brings up a preference pane where you can choose your preferred <strong>Graphics Editor</strong> (for example, Photoshop, MS-Paint, GIMP, Affinity Photo, etc.), and enable and set parameters for <strong>3D Graphics</strong> in the <em>Rocket design</em> window.<br />
<br />
<br />
[[File:Prefs-Graphics.png|thumb|1000 px|center|The <em>Graphics</em> pane of the <em>Preferences</em> window.]]<br />
<br />
=== The <em>Tools</em> menu ===<br />
<br />
The image below shows the options offered by the <strong><em>Tools</em></strong> menu.<br />
<br />
<br />
[[File:ToolsMenu.png|thumb|173 px|center|The <em>Tools</em> menu.]]<br />
<br />
<br />
- The <strong><em>Component analysis</em></strong> option opens a window like the one shown below. Here, technical information for the rocket's <strong>external components</strong> and fin sets is displayed. Using the scroll bars in the top half of the window you can also change some parameters, such as <strong>wind direction</strong>, <strong>angle of attachment</strong>, <strong>mach number</strong> and <strong>roll rate</strong>. More on the <em>component analysis</em> window in [[Rocket Analysis]].<br />
<br />
<br />
[[File:Component analysis.png|thumb|812 px|center|The <em>Component analysis</em> window, opened from the <em>A simple model rocket</em> example design.]]<br />
<br />
<br />
- The <strong><em>Rocket optimization</em></strong> option opens a window like the one shown below. From here you can optimize the performance of your rocket by selecting exactly which performance to optimize from the <strong><em>Optimized</em></strong> drop-down list. More on the <em>rocket optimization</em> window in [[Rocket Analysis]].<br />
<br />
<br />
[[File:Optimization.png|thumb|992 px|center|The <em>Optimization</em> window, opened from the <em>A simple model rocket</em> example design.]]<br />
<br />
<br />
- The <strong><em>Custom expressions</em></strong> option opens a window for adding and editing custom expressions, as shown below. In OpenRocket, you're not limited to using 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. More on the <em>Custom Expression</em> window in [[Custom Expressions]].<br />
<br />
<br />
[[File:CustomExpressions.png|thumb|731 px|center|The <em>Custom Expressions</em> window.]]<br />
<br />
<br />
- OpenRocket's <strong><em>Photo Studio</em></strong> (seen below) lets you visualize your rocket in flight, over a variety of backgrounds, in a variety of attitudes and lighting. Effects let you customize its engine exhaust and the way it's depicted. You can adjust parameters with the dialog panel, and adjust the view with the mouse. The best way to learn about the Photo Studio is to start playing with it - it's pretty fun, and if you've given your rocket color and assigned realistic materials, it can look very good!<br />
<br />
<br />
[[File:PhotoStudio.png|thumb|1000 px|center|The <em>Photo Studio</em> window.]]<br />
<br />
<br />
=== The <em>Help</em> menu ===<br />
<br />
The image below shows the options offered by the <strong><em>Help</em></strong> menu.<br />
<br />
<br />
[[File:Help.png|thumb|424 px|center|The <em>Help</em> menu.]]<br />
<br />
<br />
The functions of the options in the <em>Help</em> menu are as follow: <br /><br /><br />
- <strong><em>Guided tours</em></strong> opens a window containing guided tours of some of OpenRocket's functionality. These tours are works in progress, and not exhaustive. <br /><br />
<br />
<br />
[[File:GuidedTours.png|thumb|738 px|center|The <em>Guided Tour</em> panel, with a tour open.]]<br />
<br />
<br />
<br />
- <strong><em>Bug report</em></strong> opens a bug report form that you can complete and email to the developers. <br /><br />
<br />
<br />
<div style="background-color:#FFFF00;border:1px solid black;margin:5px;padding:5px;"><strong>At this writing (December 2020), OpenRocket 15.03 tries to contact an out-of-date bug-submission page, and will not submit the bug</strong>. You may see an error dialog with an email address. <strong>Do not</strong> submit to this email - it's not monitored.<br />
<br/>Instead, fill out the report with steps to trigger, description, etc., then copy the text from this window and file your bug report as an issue at [https://github.com/openrocket/openrocket/issues OpenRocket's Issue List] on github.</div><br />
<br />
<br />
[[File:BugReport.png|thumb|931 px|center|The <em>Bug Report</em> panel]]<br />
<br />
<br />
- <strong><em>Debug log</em></strong> opens the OpenRocket debug log. The debug log is mostly of interest to developers. The log window lets you filter to see all kinds of information about what OpenRocket is doing.<br /><br />
<br />
<br />
[[File:DebugLog.png|thumb|1408 px|center|The <em>Debug Log</em> panel.]]<br />
<br />
<br />
- <strong><em>License</em></strong> opens a window containing OpenRocket's license. <br /><br />
- <strong><em>About</em></strong> opens a window containing summary information about this project. <br /><br /><br />
<br />
= The Example projects =<br />
<br />
By now you should have a good idea of how OpenRocket's user interface is structured, so you might feel ready to start designing your own rocket (see next section)--and probably you are indeed ready. Nonetheless we suggest you have a look at some pre-designed example rockets that we have provided. To do this, simply select <em>File</em> -> <em>Open example...</em> and the window shown in the image below will appear.<br />
<br />
<br />
[[File:Example.png|thumb|1000 px|center|The <em>Open example...</em> window.]]<br />
<br />
<br />
Select one or more of the listed rockets (we suggest that you start with <em>A simple model rocket</em>), then click <em>Open</em>. Now have a closer look at the various windows discussed in this section, and note how they change when you choose another example project. This should give you an idea of how to best use this application, and maybe even give you some new ideas for your future rockets! <br /><br /><br />
<br />
Now that you know how this program is structured, you can <strong>start using OpenRocket to design your own rockets</strong>. How to do this will be the topic of the next section, [[Basic Rocket Design]].<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Downloading & Installing|&larr; Downloading & Installing]]</div><br />
<div style="float: right;">[[Basic Rocket Design|Basic Rocket Design &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Downloading_%26_Installing&diff=34551Downloading & Installing2021-03-10T03:39:39Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Introduction|&larr; Introduction]]</div><br />
<div style="float: right;">[[Getting Started|Getting Started &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
== General ==<br />
<br />
OpenRocket is available for Windows, macOS and Linux. The easiest way to get OpenRocket is to download and install one of the packaged installers. The Packaged Installers for OpenRocket come with everything they need. You <em>don't</em> need to install, update or downgrade Java on your machine to run them.<br />
<br />
=== Windows ===<br />
<br />
[https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03-installer.exe OpenRocket 15.03 Installer for Windows]<br />
<br />
Download the installer, run it to install OpenRocket, much like other Windows installers.<br />
<br />
=== macOS ===<br />
<br />
[https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03.dmg OpenRocket 15.03 Application DiskImage for macOS]<br />
<br />
Download the DiskImage, open it, and you'll see a big icon for OpenRocket, and a shortcut to your Application folder. Drag OpenRocket to the Application Folder, let it finish copying, and you're done.<br />
<br />
=== Linux ===<br />
<br />
[https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03.AppImage OpenRocket 15.03 AppImage for Linux]<br />
<br />
You will need to have the FUSE filesystem installed; most distributions have it installed by default. Download the AppImage file, [https://appimage.org/ make it executable] and you can run it by double-clicking, or from the command line.<br />
<br />
=== Java "jar" file ===<br />
<br />
OpenRocket 15.03 requires '''Java Version 6''' or better to run (but does not run with Java versions greater than '''Java Version 8''').<br />
<br />
At this writing (Mar 2021) these versions of Java are <em>very</em> old.<br />
<br />
The easiest path is to <strong>skip</strong> the <strong>jar</strong> installation, and instead use the <strong>[https://github.com/openrocket/openrocket/releases packaged installers]</strong> for your platform, until an updated release of OpenRocket is available.<br />
<br />
==== Java "jar" version - <em>not recommended at this time</em> ====<br />
<br />
# [https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03.jar Download] the OpenRocket application.<br />
# Copy it to a convenient folder.<br />
# Make the .jar file executable (right-click on .jar file, select "Properties", go to the Permissions tab and check the "Allow executing file as program" box).<br />
# Start OpenRocket by either double-clicking the .jar file, or right-clicking the .jar file, and selecting "Open with Sun Java6 Runtime".<br />
If the default is set to open with the Archive Manager, then right-click, select "Open with other application", then select "Open with Sun Java6 Runtime", and check the box to make that the default. In future, it should be possible to just double-click to start OpenRocket.<br />
<br />
Alternatively you may start OpenRocket from the command line:<br />
<pre>java -jar OpenRocket-15.03.jar</pre><br />
<br />
Or, if you are not currently in the same directory as the .jar file, replace '/path/to/' by the appropriate path on your system:<br />
<pre>java -jar /path/to/OpenRocket-15.03.jar</pre><br />
<br />
== Linux Users ==<br />
<br />
=== AppImage ===<br />
<br />
The AppImage is the preferred way to obtain OpenRocket for Linux at this time, as OpenRocket 15.03 requires an old version of Java (Java 8) which is not installed by default in most distributions.<br />
<br />
=== Ubuntu/Debian Repository ===<br />
<br />
''Note that if you install OpenRocket from a repository as in the following instructions, it will likely not work since it requires an older version of Java than is commonly distributed today. Our next release is targeting newer versions of Java, and hopefully this will become a useful approach to installing again at that time.''<br />
<br />
If you are running a recent version of Ubuntu or Debian, then OpenRocket can be easily installed using the Ubuntu Software Center or Synaptic (etc.). Please note that the version in the distribution repository ''may not be the latest version''. Alternatively you may install OpenRocket from the command line:<br />
<pre>sudo apt-get install openrocket</pre><br />
<br />
or<br />
<br />
<pre>sudo apt install openrocket</pre><br />
<br />
To start OpenRocket, simply select it from the Applications menu.<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Introduction|&larr; Introduction]]</div><br />
<div style="float: right;">[[Getting Started|Getting Started &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Basic_Flight_Simulation&diff=34550Basic Flight Simulation2021-03-10T03:38:10Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|&larr; Basic Rocket Design]]</div><br />
<div style="float: right;">[[Advanced Rocket Design|Advanced Rocket Design &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section we'll take a quick look at running a basic <strong>Flight Simulation</strong>.<br />
<br />
=== Why simulate? ===<br />
<br />
Simulations are often used by mid- and high-power rocketeers to determine <em>what altitude</em> a rocket and motor combination will attain, in order to keep it below the maximum launch waiver altitude, or below cloud cover, or just so it won't disappear miles downwind on the breeze.<br />
<br />
They're also often used to determine how long an <em>ejection delay</em> needs to be, if you're using motor ejection.<br />
<br />
You may not have simulated flights on your Estes A, B and C motors, but once you start buying and assembling some of the many motors you could choose for mid- or high-power rocketry, you'll need to simulate regularly.<br />
<br />
OpenRocket can do the basic simulations for altitude, velocity off the rod/rail, optimum delay with just a few clicks. But if you'd like to get more deeply into simulation, OpenRocket can graph flight parameters, take local wind speed and direction into account, and a <em>lot</em> more.<br />
<br />
If you already know how run basic simulations, you can jump to the [[Advanced Rocket Design|next section]].<br/> <br/><br />
<br />
== Running a simple simulation ==<br />
<br />
===The Flight Simulations window===<br />
Below you'll see a picture of the <strong>Flight Simulations</strong> window. We're using the <em>A Simple Model Rocket</em> example here, and it includes the list of simulations pictured. <br /><br /><br />
<br />
[[File:SimOverview.png|thumb|800 px|center|The <em>Flight Simulations</em> window.]] <br /><br />
<br />
In the Flight Simulations window, you'll see the simulations listed, initially in Name order. Note that the second column is "Configuration" - the name of the configuration used in the sim, usually named for the rocket motor used in that configuration. The remaining values in the simulation's row are calculated by "running" the simulation. You can run one simulation by selecting a sim and clicking the <strong>Run simulations</strong> button: <br /><br /><br />
<br />
[[File:RunOne.png|thumb|800 px|center|Running One Simulation.]] <br /><br />
<br />
...or run them all at once by selecting more than one...<br /><br /><br />
<br />
[[File:RunAll.png|thumb|800 px|center|Running <em>All</em> Simulations.]] <br /><br />
<br />
...or run them in any combination you choose. <br />
<br />
===Simulation Results===<br />
<br />
Below you'll see the <em>Simulation Results</em>. Note that the indicator at each simulation has turned green, and that beside every working simulation, you'll see a check mark. <br />
<br />
Note also that Simulation 3 has an <em>exclamation point</em> instead of a check mark. This is because the simulation reveals that the motor delay is so short that the rocket will be moving very fast when the parachute comes out. This will usually cause severe damage to a rocket - called a "<em>zipper</em>", where the pulled-taut shock cord cuts a rough slot in the tube as the chute deploys while the rocket continues to move rapidly forward. <br /><br /><br />
<br />
[[File:SimResults.png|thumb|800 px|center|Simulation Results.]] <br /><br />
<br />
OpenRocket can detect several conditions which will mark a simulation as non-working. For example:<br />
<br />
<ul><br />
<li>Too slow off launch rod - unstable launch</li><br />
<li>Too short a delay - early deploy of chute, zipper, damage or separation likely</li><br />
<li>Too long a delay - late deploy of chute, zipper, damage, separation or hard ground-hit likely</li><br />
<li>Ground-hit velocity too high - damage, and potential danger to ground personnel</li><br />
</ul><br />
<br />
These are common failure conditions, but are not intended to be an exhaustive list. <br /><br />
<br />
==Motors & Configuration==<br />
<br />
To simulate a new motor (or motors) you'll start a <strong>New Configuration</strong>, by clicking the button with that name. Next to that button are buttons that let you <strong>Rename Configuration</strong>, <strong>Remove Configuration</strong> (i.e. <em>delete</em> it from your project), and <strong>Copy Configuration</strong>. They work about like you'd imagine, on the configuration you've selected.<br />
<br />
Below, you see the <strong>Motors & Configuration</strong> tab for <em>A Simple Model Rocket</em>, just after clicking <strong>New Configuration</strong><br /><br /><br />
<br />
[[File:NewConfiguration.png|thumb|800 px|center|Starting a new configuration.]] <br /><br />
<br />
From here, you can choose to <strong>Select motor</strong>, <strong>Remove motor</strong>, <strong>Select ignition</strong>, or <strong>Reset ignition</strong>.<br />
<br />
Notice that in the <strong>Motor mounts</strong> section of the <strong>Motors & Configuration</strong> panel, you can see that the <strong>Inner Tube</strong> is selected as the single motor mount tube.<br />
<br />
More complex models with more motor mount tubes offer you the chance to fly with multiple motors in <em>Clusters</em> and <em>Airstarts</em>. The example model rockets in the <strong>File</strong> menu illustrate these multiple motor configurations. To learn more about how multiple motors are handled, we suggest you load one of these example models and inspect the simulation and motor mount tube settings.<br />
<br />
===Select motor===<br />
<br />
Clicking <strong>Select motor</strong> brings up the <strong>Motor Selection</strong> panel, as shown below.<br /><br /><br />
<br />
[[File:SelectAnyMotor.png|thumb|700 px|center|Motor Selection panel.]] <br /><br />
<br />
From this panel, you can select from many different motors, from many different manufacturers. There are a BUNCH of motors listed, but don't worry: the gadgets on this panel can help make your selection much easier.<br />
<br />
Ignore <strong>Ejection charge delay</strong> for now. It is one of the most important settings on the page, but we'll come back to it.<br />
<br />
On the left, we see a list of the motors available to OpenRocket, given the filter settings on this page. The list can be sorted by any column, by clicking the column headers.<br />
<br />
Below the list of motors is a <strong>Search</strong> box, which allows you to do a free-text search against the current list of motors.<br />
<br />
On the right, the <strong>Hide motors already used in the mount</strong> checkbox will help you avoid creating multiple simulations for the same motor. One is usually enough.<br />
<br />
In the <strong>Manufacturer</strong> section, you can filter to show only motors from particular manufacturers. This is especially important if you're using reloadable rocket motors: if you want to fly, for example, an AeroTech reloadable motor, only AeroTech reloads will be of use to you in this chart.<br />
<br />
The <strong>Total Impulse</strong> selector lets you limit the list to the range of motors you want to see. No point in listing E- through O-impulse motors for <em>A simple model rocket</em>: they won't fit (and most of them would tear the rocket to shreds if they did).<br />
<br />
The <strong>Motor Dimensions</strong> gadgets let you further filter the list to only motors that have the desired mechanical fit in your rocket. There's no point in trying to fit a motor that is larger diameter than your motor mount tube, though it's quite common to search for motors that are <em>smaller</em> than the maxim motor diameter for a given rocket, and use an adaptor to bring the motor up to size for the right mechanical fit.<br />
<br />
The motor you select on this page has a characteristic mass, and other characteristics which affect both your simulation, and the total weight and center of mass of your rocket as shown on the <strong>Rocket Design</strong> page. From that page, you can select any of your configurations to see the effect on weight and stability.<br />
<br />
====Ejection charge delay====<br />
<br />
Finally, to <strong>Ejection charge delay</strong>. One of the very common uses for OpenRocket simulations is to determine how long a delay a motor must have for a successful flight. Too early or too late and the rocket could try to open the chute while it's moving quickly, causing damage. Way too late or not at all, and the rocket will crash.<br />
<br />
<strong>Ejection charge delay</strong> will have a list of available off-the-shelf ejection charge delays for the motors in the list, but it's also a free-text field, where you can enter a particular delay in seconds.<br />
<br />
<div style="float:left; margin:.25rem 1rem .25rem 0;">[[File:OptimumDelay.png|thumb|170 px|center|The Optimum Delay column.]]</div><br />
<br />
Some motors allow the flyer to pick a standard delay time, and offer tools to reduce the delay. For example, the AeroTech RMS motors might offer a 10-second delay, but their delay drilling tool allows the flyer to remove 8, 6, 4, or 2 seconds from this delay time. Other types of motors offer their own methods.<br />
<br />
In the case of adjustable delays, typically you'll set the <strong>Ejection charge delay</strong> iteratively: You start by selecting a motor, then choose one of the <strong>Ejection charge delay</strong> choices from the menu, then run the simulation. The simulation results will show you the <strong>Optimum delay</strong> in seconds. You then can return to your motor selection page, and enter that optimum delay, or as near as you can come to it with the tools at your disposal, in the <strong>Ejection charge delay</strong> field.<br />
<br />
Even if your delay is not adjustable, you'll probably want to look at the <strong>Optimum delay</strong> field and pick a motor with the delay closest to what your simulation says you'll need for success.<span style="clear:both;overflow:auto;">&nbsp;</span><br />
<br />
===Show Details===<br />
<br />
The <strong>Show Details</strong> section gives you detailed information about the selected motor's thrust curve, its thrust and burn parameters, and its certification.<br />
<br />
[[File:ShowDetails.png|thumb|700 px|center|The <strong>Show Details</strong> section.]] <br /><br />
<br />
==Getting a Good Simulation==<br />
<br />
OpenRocket simulates an <em>ideal</em> rocket flying in an <em>ideal</em> virtual world. It's a model of how a rocket interacts with the physics of the real world. As a model, it's useful, but imperfect. OpenRocket's sim can vary from reality due to many things, for example:<br /><br />
<br />
<ul><br />
<li>Local air density at launch time (a function of local temperature and barometric pressure)</li><br />
<li>Manufacturer variations in motor components</li><br />
<li>Imperfect match between launch angle or heading from simulation</li><br />
<li>Local wind speed, direction, gust mismatch from simulation</li><br />
<li>Varying wind speed at altitude, or wind shift during flight</li><br />
<li>Performance under stress of real-world components (fin flutter, etc.)</li><br />
<li>Imperfect match of simulated model to real model</li><br />
</ul><br />
<br />
<br /><br />
That, again, is not an exhaustive list, but the last item: <em>Imperfect match to real model</em> counts for a lot.<br />
<br />
It's probably obvious that you have to get the simulated model's weight right to get a good simulation, but what about its weight distribution? What about its diameter, the match of its nose cone and fin profile to the actual model? Even the texture of surface components can cause variation in drag as the rocket flies.<br />
<br />
=== Constructing an accurate digital model ===<br />
<br />
While you can do OK with matching the weight and center of mass of your OpenRocket model to your real rocket, your best simulations will come from building the simulated model before you build the actual rocket. To get the most accurate model, you should weigh every component. And once components are assembled, you should weigh each section to check your work, comparing it to OpenRocket's calculated masses (glue, filler and finishes add weight, too).<br />
<br />
A digital kitchen scale can be useful to weigh each part as you create a simulation of all the parts of your rocket. You'll also need to measure thicknesses and lengths. You can obtain inexpensive digital calipers which are fine for this measuring purpose, from suppliers like [https://www.harborfreight.com/search?q=digital%20caliper Harbor&nbsp;Freight].<br />
<br />
Working in the <strong>[[Getting_Started#The_Rocket_design_window|Rocket design]]</strong> window, measure and record the weight of each component as you model it. Try and choose the correct material to reflect the density and mass of the actual component. Often, creating a more-correct material (using the "Custom" option of the <strong>Component Material</strong> menu) is a better choice than using weight overrides, because the weight override may not reflect the correct center of mass of the overridden material.<br />
<br />
Include every component the actual rocket uses, except for the motor: motors are chosen in the <strong>[[#Motors & Configuration | Motors & Configuration]]</strong> tab. (You can pick a motor configuration for the Rocket design window from the <strong>Flight configuration</strong> menu there).<br />
<br />
If a part is too light to weigh, weigh multiples of the part, and divide by the number you weighed. If you need to weigh a short bit of shock cord, weigh 20 feet of it, divide by 20 to get the weight of 1 foot.<br />
<br />
=== Starting with a downloaded model ===<br />
<br />
If you begin a model with a downloaded OpenRocket (.ork) or RockSim (.rkt) file (<em>OpenRocket can open both</em>), check that the downloaded file's components match your own, and that the specified weight and center of mass match those of your own model. Often, downloaded files feature <strong>mass overrides</strong> to get the center of mass of an imperfect OpenRocket model to agree with that of a real-world rocket. These overrides may get the rocket's weight distribution all wrong, so it's important to adjust the downloaded model to match your rocket exactly.<br />
<br />
=== Expectations on simulation accuracy ===<br />
<br />
A <em>very good</em> simulated design can go a long way toward predicting the correct eject delay and altitude as-flown. <br />
<br />
The better your model, the better the prediction, though note that this author finds that OpenRocket predicts a bit more altitude than you'll attain most of the time (an average of 29% more in an informal calculation of a dozen of my logged flights - though the variance ranged from dead-on to 43% off).<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Rocket Design|&larr; Basic Rocket Design]]</div><br />
<div style="float: right;">[[Advanced Rocket Design|Advanced Rocket Design &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=34549Advanced Rocket Design2021-03-10T03:37:33Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <em>Unicon</em> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in the Estes <em>Model Rocket News</em> publication, probably about 1973-4. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick. to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to add a ring-tail to an OpenRocket model, though there's one catch: the ring tail must start at the exact aft end of the body tube it surrounds, and fins must trail to support it. Unlike many components in OpenRocket, body tubes follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
Let's add a ring tail to <strong>A simple model rocket</strong> to demonstrate.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Our ring tail is complete.<br />
<br />
It's important to note that the ring tail <em>will probably not be accurately simulated</em> in OpenRocket's flight simulations. The aerodynamic effects of the ring tail won't be taken into account correctly, and the simulation will give you a "Discontinuity in rocket body diameter" warning beside each simulation status indicator.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Introduction&diff=34548Introduction2021-03-10T03:36:42Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Main Page|&larr; Contents]]</div><br />
<div style="float: right;">[[Downloading & Installing|Downloading & Installing &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
{{UserGuideHelp}}<br />
<br />
== What is OpenRocket? ==<br />
<br />
Welcome! [[File:Logo.png|thumb|800 px|right|The OpenRocket logo.]]<br />
OpenRocket is an open source model rocket simulation software application. It was originally developed by [http://sampo.kapsi.fi/ Sampo Niskanen] in 2009 as part of his master thesis at what was then [https://www.aalto.fi/en/aalto-university/history <em>Helsinki University of Technology</em>]. If you want to have a look at his thesis you can download it from OpenRocket's [http://openrocket.info/documentation.html technical documentation page]. Written entirely in Java, OpenRocket is fully cross-platform. Have a look at the [[Downloading_%26_Installing|next section]] if you need information about how to open the program on your computer. <br /><br /><br />
<br />
OpenRocket is intended to be used by rocketeers who want to test the performance of a model rocket before actually building and flying it. The software accurately computes the aerodynamic properties of rockets and simulates their flight, returning a wide range of technical results. <br /><br /><br />
<br />
The program can be roughly divided into two sections: <br /><br /><br />
- <strong>Rocket design</strong>, where you can design the model rocket you intend to build, choosing from a wide range of <strong>body components</strong>, <strong>trapezoidal</strong>, <strong>elliptical</strong> and <strong>free-form fins</strong>, <strong>inner components</strong>, and <strong>mass objects</strong>. During this phase you will see a 2D representation of the rocket you are building and various technical information (<strong>size</strong>, <strong>mass</strong>, <strong>apogee</strong>, <strong>max. velocity</strong>, <strong>max. acceleration</strong>, <strong>stability</strong>, <strong>centre of gravity</strong> (<strong>CG</strong>), <strong>centre of pressure</strong> (<strong>CP</strong>)) about your rocket, so you can have already a good idea of its performance even before running any simulation. <br /><br />
- <strong>Flight simulation</strong>, where you can run one or more simulations of your rocket's flight, choosing from one or more <strong>motor configurations</strong>. Each simulation (calculated using the Runge-Kutta 4 simulator) returns a wide range of data about the rocket's flight. Unfortunately, for the moment a graphical visualization of the rocket's flight is not available ([http://openrocket.info/contribute.html help needed]). <br /><br /><br />
For more information about OpenRocket's features and a few screenshots you can have a look [http://openrocket.info/features.html here].<br />
<br />
== How this guide is organized ==<br />
<br />
<strong>Note: since work on the <em>User's Guide</em> is still currently in progress, many sections are still incomplete or empty. This subsection also explains the content of those sections, as it's meant to be a reference when the guide will be completed.</strong> <br /><br /><br />
<br />
This guide presents information on how to <em>use</em> OpenRocket. This wiki contains a certain amount of technical information, but the <em>[https://github.com/openrocket/openrocket/wiki Developer Wiki]</em> on GitHub has information for developers about building OpenRocket from source, packaging it, and contributing to the project. <br /><br /><br />
<br />
We'll try to explain how to fully exploit all of OpenRocket's features. We'll start off at a relatively basic level and then look at more and more complicated parts of the software. Depending on your level of experience and your learning objectives, you should either start reading from a specific section, or end reading at a specific section. <br /><br /><br />
<br />
You're reading Section 1, the Introduction. <br /><br /><br />
<br />
The next section, [[Downloading & Installing]], explains how to install OpenRocket. You can look for a <strong>packaged binary</strong> with everything you need, or learn <strong>how to install Java</strong> on your computer (or find out if it is already installed) and then <strong>how to launch OpenRocket</strong>. If you have already managed to launch the program, skip this section. <br /><br /><br />
<br />
[[Getting Started]] gets you started. If you are an experienced user you should be able to get most of what is explained there on your own, but we recommend that everyone read it so you can fully understand how OpenRocket is organized. <br /><br /><br />
<br />
From sections [[Basic Rocket Design]] and [[Basic Flight Simulation]], you will learn how to design some basic rockets and simulate their flights, using OpenRocket. These sections are useful for both experienced and non-experienced rocketeers, since they basically show how to use most of the software. <br /><br /><br />
<br />
Sections [[Advanced Rocket Design]] and [[Advanced Flight Simulation]] build on the material explained in sections 4 and 5. These sections are meant for experienced rocketeers, since they explain how to use OpenRocket to design more complicated rockets and run simulations with them. <br /><br /><br />
<br />
[[Rocket Analysis]] is about analyzing the rocket you have built and optimizing its performance. It is suitable both for experienced and non-experienced users. <br /><br /><br />
<br />
[[Custom Expressions]] is about <em>Simulation listeners</em>, i.e.; a way to monitor and interact with flight simulations while they are running. It is suitable for experienced users. <br /><br /><br />
Finally, [[Simulation Listeners]] is about some extra features that have not been, until then, explained. Also, you can have a look at [[Component Details]] for a full list of rocket components available in OpenRocket and their uses. <br /><br /><br />
<br />
Good reading!<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Main Page|&larr; Contents]]</div><br />
<div style="float: right;">[[Downloading & Installing|Downloading & Installing &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Flight_Simulation&diff=34547Advanced Flight Simulation2021-03-10T03:35:04Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Rocket Design|&larr; Advanced Rocket Design]]</div><br />
<div style="float: right;">[[Rocket Analysis|Rocket Analysis &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<span style="clear:both;"><span><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
OpenRocket offers more advanced options for simulating flight. You can plot your rocket's predicted acceleration, climb, eject and landing, make a prediction for how far downrange and in which direction your flight will land, and even experiment with different models of Earth's geometry, as it affects your flight. Once you're satisfied with a sim, you can export your data for analysis and charting in other packages.<br /><br />
<br />
== Plotting your rocket's flight ==<br />
<br />
To begin learning about OpenRocket's plotting features, first, click the <strong>Plot / Export</strong> button on the <strong>Flight simulations</strong> window.<br /><br /><br />
<br />
[[File:PlotExportButton.png|thumb|800 px|center|The <em>Plot / export</em> Button.]] <br /><br />
<br />
On the <strong>Edit simulation</strong> panel, you'll see tabs marked <strong>Plot data</strong> and <strong>Export data</strong>. <br /><br /><br />
<br />
===Plotting data===<br />
<br />
The <strong>Plot data</strong> opens first. Here you can define many parameters that will determine what values are plotted, and what events are marked on the plot.<br /><br /><br />
<br />
[[File:PlotExportWindow.png|thumb|800 px|center|The <em>Plot / export</em> window.]] <br /><br />
<br />
Here you'll be able to quickly choose from a number of standard plots: <br /><br /><br />
<br />
[[File:PlotConfigs.png|thumb|806 px|center|Standard plots]] <br /><br />
<br />
<span id="parameters">You'll also be able to assign to the X and Y axes any one of over 50 parameters</span>:<br />
<br />
<div style="height:30rem;width:60rem;"><br />
<div style="float:left;margin:1rem 3rem 1rem 0;"><br />
<ul><br />
<li>Time</li><br />
<li>Altitude</li><br />
<li>Vertical velocity</li><br />
<li>Vertical acceleration</li><br />
<li>Total velocity</li><br />
<li>Total acceleration</li><br />
<li>Lateral distance</li><br />
<li>Lateral direction</li><br />
<li>Lateral velocity</li><br />
<li>Lateral acceleration</li><br />
<li>Latitude</li><br />
<li>Longitude</li><br />
<li>Gravitational acceleration</li><br />
<li>Angle of attack</li><br />
<li>Roll rate</li><br />
<li>Pitch rate</li><br />
<li>Yaw rate</li><br />
<li>Mass</li><br />
</ul><br />
</div><br />
<div style="float:left;margin:1rem 3rem 1rem 3rem;"><br />
<ul><br />
<li>Propellant mass</li><br />
<li>Longitudinal moment of inertia</li><br />
<li>Rotational moment of inertia</li><br />
<li>CP location</li><br />
<li>CG location</li><br />
<li>Stability margin calibers</li><br />
<li>Mach number</li><br />
<li>Reynolds number</li><br />
<li>Thrust</li><br />
<li>Drag force</li><br />
<li>Drag coefficient</li><br />
<li>Axial drag coefficient</li><br />
<li>Friction drag coefficient</li><br />
<li>Pressure drag coefficient</li><br />
<li>Base drag coefficient</li><br />
<li>Normal force coefficient</li><br />
<li>Pitch moment coefficient</li><br />
<li>Yaw moment coefficient</li><br />
</ul><br />
</div><br />
<div style="float:left;margin:1rem 0 1rem 3rem;"><br />
<ul><br />
<li>Side force coefficient</li><br />
<li>Roll moment coefficient</li><br />
<li>Roll forcing coefficient</li><br />
<li>Roll damping coefficient</li><br />
<li>Pitch damping coefficient</li><br />
<li>Reference length</li><br />
<li>Reference area</li><br />
<li>Vertical orientation (zenith)</li><br />
<li>Lateral orientation (azimuth)</li><br />
<li>Wind velocity</li><br />
<li>Air temperature</li><br />
<li>Air pressure</li><br />
<li>Speed of sound</li><br />
<li>Simulation time step</li><br />
<li>Computation time</li><br />
<li>Position parallel to wind</li><br />
<li>Position upwind</li><br />
</ul><br />
</div><br />
<span style="clear:both;">&nbsp;</span><br />
</div><br />
<br />
You can assign multiple parameters to the Y-axis, and choose whether their scales appear on the left, or the right side of the plot. You can add Y-axis parameters with the <strong>New Y-axis plot type</strong> button, or delete parameters from the plot with the <strong>X</strong> buttons. <em>(The X-axis takes only a single plotted parameter, typically <strong>Time</strong>).</em><br />
<br />
Additionally, you can choose from several flight events, any or all of which can be called out on your plot, in reference to the simulated time of occurrence.<br /><br /><br />
<br />
[[File:YaxisTypes.png|thumb|800 px|center|Setting Y-axes and Events for plotting]] <br /><br />
<br />
===Plotted results===<br />
<br />
Below you can see a plot of <em>A simple model rocket</em>, simulation number 4, flying on a C6-5. Note that the five events checked in the above screen have been marked on the plot (<em>some very close to each other, or to the edge</em>): <strong>Motor ignition</strong>, <strong>Motor burnout</strong>, <strong>Apogee</strong>, <strong>Recovery device deployment</strong>, and <strong>Ground hit</strong>.<br />
<br />
You can also see that the three Y-axis parameters described above: <strong>Altitude</strong>, <strong>Vertical velocity</strong>, and <strong>Vertical acceleration</strong> appear as lines of three different colors. <br /><br /><br />
<br />
[[File:PlotOfSimulation.png|thumb|800 px|center|A <em>Plot</em> of the simulation.]] <br /><br />
<br />
As your rockets get more complex, with features like dual-deploy, air-start and multiple stages, your plots can grow in complexity to simulate their expected behavior. Below is a plot (<em>from the example rockets</em>) of a "High Power Airstart" rocket, modeled after a Patriot missile. The central motor starts on the launch pad, while the surrounding motors start while the rocket is in the air (<em>hence, an "airstart"</em>). The plot records the separate motor start events, and the deployment of both a drogue, and a main parachute. <br /><br /><br />
<br />
[[File:ComplexPlot.png|thumb|800 px|center|A <em>Plot</em> of Sim #5 of the "High Power Airstart" example rocket.]] <br /><br />
<br />
Notice what's happening in the plot above: The rocket is <em>losing velocity</em> - the blue line - before the airstart occurs. This is probably not what we want.<br />
<br />
However, simulation number 3 of the same rocket, below, has an earlier airstart, and looks like it should work as expected. Looking at the slight wiggle in the velocity curve, we could also try another simulation to provide a little bit more margin for error. <br /><br /><br />
<br />
[[File:ComplexPlot2.png|thumb|800 px|center|A <em>Plot</em> of Sim #3 of the "High Power Airstart" example rocket.]] <br /><br /><br />
<br />
== Launch Conditions and Simulation Options ==<br />
<br />
From the <strong>Plot data</strong> window, you can click the <strong><< Edit</strong> button to configure <strong>Launch conditions</strong>, and <strong>Simulation options</strong> before you plot.<br />
<br />
===Launch conditions===<br />
<br />
OpenRocket can simulate conditions at the launch site, so you can estimate how winds will direct your flight, and how far downrange your rocket will drift.<br />
<br />
In the screen shown below, you can set parameters (and units) for wind, and for your <strong>Launch site</strong>, you can set the <strong>Latitude</strong>, <strong>Longitude</strong> and <strong>Altitude</strong>, as well as <strong>Atmospheric conditions</strong>. Note that Atmospheric conditions affect your rocket's ascent velocity, as well as the local [https://en.wikipedia.org/wiki/Speed_of_sound Speed of Sound].<br />
<br />
This is also the panel where you can set the length of your launch rod or rail. This length will affect whether your simulation <em>passes or fails</em>, when it's evaluated for minimum speed off the rod. <br /><br /><br />
<br />
[[File:EditSimulationLaunchCond.png|thumb|800 px|center|The <em>Edit simulation</em> window: <em>Launch conditions</em>.]] <br /><br />
<br />
===Simulation options===<br />
<br />
In the <strong>Simulation options</strong> tab, the <strong>Simulator options</strong> let you choose the shape of the simulated Earth in your calculations (<em>doing so <strong>does not</strong> affect the Earth background in Photo Studio</em>), and you can choose the time-resolution of the simulation. This is also the place where you add and set up <strong>Simulation extensions</strong>, which are beyond this guide's purpose (<em>and frankly, beyond this author's knowledge!</em>).<br /><br /><br />
<br />
[[File:EditSimulationSimOpts.png|thumb|800 px|center|The <em>Edit simulation</em> window: <em>Simulation options</em>.]] <br /><br /><br />
<br />
== Exporting Data ==<br />
<br />
Located on the Plot / export panel, the Export Data tab (shown below) helps you set up a Comma-Separated Value (.csv) formatted file to export data from your simulations. You can export any or all of over 50 values (generally speaking, the [[#parameters|list of parameters]] above, plus <strong>Coriolis acceleration</strong>). Optional <strong>Comments</strong> sections list any flight events (<strong>Apogee</strong>, for example) you selected for your simulation, as well as description and field descriptions.<br />
<br />
You can choose separators other than comma, if you prefer semicolon, space, or TAB-delimited data. Once you have your data choices set up, clicking the <strong>Export</strong> button brings up a file dialog to choose a filename and location for your exported data.<br /><br /><br />
<br />
[[File:ExportData.png|thumb|800 px|center|The <em>Export data</em> window.]] <br /><br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Rocket Design|&larr; Advanced Rocket Design]]</div><br />
<div style="float: right;">[[Rocket Analysis|Rocket Analysis &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Template:UserGuideHelp&diff=34546Template:UserGuideHelp2021-03-10T03:33:22Z<p>Jddj: </p>
<hr />
<div>{| style="background: #FFFF75; border: 1px solid #EDED00; text-align: center; margin: 0% 10%; width: 80%;"<br />
|<br />
The current [[Main Page|User's Guide]] is very much a '''work in progress''', any help would be greatly appreciated!<br /><br />
If you'd like to contribute something, just hit the 'Edit' tab at the top.<br />
|}</div>Jddjhttp://wiki.openrocket.info/index.php?title=Feature_comparison&diff=34545Feature comparison2021-03-10T03:31:15Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Resources|&larr; Resources (Appendix F)]]</div><br />
<div style="width:150px;float: right;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
This page provides a side-by-side feature comparison of '''OpenRocket''' and '''RockSim'''. Both represent the latest version of the software.<br />
<br />
While hosted on the OpenRocket wiki site, we have attempted to make this an objective comparison between the functionality of the two software products. If you think something is wrong or omitted, please [[User:Plaa|contact us]].<br />
<br />
<br />
<br />
== General ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! License<br />
| class="good" | Open Source (GPLv3)<br />
| class="poor" | Proprietary<br />
|-<br />
! Price<br />
| class="good" | Free<br />
| class="poor" | $124<br />
|-<br />
! Supported platforms<br />
| class="good" | Windows, Mac, Linux<br />
| class="okay" | Windows, Mac<br />
|-<br />
! Supported file formats<br />
| class="good" | ORK, RKT<br />
| class="poor" | RKT<br />
|-<br />
! Anti-piracy copy protection<br />
| class="good" | None<br />
| class="okay" | [http://www.paceap.com/ PACE]<br />
|}<br />
<br />
<br />
== UI features ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! Side/back view<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! 3D view<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Photorealistic 3D rendering<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Export 3D design<br />
| class="bad" | No<br />
| class="good" | Yes (3DS)<br />
|-<br />
! Design view rotation<br />
| class="good" | Any angle<br />
| class="poor" | Side and top only<br />
|-<br />
! Live CG/CP view<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Realtime simulation<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|}<br />
<br />
== Design features ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! Basic components<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Freeform fins<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Asymmetric fin configurations<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Tube fins<br />
| class="good" | Experimental<br />
| class="good" | Yes<br />
|-<br />
! Ring-tail fins<br />
| class="bad" | No<br />
| class="good" | Yes<br />
|-<br />
! Fins attached to fins<br />
| class="bad" | No<br />
| class="good" | Yes<br />
|-<br />
! External pods<br />
| class="bad" | No<br />
| class="good" | Yes<br />
|-<br />
! Canted fins / roll stabilization<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Standard component libraries<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Decals<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Clustering support<br />
| class="good" | Yes, modifiable<br />
| class="poor" | Yes, one-time wizard<br />
|-<br />
! Staging support<br />
| class="good" | Yes, unlimited<br />
| class="okay" | Yes, 3 stages<br />
|}<br />
<br />
== Simulation features ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! Degrees of freedom<br />
| class="good" | 6DOF<br />
| class="okay" | 3DOF<br />
|-<br />
! Geodetic calculation (Earth coordinates, coriolis effect)<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Simulations extensible by own code<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Simulation animation<br />
| class="bad" | No<br />
| class="good" | Yes<br />
|-<br />
! Plotting any simulated variables<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Exporting simulated data<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Computing custom variables<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|}<br />
<br />
== Optimization and analysis ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! General design optimization<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Mass optimization<br />
| class="okay" | Yes (using general optimizer)<br />
| class="good" | Yes<br />
|-<br />
! Stability analysis<br />
| class="good" | Yes, per component<br />
| class="okay" | Yes, per stage<br />
|-<br />
! Drag analysis<br />
| class="good" | Yes, per component<br />
| class="poor" | Yes, per stage<br />
|-<br />
! Roll analysis<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|}<br />
<br />
== Printing ==<br />
<br />
{| class="comparison"<br />
!<br />
! width="20%" | OpenRocket<br />
! width="20%" | RockSim<br />
|-<br />
! Schematic view<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Stability information<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Simulation results<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Parts list<br />
| class="good" | Yes<br />
| class="good" | Yes<br />
|-<br />
! Component templates<br />
| class="good" | Nose cone, fin sets, centering rings<br />
| class="good" | Nose cone, fin sets, centering rings<br />
|-<br />
! Fin placement guide<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|-<br />
! Export to PDF<br />
| class="good" | Yes<br />
| class="bad" | No<br />
|}<br />
<br />
== Usage ==<br />
<br />
One attribute of interest when comparing pieces of software is how much each software is used and how much of a community exists around the software. While it's impossible to get an objective measure of the usage and community activity, [http://www.google.com/trends/ Google Trends] does a rather good job at providing an indication of the relative interest levels over time.<br />
<br />
Since around 2014, OpenRocket and RockSim have received approximately the same amount of search hits. The first version of OpenRocket was released in May 2009, RockSim in 1997.<br />
<br />
<trends q="RockSim,OpenRocket" date="1/2009 108m" cmpt="q" content="1" cid="TIMESERIES_GRAPH_0" export="5" w="700" h="330"/><br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Resources|&larr; Resources (Appendix F)]]</div><br />
<div style="width:150px;float: right;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Resources&diff=34544Resources2021-03-10T03:30:20Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Scripting with Python and JPype|&larr; Scripting with Python and JPype (Appendix E)]]</div><br />
<div style="float: right;">[[Feature comparison|Feature comparison (Appendix G) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
Below are resources that have been found useful in the analysis of model rockets. Many useful scientific aerodynamic articles and documents are available at the invaluable [http://ntrs.nasa.gov/ NASA Technical Resources Server (NTRS)].<br />
<br />
<br />
: ''[http://openrocket.sourceforge.net/thesis.pdf Development of an Open Source model rocket simulation software]'', Sampo Niskanen, 2009.<br />
:: Master's thesis describing the methods used by OpenRocket.<br />
: ''[https://www.apogeerockets.com/downloads/barrowman_report.pdf The Theoretical Prediction of the Center of Pressure]'', James and Judith Barrowman, 1966.<br />
:: The original NARAM R&D report explaining how to calculate the CP position of a rocket.<br />
: ''[https://strives-uploads-prod.s3.us-gov-west-1.amazonaws.com/20010047838/20010047838.pdf?AWSAccessKeyId=AKIASEVSKC45ZTTM42XZ&Expires=1602654196&Signature=jgP2j8VqNKpw0vKCVlyvsUuZVoY%3D The Practical Calculation of the Aerodynamic Characteristics of Slender Finned Vehicles]'', James Barrowman, 1967.<br />
:: The more in-depth and technical thesis, where Barrowman presents methods for calculating the CP position of a rocket at both subsonic and supersonic velocities and its other aerodynamic properties. Available on [http://ntrs.nasa.gov/ NTRS].<br />
: ''[https://www.argoshpr.ch/j3/articles/pdf/sentinel39-galejs.pdf Wind instability—What Barrowman left out]'', Robert Galejs.<br />
:: An extension to the Barrowman method to account for body lift at large angles of attack.<br />
: ''[https://dspace.mit.edu/handle/1721.1/1701/restricted-resource?bitstreamId=b112dcb2-af18-41f5-aeaf-3525c7bfe318 Topics in Advanced Model Rocketry]'', Mandell, Caporaso, Bengen, MIT Press, 1973.<br />
:: An excellent theoretical study on the flight of model rockets. Available as a reprint edition.<br />
: ''[https://babel.hathitrust.org/cgi/pt?id=uc1.31822023531411&view=1up&seq=5 Fluid-dynamic drag]'' and ''[https://catalog.hathitrust.org/Record/006957952?type%5B%5D=all&lookfor%5B%5D=fluid-dynamic%20lift&ft= Fluid-dynamic lift]'', Sighard Hoerner, published by the author, 1965 & 1975.<br />
:: Two compendiums of all wisdom and knowledge. Contains extensive gatherings of experimental data and compact explanations of the aerodynamic effects. Available as reprint editions.<br />
: ''[https://catalog.hathitrust.org/Record/004201684?type%5B%5D=all&lookfor%5B%5D=Tactical%20missile%20design&ft= Tactical missile design]'', 2nd edition, Eugene L. Fleeman, AIAA, 2006.<br />
:: Useful approximation methods for estimating the aerodynamic properties of rockets.<br />
: ''[https://www.cambridge.org/us/academic/subjects/engineering/aerospace-engineering/applied-computational-aerodynamics-modern-engineering-approach?format=AR#33vGVwiCxYiDY74F.97 Applied Computational Aerodynamics]'', William Mason.<br />
:: An online textbook on computational aerodynamics.<br />
: ''[http://mae-nas.eng.usu.edu/MAE_5900_Web/5900/USLI_2010/PDF_files/rocket_handbook.pdf Design of aerodynamically stabilized free rockets]'', MIL-HDBK-762, US Army Missile Command, 1990.<br />
:: Military handbook on the design of rockets, a good resource for aerodynamic estimation methods.<br />
: [http://www.thrustcurve.org/ ThrustCurve.org], John Coker.<br />
:: An excellent resource for model rocket motor thrust curves.<br />
: ''[https://strives-uploads-prod.s3.us-gov-west-1.amazonaws.com/19670020050/19670020050.pdf?AWSAccessKeyId=AKIASEVSKC45ZTTM42XZ&Expires=1602657948&Signature=%2Bii5hE%2FcD1g6ye3p3QUgsPF3Geo%3D Static stability investigation of a single-stage sounding rocket at Mach numbers from 0.60 to 1.20]'', James Ferris, NASA-TN-D-4013, 1967.<br />
: ''[https://strives-uploads-prod.s3.us-gov-west-1.amazonaws.com/19670020031/19670020031.pdf?AWSAccessKeyId=AKIASEVSKC45ZTTM42XZ&Expires=1602657806&Signature=D1R5vk%2FyKOIlSFKNei7yjzPQWE4%3D Static stability investigation of a sounding-rocket vehicle at Mach numbers from 1.50 to 4.63]'', Donald Babb and Dennis Fuller, NASA-TN-D-4014, 1967.<br />
:: Experimental data of a wind tunnel investigation of a sounding rocket at subsonic, transonic and supersonic velocities. Available on [http://ntrs.nasa.gov/ NTRS].<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Scripting with Python and JPype|&larr; Scripting with Python and JPype (Appendix E)]]</div><br />
<div style="float: right;">[[Feature comparison|Feature comparison (Appendix G) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Scripting_with_Python_and_JPype&diff=34543Scripting with Python and JPype2021-03-10T03:29:44Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[List of useful custom expressions|&larr; List of useful custom expressions (Appendix D)]]</div><br />
<div style="float: right;">[[Resources|Resources (Appendix F) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
== Scripting openrocket with Python and JPype ==<br />
<br />
<br />
=== Overview ===<br />
<br />
The ability to script OpenRocket and enhance it with user written code is an often discussed topic among the OpenRocket community. This article demonstrates one approach to the problem. Using [http://python.org/ Python] and the [https://github.com/jpype-project/jpype/ JPype] library it is possible to write external scripts which run outside of OpenRocket, but make use of OpenRocket much like any other python library.<br />
<br />
This approach provides a very rapid development environment for optimizing rocket designs, enhancing and exploring the simulation. It is also probably the best approach if you are interested in making use of OpenRocket as part of something larger. An important advantage to this approach over something like embedded Jython scripting is that you have full access to all the python ecosystem, crucially [https://numpy.org/ numpy], [http://scipy.org/ scipy], [https://matplotlib.org/ matplotlib] and other cpython only libraries. However, because scripts require external software they can not be integrated into a stand-alone OpenRocket distribution. Nevertheless, they do provide a nice way to prototype new OpenRocket features.<br />
<br />
=== Requirements ===<br />
<br />
To run the following examples you will need Python 3.6 or later and OpenRocket-15.03.jar. The numpy, scipy, matplotlib libraries are required (these usually come together). These scripts all make use of a python package ''orhelper'' (below).<br />
<br />
=== [https://github.com/SilentSys/orhelper/ Orhelper] ===<br />
<br />
This is a fairly lightweight module which has been written for these examples to take care of some of the more cumbersome aspects of scripting OpenRocket with jpype.<br />
<br />
At the time of writing the orhelper module contains:<br />
# a class ''OpenRocketInstance'' which handles starting up a JVM and a working openrocket instance. It is equipped with ''__enter__'' and ''__exit__'' methods and is intended to be called using the [https://www.python.org/dev/peps/pep-0343/ ''with''] statement. This is to ensure that no matter what happens within that context, the JVM will always properly shutdown and you will get useful (hopefully) exception information.<br />
# a class ''Helper'' which simply contains a bunch of useful helper functions and wrappers for using openrocket via jpype. These are intended to take care of some of the more cumbersome aspects of calling methods, or provide more 'pythonic' data structures for general use. The whole ''net.sf.openrocket'' namespace is available as the ''orp'' property of this class.<br />
# an ''AbstractSimulationListener'' class. This is essentially a python version of the ''openrocket.simulation.listerners'' class of the same name. You can extend this class to make your own python simulation listeners and receive callbacks from the openrocket simulation.<br />
# there is also a little wrapper class in there, ''JIterator'' which is for using java iterators as if they are python iterators.<br />
<br />
=== Example 1 ([https://github.com/SilentSys/orhelper/blob/master/examples/simple_plot.py simple_plot.py]) ===<br />
This is a simple example for plotting the flight of a rocket using matplotlib. A plot of altitude and vertical velocity vs time is generated, with annotations for various events much like the default plot in openrocket.<br />
<br />
In this example all the interaction with OpenRocket is done through various Orhelper methods. The orhelper.Helper class will from now on be referred to as orh.<br />
<br />
First, we startup an openrocket instance inside the protected 'with' environment. Be sure to change the name of the OpenRocket .jar file accordingly.<br />
We then load up an openrocket document, I am using the 'simple model rocket example' here. We then grab a simulation object out of this file. This file has multiple simulations set up, we just get the first one. We then run the simulation. We now need to get the data out of the simulation. This is done with the ''orh.get_timeseries'' method. This returns dictionary of timeseries data (as numpy arrays) from a simulation given a sequence of variable types. For adding annotations to the plot, we need to get a dictionary containing all the flight events. This is done with ''orh.get_events''.<br />
<br />
The rest of the code is standard matplotlib stuff -- check their documentation if you are not familiar. A couple of the inline functions though are worthy of further explanation. I wanted to have the axis labels and tick marks the same colour as the lines. Matplotlib doesn't have a built in way to change all the tickmarks, but that is easily done with the in line function ''change_color''. Also, because ''get_events'' only gives us time information we need to extract the corresponding array index to put the annotations in the correct place. This done with the ''index_at'' function which in turn makes use of the numpy ''argmin'' function.<br />
<br />
[[File:simple_plot.png]]<br />
<br />
=== Example 2 ([https://github.com/SilentSys/orhelper/blob/master/examples/lazy.py lazy.py]) ===<br />
The purpose of this example is to show how a simulation can be modified and demonstrate the use of scipy's numerical methods. The toy problem we are attacking is the one of the rocketeer of maximum laziness who does not want to walk from the launch site to collect the rocket and would prefer if it flew exactly back of its own accord. We assume the rocket is flying upwind and optimise the launch rod angle accordingly. We want to plot a family of curves for a few different angles and highlight the optimised angle.<br />
<br />
The structure of the program and initial lines for loading the model rocket are the same as in the previous example. In this example, we need to define a function for varying the launch angle before simulating the flight. This requires us to get the simulation options out of the simulation using the ''getOptions()'' method and we can then set the angle inside the ''SimulationOptions'' object. For the uninitiated, in OpenRocket ''simulation.SimulationOptions'' basically contains all the settings found in the simulation edit window. When the simulation is started these options are used to make a ''simulation.SimulationConditions'' object. After running the simulation we are interested in the ''ALTITUDE'' and ''POSITION_X'' variables. One option would be to just retrieve the final values with ''orh.get_final_values'', however for reasons that will shortly become clear we have retrieved the whole time series.<br />
<br />
For running an optimisation method, we need some function which is zero at the optimum point. This is not quite as simple as just getting the final upwind distance because the simulation stepper will usually slightly overshoot and calculate a final point with a negative altitude. We also want to exclude the launch. There are more elaborate ways this could be done --- here for simplicity we just slice out the last half of the data, find the index with the smallest absolute altitude and return the corresponding upwind distance. We can then go ahead and pass this to our optimisation method, giving some initial guess (40 deg) to start with. Scipy has a wide range of optimisation methods with a rich heritage, in our case we just choose the basic ''fmin'' which uses the downhill simplex algorithm.<br />
<br />
In this example we want to plot a family of curves as well so we generate a range of 10 launch angles with ''np.linspace'' and add our optimal angle. We then run the simulations, making a dictionary of all the timeseries data with an 'Angle' key. We then go ahead and plot this, using a solid line style for the optimal curve and dashed lines for the others.<br />
<br />
[[File:lazy.png]]<br />
<br />
=== Example 3 ([https://github.com/SilentSys/orhelper/blob/master/examples/monte_carlo.py monte_carlo.py]) ===<br />
As every student of introductory physics knows, presenting just a number as the result of a calculation is not really sufficient -- we also need to know the uncertainty to make it meaningful. The purpose of this example is to demonstrate a simple [http://en.wikipedia.org/wiki/Monte_Carlo_method/ monte carlo method] where multiple simulations are run with various parameters perturbed to determine an overall uncertainty for the landing location in terms of range and bearing from the launch site. This example also demonstrates the use of simulation listeners implemented in python. Openrocket simulation listeners are covered in [[Simulation_Listeners|section 9 of the users guide]].<br />
<br />
The structure of this script is slightly different from the previous examples. First consider how we get the landing range and bearing information. We do this by defining a new simulation listener ''LandingPoint'' which extends ''orhelper.AbstractSimulationListener''. We define an ''endSimulation'' method which grabs the lanuch site ''WorldCoordinate'' (from ''SimulationConditions'') and the rocket position (from ''SimulationStatus'') to calculate the range and bearing. These are saved as ''LandingPoint'' instance variables.<br />
<br />
Multiple ''LandingPoint'' objects are stored in a ''LandingPointList'', which is like a regular list except can populate itself with landing points by running multiple openrocket simulations. Various parameters are set by choosing from a gaussian distribution with given mean and standard deviation (pythons ''random.gauss'' method). The code for running the simulations has mostly been discussed earlier, and the same example rocket is used although in my case I turned up the wind and turbulance somewhat and switched to a spherical earth computation method. One aspect that is new is the modification of the rocket model. A ''rocketcomponent.Rocket'' object can be obtained from the simulation options. This is the root of a tree type data structure containing all the rocket components. Our ''orh.Helper'' class has a method for finding components in the tree given their names. We use this to obtain the nose cone and body tube components and override their masses with perturbed values. Running the simulation is again done using ''orh.runsimulation'', except in this case we pass in a sequence of listener objects to use. To increase the variability still we pass in a ''AirStart'' listener with randomly set start altitude. This listener is a python copy of the example supplied with openrocket.<br />
<br />
Finally, when run the main function of the script makes a new ''LandingPointList'', populates it and then uses the ''print_stats'' method to show the final landing statistics, something like:<br />
<br />
<code>Rocket landing zone 3833.57 m +- 1116.91 m bearing -89.98 deg +- 0.0713 deg from launch site. Based on 20 simulations.</code><br />
<br />
Note that it might take a minute or two to run all those simulations.<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[List of useful custom expressions|&larr; List of useful custom expressions (Appendix D)]]</div><br />
<div style="float: right;">[[Resources|Resources (Appendix F) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=List_of_useful_custom_expressions&diff=34542List of useful custom expressions2021-03-10T03:29:17Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Tips|&larr; Tips (Appendix C)]]</div><br />
<div style="float: right;">[[Scripting with Python and JPype|Scripting with Python and JPype (Appendix E) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
The purpose of this page is to serve as a repository for useful custom expressions. For general information about how to use custom expressions in OpenRocket, see the users guide, [[Custom_Expressions|section 9]].<br />
<br />
== Rocket dynamics ==<br />
Basic properties of the physics of rocketry and kinematics.<br />
Can be quite useful from an educational point of view.<br />
Download all rocket dynamics expressions (.ork)<br />
<br />
=== Kinetic energy (Ek) ===<br />
The energy in Joules (J) which the rocket possesses due to its translational motion. See [http://en.wikipedia.org/wiki/Kinetic_energy]<br />
Equation:<br />
0.5 * m * Vt^2<br />
<br />
=== Gravitational potential energy (Egp) === <br />
The energy in Joules (J) which the rocket possesses due to its position in a gravitational field. The zero point is defined to be at mean sea level.<br />
Equation:<br />
m * g * h<br />
<br />
=== Chemical potential energy (Ecp) === <br />
The chemical energy stored in the propellant.<br />
Equation:<br />
mp * 500000<br />
Here a representative figure for the potential energy of a solid rocket fuel of 500 kJ/kg is used.<br />
<br />
=== Momentum (p) === <br />
The magnitude of the translational momentum vector. See [http://en.wikipedia.org/wiki/Momentum]<br />
Equation:<br />
m * Vt<br />
<br />
=== Angular momentum (L) ===<br />
The magnitude of the angular momentum vector of the rocket about the roll axis. In Newton-meter-seconds (Nms). See [http://en.wikipedia.org/wiki/Angular_momentum]<br />
Equation:<br />
Ir * dΦ<br />
<br />
=== Mass ratio (mr) === <br />
The ratio of the current mass to the launch mass.<br />
Equation:<br />
m / m[0]<br />
<br />
=== Specific impulse (Isp) === <br />
A measure of how efficient a rocket is in in turning propellant flow into thrust. Specific impulse is relative to the earth-weight of propellant and has units of seconds (s). See [http://en.wikipedia.org/wiki/Specific_impulse].<br />
Equation:<br />
(trapz(Ft[:]))/(9.81*(mp[0]-mp))<br />
This gives the overall specific impulse for the flight.<br />
Note: you are probably mostly interested in the final value that this converges to. Future versions of openrocket may allow a quantity to be calculated only at the end of the flight.<br />
<br />
=== Effective exhaust velocity (Ve) ===<br />
Average exhaust speed along the axis of the engine. In m/s.<br />
Equation:<br />
Isp*9.81<br />
<br />
=== Tsiolkovsky delta-V (Tdv) === <br />
Gives the maximum change in speed of the rocket (m/s) in the ideal case of no external forces.<br />
Equation:<br />
Ve*log(m[0]/m)<br />
<br />
== Aerodynamics ==<br />
Download all aerodynamic expressions (.ork)<br />
<br />
Note that some of these expressions depend on variables such as the center of pressure location and angle of attack which are only defined after launch guide clearance and before recovery device deployment.<br />
<br />
=== Air Density (ρ) ===<br />
Density of the air (kg/m^3).<br />
Equation:<br />
P/(287.05* T)<br />
<br />
=== Gamma (γ) ===<br />
This is the ratio of specific heats for dry air. Gamma is technically a variable that changes with temperature, though for most purposes a value of 1.4 suffices.<br />
Equation:<br />
1+(0.401/(1+exp(0.003567*(T-1918))))<br />
<br />
=== Corrective moment coefficient (Ccm) ===<br />
A coefficient proportional to the corrective force that the rocket creates in response to a disturbance. See [http://www.apogeerockets.com/education/downloads/Newsletter193.pdf] <br />
Equation:<br />
Vt^2*Ar*(Cn/α)*(Cp-Cg)*(P/(287.058*T)) / 2 <br />
<br />
=== Natural frequency (fnat) === <br />
The frequency at which the angle of attack of the rocket will oscillate following a disturbance. See [http://www.apogeerockets.com/education/downloads/Newsletter196.pdf]<br />
Equation (in Hz):<br />
sqrt(Ccm/Il)/6.2831<br />
<br />
=== Damping moment coefficent (Cdm) === <br />
A coefficient proportional to the rate at which any osculations resulting from a disturbance will die away. It is the sum of a propulsive damping term and a aerodynamic damping term. See [http://www.apogeerockets.com/education/downloads/Newsletter195.pdf]<br />
<br />
This property can not be expressed as a custom expression, but is available as a simulation listener. To obtain this quantity, add the following simulation listener to your simulation settings for one or more of your simulations. Note that you don't actually have to run the simulation yet, just add it to at least one simulation.<br />
net.sf.openrocket.simulation.listeners.example.DampingMoment<br />
<br />
=== Damping ratio (ζ) === <br />
A dimensionless quantity proportional to the rate of decay of oscillations and independent of the rocket velocity. As the damping ratio tends to 1 the system is critically damped and oscillations tend to zero. In the presence of constant crosswind some oscillation reduces weathercocking and overall a good balance is achieved with damping ratios between .05 and .3. See [http://www.apogeerockets.com/education/downloads/Newsletter197.pdf] for more details.<br />
Cdm/(2*sqrt(Il*Ccm))<br />
Note: requires damping moment listener<br />
<br />
=== Dynamic pressure (Q) === <br />
A pressure term (Pa) associated with the flow of a gas. It is proportional to the aerodynamic stress on the rocket. See [http://www.grc.nasa.gov/WWW/k-12/airplane/dynpress.html]. Note this is the usual version for incompressible flow.<br />
<br />
Equation:<br />
0.5 * Vt^2 * P / (T*287)<br />
<br />
This is an extended version of the dynamic pressure equation that should hold at all speeds. It requires gamma to function. (Pa):<br />
Equation:<br />
0.5* γ* P*(M^2)<br />
<br />
=== Max-Q (Qm) ===<br />
Simply the maximum dynamic pressure experienced during the flight.<br />
<br />
Equation:<br />
max(Q[:])<br />
<br />
Note: with this and the later expressions, you are probably mostly interested in the final value of this at the end of the simulation.<br />
<br />
=== Max-Q time (tQm) === <br />
The time (in seconds) after launch when the forces on the rocket are the greatest.<br />
<br />
Equation:<br />
tnear(Q[:],Qm)<br />
<br />
=== High-Q duration (tQh) === <br />
The total time (in seconds) during the flight for which the dynamic pressure on the rocket is within 90% of the maximum.<br />
<br />
Equation:<br />
t*binf(Q[:],0.9*Qm,Qm)<br />
<br />
=== Stagnation Temperature (Ts) ===<br />
This is the temperature experienced by the rocket at high speeds. Requires gamma. (K)<br />
Equation:<br />
T*(1+(M^2)*0.5*(γ-1))<br />
<br />
== Instrumentation ==<br />
These expressions are related to instrumentation you might have flying on a rocket.<br />
Download all instrumentation expressions (.ork)<br />
<br />
=== Filtered acceleration (Af) ===<br />
Emulates an accelerometer with some low pass filtering (.5 s time constant) and a given upper saturation level (30 m/s^2).<br />
<br />
Equation:<br />
uclip( mean(At[t-.5:]), 30 )<br />
Note: you may also want to break this up into acceleration Ax, Ay, Az.<br />
<br />
=== Radio path loss (PL) === <br />
The loss or attenuation due to distance in dB of a radio signal transmitted from the rocket to launch site.<br />
Here the radio frequency is given in MHz, 100 MHz in this example.<br />
<br />
Equation:<br />
20 * log10(.0418 * sqrt(Px^2+Py^2+h^2) * 100)<br />
<br />
== Rocket design ==<br />
Download all rocket design expressions (.ork)<br />
<br />
=== Heating rate (Rh) === <br />
This estimates the rate of heat transfer in watts (W) due to friction from the air to the rocket. It is derived by using the drag force to get the change in momentum of a column of air around the rocket and from this the work done by the air on the rocket. It should be roughly proportional to velocity.<br />
<br />
Equation:<br />
(Fd*287*T)/(2*Ar*Vt*P)<br />
<br />
This could be a starting point to further analysis taking into account the geometry and material of the rocket to find the temperature distribution. Or it could be used for an experimental test.<br />
<br />
=== Total heating (Ht) ===<br />
Simply integral of heating rate gives total heat transferred in Joules (J)<br />
Equation:<br />
trapz(Rh[:])<br />
<br />
<br />
== Other ==<br />
These are mostly just for fun<br />
<br />
=== Lorentz factor (γ) ===<br />
Expression which appears in several equations in special relativity.<br />
Equation:<br />
1/sqrt(1 - (Vt^2 / 299792458^2 ))<br />
<br />
=== Relativistic mass (mrel) ===<br />
The mass of an object in motion (kg)<br />
m*γ<br />
<br />
=== Relativistic energy (Er) === <br />
The total energy of a moving body in J<br />
sqrt( (m*299792458^2)^2 + (m*Vt*299792458^2)^2)<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Tips|&larr; Tips (Appendix C)]]</div><br />
<div style="float: right;">[[Scripting with Python and JPype|Scripting with Python and JPype (Appendix E) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Tips&diff=34541Tips2021-03-10T03:28:10Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Component Details|&larr; Component Details (Appendix B)]]</div><br />
<div style="float: right;">[[List of useful custom expressions|List of useful custom expressions (Appendix D) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
This page collects a list of short (1-3 sentences) tips for using OpenRocket. Later on they may be included in the software as a "tip of the day" system.<br />
<br />
= General use =<br />
<br />
* You can type in equations in the entry fields instead of numbers. For example, to double a length you can type '''3.1*2'''.<br />
<br />
* The component tree will display any component comments as tool tips. You can set the comment on the '''Comment''' tab of the component configuration dialog.<br />
<br />
* If you want to always load a specific .ork file, you can specify the filename as a command line argument when starting openrocket.<br />
<br />
* You can choose your preferred units from '''Edit''' &rarr; '''Preferences...'''. You can individually change the units by clicking the unit symbol. <br />
<br />
= Rocket design =<br />
<br />
* A rocket design can have a number of ''motor configurations''. When simulating a flight, you select which motor configuration you use. You can edit the motor configurations using '''Tools''' &rarr; '''Motor configurations...'''<br />
<br />
* Motors can be attached to either body tubes or inner tubes. You can attach one on the '''Motor''' tab of the configuration dialog.<br />
<br />
* You can scale a single component or an entire design using '''Edit''' &rarr; '''Scale...'''<br />
<br />
* You can define custom materials by selecting '''Custom''' from the bottom of a material selection list.<br />
<br />
* You can select ready components from the preset dropdown on the top-right of the component editing dialog. Tick the box in the table to add the component to the dropdown menu.<br />
<br />
* You can select components by clicking them in the diagram, or edit them by double-clicking.<br />
<br />
* To get the best accuracy possible, you can weight your components and enter the override the calculated weight on the '''Override' tab when editing components.<br />
<br />
* You can define through-the-wall fin tabs on the '''Fin tabs''' tab when editing a fin set.<br />
<br />
* Your rocket's surface roughness can affect flight altitude significantly. Select the appropriate roughness on the '''Component finish''' dropdown. You can set the same finish for all components by clicking '''Set for all'''.<br />
<br />
* You will see immediate results of a flight simulation on the lower-left corner of the design diagram. This reflects a flight with your currently selected motor configuration.<br />
<br />
* In case OpenRocket cannot reliably compute the aerodynamic properties of the rocket, you will see warnings on the lower-right corner of the design diagram.<br />
<br />
* You can create clustered rockets easily using the '''Cluster''' tab when editing Inner tubes. Any motors or components attached to the inner tube will be present on all copies of the inner tube.<br />
<br />
* Centering rings, Engine blocks, Couplers and Bulkheads can automatically compute the relevant dimensions from the other components when the '''Automatic''' checkbox is selected.<br />
<br />
* You can simulate launch rails or pins by creating filled launch lugs of the corresponding size.<br />
<br />
* Only body components and fin sets affect the aerodynamics of the rocket. Even if an internal component extrudes outside of the body tube, its effect will not be taken into account in simulations!<br />
<br />
* You can add stages to your rocket by pressing '''New stage''' on the main screen. Stage separation is configured on the '''Separation''' tab when editing a stage.<br />
<br />
* You can fully customize the simulation plots on the '''Plot data''' tab. Choose on of the preset configurations or experiment with the other options.<br />
<br />
* You can export simulated flight data to be analyzed by another program using the '''Export data''' tab when editing a simulation.<br />
<br />
* The ball on the left side of the simulation table indicates the state of the simulation. Grey means that the simulation has not yet been run, red that the design has been changed since the simulation was last run, yellow means the data has been loaded from a file, and green means it is up-to-date.<br />
<br />
* If a potential problem occurred during a simulated flight, you will see a red exclamation mark (!) next to your simulation. Hover over the simulation to see what the warning is about.<br />
<br />
* You can duplicate components or move them to another design by using normal copy-paste functionality.<br />
<br />
* You can move components by drag-dropping them in the component tree.<br />
<br />
* You can examine details on the stability and drag characteristics of your rocket using '''Tools''' &rarr; '''Component analysis...'''<br />
<br />
* You can optimize the shape, size or mass of your rocket using '''Tools''' &rarr; '''Rocket optimization...'''<br />
<br />
* Custom expressions allow you to compute flight parameters that are not computed by OpenRocket by default. You define them using '''Tools''' &rarr; '''Custom expressions...''' See [https://sourceforge.net/apps/mediawiki/openrocket/index.php?title=List_of_useful_custom_expressions the wiki] for ideas.<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Component Details|&larr; Component Details (Appendix B)]]</div><br />
<div style="float: right;">[[List of useful custom expressions|List of useful custom expressions (Appendix D) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Component_Details&diff=34540Component Details2021-03-10T03:27:22Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[FAQ|&larr; Frequently Asked Questions (Appendix A)]]</div><br />
<div style="float: right;">[[Tips|Tips (Appendix C) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
==Appendix A: Components Details==<br />
''List/table/whatever of all the available component types, parameters and any limitations of each.''<br />
<br />
[[File:OpenRocket_Components.png|thumb|800 px|center| Openrocket <i>components</i>.]]<br />
<br />
Body components and fins set<br />
{| border="2" style="margin-left: 2em"<br />
| '''Nose Cone[[File:noise_cone.png|thumb|800 px|center]]'''<br />
| <tt> It is possible to choose from different Nose cone types. </tt> <br />
|-<br />
| '''Body tube[[File:body_tube.png|thumb|800 px|center]]'''<br />
| <tt> The carcass and the rocket itself. Possible to chose different materials and thicknesses that affect densities and therefore weights of rocket. </tt><br />
|-<br />
| '''Transition[[File:transition.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Launch lug[[File:launch_lug.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Fins Trapezoidal[[File:fin_trapezoidale.png|thumb|800 px|center]]Eliptical[[File:fin_eliptical.png|thumb|800 px|center]]Free form[[File:fin_freeform.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Inner components<br />
{| border="2" style="margin-left: 2em"<br />
| '''Inner tube[[File:inner_tube.png|thumb|800 px|center]]'''<br />
| <tt>Inner tubes are usually used as motor mount.</tt><br />
|-<br />
| '''Coupler[[File:coupler.png|thumb|800 px|center]]'''<br />
| <tt>Tubes can be connected together using couplers. Couplers can also be used to make pistons. </tt><br />
|-<br />
| '''Centering ring[[File:centering_ring.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Bulkhead[[File:bulkead.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Engine block[[File:engine_block.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Mass objects<br />
{| border="2" style="margin-left: 2em"<br />
| '''Parachute[[File:parachute.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Shock corde[[File:shock_cord.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Streamer[[File:streamer.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Mass component[[File:Mass_Component.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|}<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[FAQ|&larr; Frequently Asked Questions (Appendix A)]]</div><br />
<div style="float: right;">[[Tips|Tips (Appendix C) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=FAQ&diff=34539FAQ2021-03-10T03:26:51Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<!--T:1--><br />
This page lists various frequently asked questions. Most of these are categorized as "How to" questions for various design issues.<br />
<br />
== Using OpenRocket == <!--T:2--><br />
<br />
=== How to use motor configurations? === <!--T:3--><br />
<br />
<!--T:4--><br />
OpenRocket uses the notion of '''motor configurations''' for rocket designs. Each motor configuration corresponds to a configuration you are planning on launching your rocket with. For example for a simple small rocket you could define three configurations, one using an A8-3 motor, one using a B4-4 motor, and one using a C6-3 motor. For a multi-stage or clustered rocket you can define and experiment with many other motor configurations easily and switch between them. You can define any number of motor configurations for a rocket design.<br />
<br />
<!--T:5--><br />
In the rocket design window, you can select which motor configuration is displayed in the figure by the dropdown labeled '''Motor configuration'''. Every design has a configuration named ''[No motors]'' in addition to the user-defined configurations, which contains no motors.<br />
<br />
<!--T:6--><br />
You can configure all aspects of motor configurations in the '''Edit motor configurations''' dialog. It can be opened from any motor configuration selector.<br />
<br />
<br />
=== How do I define motors? === <!--T:7--><br />
<br />
<!--T:8--> <br />
Defining motors and simulating using them in OpenRocket requires three steps: defining which components function as motor mounts, defining the different motor configurations, and defining which motor configuration to use in a particular simulation.<br />
<br />
<!--T:9--><br />
OpenRocket supports attaching motors in either body tubes or inner tubes. To make a component be a motor mount, open the configuration dialog for that component, move to the '''Motor''' tab and tick the box ''This component is a motor mount''. After that you can select motors for different motor configurations on the same tab. See [[#How to use motor configurations?]] for details on motor configurations.<br />
<br />
<!--T:10--><br />
Last, when you create a new simulation, you need to select which motor configuration it uses. This is done from the ''Motor configuration'' dropdown of the '''Launch conditions''' tab. The default motor configuration is the currently selected configuration of the design figure.<br />
<br />
<br />
=== How do I create a clustered rocket? === <!--T:11--><br />
<br />
<!--T:12--><br />
Clusters can be created using the '''Cluster''' tab of an Inner tube. This allows you to cluster the inner tubes in various configurations, distances and angles. The motor selected for the inner tube will be used for all the inner tubes in the cluster, and any components (such as engine blocks) attached to the inner tube will be replicated for all of the inner tubes.<br />
<br />
<!--T:13--><br />
If you need more fine-grained control on what components are in which tubes, you can create the cluster this way and then split the cluster into individual components by clicking ''Split cluster''. You can then modify the individual components of the cluster. Note that you cannot re-assemble a split cluster (except with undo).<br />
<br />
<!--T:14--><br />
Note that you can create clusters of clusters by attaching inner tubes to other inner tubes, but ''the motors attached to such configurations will not be counted up correctly!'' This is a known bug that will be addressed in later versions.<br />
<br />
<!--T:15--><br />
The cluster techniques can also be combined with a [[#How do I create a staged rocket?|staged rocket]].<br />
<br />
<br />
=== How do I create a staged rocket? === <!--T:16--><br />
<br />
<!--T:17--><br />
First, the components belonging to different stages must be attached to separate stage components. You can add stages to the rocket by clicking the ''New stage'' button on the main design window. Stages are always used from the lowest to the highest, and when an upper-stage motor ignites all lower stages are automatically dropped off.<br />
<br />
<!--T:18--><br />
The motor ignition event can be selected on the '''Motor''' tab of the body tubes or inner tubes. The default is ''Automatic'', which is suitable for small rockets, where the ejection charge of the lower stage lights up the upper stage motors. The lowest stage will be ignited at launch.<br />
<br />
<!--T:19--><br />
In larger staged rockets that don't have ejection charges the ignition event must be changed. The first stage to light up should ignite at ''Launch'' (or ''Automatic''). If the latter stages are ignited by an onboard computer that detects deceleration, they should be set to ''First burnout of previous stage''. (Note that this assumes the lower stage motors have equal burn lengths.) If the latter stage is ignited by a timer, the event should be set to ''Launch'' and a suitable delay added.<br />
<br />
<!--T:20--><br />
Each of the events can take an additional delay parameter. This allows taking into account for example the time for an ejection charge to light up the next stage or the time for an onboard computer to ignite the next stage. It can also be used for timed ignition, by setting the ejection event to ''Launch'' plus ''n'' seconds.<br />
<br />
<!--T:21--><br />
The staging techniques can also be combined with a [[#How do I create a clustered rocket?|clustered rocket]].<br />
<br />
<br />
=== How do I create external pods to the rocket? === <!--T:22--><br />
<br />
<!--T:23--><br />
External pods are currently not supported by OpenRocket. This feature has been considered, but it requires more knowledge of how to reliably simulate such configurations. If you know about such simulation or would like to implement it, please [http://openrocket.sourceforge.net/contact.html contact us]!<br />
<br />
<!--T:24--><br />
Note that even though inner tubes can be displaced outside of the body tube, ''they will not affect the aerodynamics of the rocket''. This can provide a visual clue of what such a rocket would look like, but does not provide simulation accuracy. Similarly, extremely thick fins are still considered as fins, and won't likely produce reliable results.<br />
<br />
<br />
=== How do I add motors to the database? === <!--T:25--><br />
<br />
<!--T:26--><br />
You can define external files to be loaded into the thrust curve database. There are two ways to add the files:<br />
<br />
<br />
<!--T:27--><br />
* Copy the files to the OpenRocket configuration directory. This is environment-specific:<br><br><br />
{| border="1" style="margin-left: 2em"<br />
| '''Windows:'''<br />
| <tt>C:\Documents and Settings\<i>username</i>\Application Data\OpenRocket\ThrustCurves\</tt> or<br />
<tt>C:\Users\<i>username</i>\AppData\Roaming\OpenRocket\ThrustCurves</tt> (typical)<br />
|-<br />
| '''Linux:'''<br />
| <tt>~/.openrocket/ThrustCurves/</tt><br />
|-<br />
| '''Mac OS X:'''<br />
| <tt>~/Library/Application Support/OpenRocket/ThrustCurves/</tt><br />
|}<br />
<br />
<br />
<!--T:28--><br />
'''OR'''<br />
<br />
<br />
<!--T:29--><br />
* Instruct OpenRocket to load the files from another location. This can be done on the "Options" tab from the preferences.<br />
<br />
<br />
<!--T:30--><br />
Thrust curves can be loaded from RASP motor files (.eng), RockSim engine files (.rse) or ZIP archives containing the same.<br />
<br />
<br />
<br />
== Other == <!--T:32--><br />
<br />
=== What information is stored during automatic update checks? === <!--T:33--><br />
<br />
<!--T:34--><br />
When checking for updates, OpenRocket sends some non-personal information about the current installation. This information is used for statistical purposes (such as estimating what kind of load would be expected to [http://www.thrustcurve.org/ thrustcurve.org] when integrating with it, what Java versions should be supported, how much effort should be spent on parallelization, to what languages the software should be localized etc.) and also to quench the curiosity of the developers. We don't get any payment for the work we do, so knowing how much the software is used may help in motivating further development.<br />
<br />
<!--T:35--><br />
The information stored during the checks are:<br />
<br />
<!--T:36--><br />
# The OpenRocket version and build source (default JAR file or some Linux distribution for instance)<br />
# A randomly-generated ID for the installation (does not contain any information about the user or system)<br />
# The operating system name and computer architecture<br />
# The Java runtime vendor and Java runtime version<br />
# The country and locale of the user<br />
# The number of processors in the computer<br />
# The time when the check was made<br />
<br />
<!--T:37--><br />
Note that the user's IP address is ''not'' stored with this information. The IP address is likely stored in the Sourceforge web access logs, but the developers do not have access to this information.<br />
<br />
<!--T:38--><br />
The automatic checks for updates can be disabled in the '''Options''' tab of the preferences dialog.<br />
<br />
=== Where to ask more information? === <!--T:39--><br />
<br />
<!--T:40--><br />
The best place to ask questions is the [https://sourceforge.net/p/openrocket/mailman/ OpenRocket mailing list], where other people can also answer and see the answers.<br />
<br />
<!--T:41--><br />
Other contact information can be found on the [http://openrocket.info/contact.html contact info page].<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Component_Details&diff=34538Component Details2021-03-10T03:26:24Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[FAQ|&larr; Frequently Asked Questions (Appendix A)]]</div><br />
<div style="float: right;">[[Tips|Tips (Appendix C) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
==Appendix A: Components Details==<br />
''List/table/whatever of all the available component types, parameters and any limitations of each.''<br />
<br />
[[File:OpenRocket_Components.png|thumb|800 px|center| Openrocket <i>components</i>.]]<br />
<br />
Body components and fins set<br />
{| border="2" style="margin-left: 2em"<br />
| '''Nose Cone[[File:noise_cone.png|thumb|800 px|center]]'''<br />
| <tt> It is possible to choose from different Nose cone types. </tt> <br />
|-<br />
| '''Body tube[[File:body_tube.png|thumb|800 px|center]]'''<br />
| <tt> The carcass and the rocket itself. Possible to chose different materials and thicknesses that affect densities and therefore weights of rocket. </tt><br />
|-<br />
| '''Transition[[File:transition.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Launch lug[[File:launch_lug.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Fins Trapezoidal[[File:fin_trapezoidale.png|thumb|800 px|center]]Eliptical[[File:fin_eliptical.png|thumb|800 px|center]]Free form[[File:fin_freeform.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Inner components<br />
{| border="2" style="margin-left: 2em"<br />
| '''Inner tube[[File:inner_tube.png|thumb|800 px|center]]'''<br />
| <tt>Inner tubes are usually used as motor mount.</tt><br />
|-<br />
| '''Coupler[[File:coupler.png|thumb|800 px|center]]'''<br />
| <tt>Tubes can be connected together using couplers. Couplers can also be used to make pistons. </tt><br />
|-<br />
| '''Centering ring[[File:centering_ring.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Bulkhead[[File:bulkead.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Engine block[[File:engine_block.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Mass objects<br />
{| border="2" style="margin-left: 2em"<br />
| '''Parachute[[File:parachute.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Shock corde[[File:shock_cord.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Streamer[[File:streamer.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Mass component[[File:Mass_Component.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|}<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[FAQ|&larr; Frequently Asked Questions (Appendix A)]]</div><br />
<div style="float: right;">[[Tips|Tips (Appendix C) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=FAQ&diff=34537FAQ2021-03-10T03:25:09Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<!--T:1--><br />
This page lists various frequently asked questions. Most of these are categorized as "How to" questions for various design issues.<br />
<br />
== Using OpenRocket == <!--T:2--><br />
<br />
=== How to use motor configurations? === <!--T:3--><br />
<br />
<!--T:4--><br />
OpenRocket uses the notion of '''motor configurations''' for rocket designs. Each motor configuration corresponds to a configuration you are planning on launching your rocket with. For example for a simple small rocket you could define three configurations, one using an A8-3 motor, one using a B4-4 motor, and one using a C6-3 motor. For a multi-stage or clustered rocket you can define and experiment with many other motor configurations easily and switch between them. You can define any number of motor configurations for a rocket design.<br />
<br />
<!--T:5--><br />
In the rocket design window, you can select which motor configuration is displayed in the figure by the dropdown labeled '''Motor configuration'''. Every design has a configuration named ''[No motors]'' in addition to the user-defined configurations, which contains no motors.<br />
<br />
<!--T:6--><br />
You can configure all aspects of motor configurations in the '''Edit motor configurations''' dialog. It can be opened from any motor configuration selector.<br />
<br />
<br />
=== How do I define motors? === <!--T:7--><br />
<br />
<!--T:8--> <br />
Defining motors and simulating using them in OpenRocket requires three steps: defining which components function as motor mounts, defining the different motor configurations, and defining which motor configuration to use in a particular simulation.<br />
<br />
<!--T:9--><br />
OpenRocket supports attaching motors in either body tubes or inner tubes. To make a component be a motor mount, open the configuration dialog for that component, move to the '''Motor''' tab and tick the box ''This component is a motor mount''. After that you can select motors for different motor configurations on the same tab. See [[#How to use motor configurations?]] for details on motor configurations.<br />
<br />
<!--T:10--><br />
Last, when you create a new simulation, you need to select which motor configuration it uses. This is done from the ''Motor configuration'' dropdown of the '''Launch conditions''' tab. The default motor configuration is the currently selected configuration of the design figure.<br />
<br />
<br />
=== How do I create a clustered rocket? === <!--T:11--><br />
<br />
<!--T:12--><br />
Clusters can be created using the '''Cluster''' tab of an Inner tube. This allows you to cluster the inner tubes in various configurations, distances and angles. The motor selected for the inner tube will be used for all the inner tubes in the cluster, and any components (such as engine blocks) attached to the inner tube will be replicated for all of the inner tubes.<br />
<br />
<!--T:13--><br />
If you need more fine-grained control on what components are in which tubes, you can create the cluster this way and then split the cluster into individual components by clicking ''Split cluster''. You can then modify the individual components of the cluster. Note that you cannot re-assemble a split cluster (except with undo).<br />
<br />
<!--T:14--><br />
Note that you can create clusters of clusters by attaching inner tubes to other inner tubes, but ''the motors attached to such configurations will not be counted up correctly!'' This is a known bug that will be addressed in later versions.<br />
<br />
<!--T:15--><br />
The cluster techniques can also be combined with a [[#How do I create a staged rocket?|staged rocket]].<br />
<br />
<br />
=== How do I create a staged rocket? === <!--T:16--><br />
<br />
<!--T:17--><br />
First, the components belonging to different stages must be attached to separate stage components. You can add stages to the rocket by clicking the ''New stage'' button on the main design window. Stages are always used from the lowest to the highest, and when an upper-stage motor ignites all lower stages are automatically dropped off.<br />
<br />
<!--T:18--><br />
The motor ignition event can be selected on the '''Motor''' tab of the body tubes or inner tubes. The default is ''Automatic'', which is suitable for small rockets, where the ejection charge of the lower stage lights up the upper stage motors. The lowest stage will be ignited at launch.<br />
<br />
<!--T:19--><br />
In larger staged rockets that don't have ejection charges the ignition event must be changed. The first stage to light up should ignite at ''Launch'' (or ''Automatic''). If the latter stages are ignited by an onboard computer that detects deceleration, they should be set to ''First burnout of previous stage''. (Note that this assumes the lower stage motors have equal burn lengths.) If the latter stage is ignited by a timer, the event should be set to ''Launch'' and a suitable delay added.<br />
<br />
<!--T:20--><br />
Each of the events can take an additional delay parameter. This allows taking into account for example the time for an ejection charge to light up the next stage or the time for an onboard computer to ignite the next stage. It can also be used for timed ignition, by setting the ejection event to ''Launch'' plus ''n'' seconds.<br />
<br />
<!--T:21--><br />
The staging techniques can also be combined with a [[#How do I create a clustered rocket?|clustered rocket]].<br />
<br />
<br />
=== How do I create external pods to the rocket? === <!--T:22--><br />
<br />
<!--T:23--><br />
External pods are currently not supported by OpenRocket. This feature has been considered, but it requires more knowledge of how to reliably simulate such configurations. If you know about such simulation or would like to implement it, please [http://openrocket.sourceforge.net/contact.html contact us]!<br />
<br />
<!--T:24--><br />
Note that even though inner tubes can be displaced outside of the body tube, ''they will not affect the aerodynamics of the rocket''. This can provide a visual clue of what such a rocket would look like, but does not provide simulation accuracy. Similarly, extremely thick fins are still considered as fins, and won't likely produce reliable results.<br />
<br />
<br />
=== How do I add motors to the database? === <!--T:25--><br />
<br />
<!--T:26--><br />
You can define external files to be loaded into the thrust curve database. There are two ways to add the files:<br />
<br />
<br />
<!--T:27--><br />
* Copy the files to the OpenRocket configuration directory. This is environment-specific:<br><br><br />
{| border="1" style="margin-left: 2em"<br />
| '''Windows:'''<br />
| <tt>C:\Documents and Settings\<i>username</i>\Application Data\OpenRocket\ThrustCurves\</tt> or<br />
<tt>C:\Users\<i>username</i>\AppData\Roaming\OpenRocket\ThrustCurves</tt> (typical)<br />
|-<br />
| '''Linux:'''<br />
| <tt>~/.openrocket/ThrustCurves/</tt><br />
|-<br />
| '''Mac OS X:'''<br />
| <tt>~/Library/Application Support/OpenRocket/ThrustCurves/</tt><br />
|}<br />
<br />
<br />
<!--T:28--><br />
'''OR'''<br />
<br />
<br />
<!--T:29--><br />
* Instruct OpenRocket to load the files from another location. This can be done on the "Options" tab from the preferences.<br />
<br />
<br />
<!--T:30--><br />
Thrust curves can be loaded from RASP motor files (.eng), RockSim engine files (.rse) or ZIP archives containing the same.<br />
<br />
<br />
<br />
== Other == <!--T:32--><br />
<br />
=== What information is stored during automatic update checks? === <!--T:33--><br />
<br />
<!--T:34--><br />
When checking for updates, OpenRocket sends some non-personal information about the current installation. This information is used for statistical purposes (such as estimating what kind of load would be expected to [http://www.thrustcurve.org/ thrustcurve.org] when integrating with it, what Java versions should be supported, how much effort should be spent on parallelization, to what languages the software should be localized etc.) and also to quench the curiosity of the developers. We don't get any payment for the work we do, so knowing how much the software is used may help in motivating further development.<br />
<br />
<!--T:35--><br />
The information stored during the checks are:<br />
<br />
<!--T:36--><br />
# The OpenRocket version and build source (default JAR file or some Linux distribution for instance)<br />
# A randomly-generated ID for the installation (does not contain any information about the user or system)<br />
# The operating system name and computer architecture<br />
# The Java runtime vendor and Java runtime version<br />
# The country and locale of the user<br />
# The number of processors in the computer<br />
# The time when the check was made<br />
<br />
<!--T:37--><br />
Note that the user's IP address is ''not'' stored with this information. The IP address is likely stored in the Sourceforge web access logs, but the developers do not have access to this information.<br />
<br />
<!--T:38--><br />
The automatic checks for updates can be disabled in the '''Options''' tab of the preferences dialog.<br />
<br />
=== Where to ask more information? === <!--T:39--><br />
<br />
<!--T:40--><br />
The best place to ask questions is the [https://sourceforge.net/p/openrocket/mailman/ OpenRocket mailing list], where other people can also answer and see the answers.<br />
<br />
<!--T:41--><br />
Other contact information can be found on the [http://openrocket.info/contact.html contact info page].<br />
<br />
<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Simulation_Listeners&diff=34536Simulation Listeners2021-03-10T03:23:57Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Custom Expressions|&larr; Custom Expressions]]</div><br />
<div style="float: right;">[[FAQ|Frequently Asked Questions (Appendix A) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
{| style="background: #FDC; border: 1px solid #ECB; text-align: center; margin: 0% 10%; width: 80%;"<br />
|<br />
This page describes features or examples introduced in '''OpenRocket version 1.1.6'''.<br/><br />
Earlier software versions may have different functionality or example designs.<br />
|}<br />
<br />
<br />
'''''Simulation listeners''''' are an advanced way to monitor and interact with flight simulations while they are running. They work by defining a number of "hooks" of custom code which are called as various points during the simulation. OpenRocket allows full control of the rocket flight during the simulation. This enables simulating, for example, air-starts, active control mechanisms or calculating additional flight parameters on-the-fly.<br />
<br />
Using simulation listeners requires basic Java knowledge and knowing how to use the command line.<br />
<br />
The basic steps for implementing and using simulation listeners are the following:<br />
<br />
# Implement the simulation listener in Java.<br />
# Compile the Java class file.<br />
# Start OpenRocket and include the class file in the classpath.<br />
# Add the simulation listener to a simulation and run the simulation.<br />
<br />
The example below will show these steps in detail.<br />
<br />
<br />
=== Air-start launch example ===<br />
<br />
The following example demonstrates how to simulate an air-start launch that launches from a height of 1000 meters.<br />
<br />
First we need to implement the simulation listener in Java. The implementation is as below, stored in the file "<tt style="color: #006">AirStart.java</tt>":<br />
<br />
{| align="top"<br />
| <pre style="background-color: transparent; color: gray; border-color: transparent;"><br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
</pre><br />
| <pre><br />
import net.sf.openrocket.simulation.SimulationStatus;<br />
import net.sf.openrocket.simulation.exception.SimulationException;<br />
import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;<br />
import net.sf.openrocket.util.Coordinate;<br />
<br />
/**<br />
* Simulation listener that launches a rocket from a specific altitude.<br />
*/<br />
public class AirStart extends AbstractSimulationListener {<br />
<br />
/** Launch altitude in meters */<br />
private static final double ALTITUDE = 1000.0;<br />
<br />
@Override<br />
public void startSimulation(SimulationStatus status) throws SimulationException {<br />
Coordinate position = status.getRocketPosition();<br />
position = position.add(0, 0, ALTITUDE);<br />
status.setRocketPosition(position);<br />
}<br />
<br />
}<br />
</pre><br />
|}<br />
<br />
<br />
'''Lines 1-4''' have the necessary class imports for using the OpenRocket classes.<br />
<br />
'''Line 9''' defines the <tt style="color: #006">AirStart</tt> class. The class extends the <tt style="color: #006">AbstractSimulationListener</tt> class, which is the recommended way of defining simulation listeners. This allows better future compatibility, and allows you to override and implement only the methods relevant to your needs.<br />
<br />
'''Line 12''' defines a constant which has the launch altitude. OpenRocket does not currently support configuring simulation listeners, so all properties of the listener need to be hard-coded or read from some external source.<br />
<br />
'''Lines 14-15''' override the <tt style="color: #006">startSimulation</tt> method. This method is called at the beginning of a simulation. It is the proper place for setting up initial conditions for the simulation. The method takes a <tt style="color: #006">SimulationStatus</tt> object as an argument, which contains all details of the rocket's position, orientation and movement as well as all simulation details. This can be freely modified to suit the customization needs.<br />
<br />
'''Lines 16-18''' contain the actual air-start implementation. On line 16 we get the current rocket position as a three-dimensional cartesian coordinate (which should be the origin (0,0,0)). On line 17 we add the launch altitude to the Z-axis, which corresponds to altitude above ground. Finally on line 18 we set the position back into the <tt style="color: #006">SimulationStatus</tt> object.<br />
<br />
After the listener has been implemented, it needs to be compiled into a Java class file. This requires providing the OpenRocket application on the classpath so that the compilation dependencies are met. Assuming that the OpenRocket JAR file and the <tt style="color: #006">AirStart.java</tt> file are both in the current directory, the file can be compiled for example on the command line with:<br />
<br />
$ javac -cp OpenRocket-1.1.6.jar AirStart.java <br />
<br />
This will produce <tt style="color: #006">AirStart.class</tt>, which is the compiled class file.<br />
<br />
Next we need to start OpenRocket with the directory containing the class file included on the classpath. The startup class needs to be explicitly defined, because using the <tt style="color: #006">-jar</tt> option would override the classpath set on the command line. From the command line:<br />
<br />
$ java -cp OpenRocket-1.1.6.jar:. net.sf.openrocket.startup.Startup<br />
<br />
Finally we need to add the simulation listener to a simulation. Open the ''Three-stage rocket'' example design. Create a new simulation which uses the ''[C6-5; B6-0; B6-0]'' motor configuration. Then open the ''Simulation options'' tab, and click ''Add'' under ''Simulation listeners''. Type in <tt style="color: #006">AirStart</tt>, click OK and run the simulation.<br />
<br />
You should get an apogee altitude between 1400-1500 meters. When you plot the simulation the rocket starts from an altitude of 1000 meters, rises to about 1450 meters and finally lands to 0 meters.<br />
<br />
A slightly enhanced version of the air-start simulation listener is included in the OpenRocket package and can be used directly with the name <tt style="color: #006">net.sf.openrocket.simulation.listeners.example.AirStart</tt>. The source code is [http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/example/AirStart.java?view=markup available in SVN].<br />
<br />
<br />
<br />
=== Simulation listener actions ===<br />
<br />
The simulation listeners can take action and modify the rocket state at any of the following (method names included in parenthesis):<br />
<br />
* before and after the simulation (<tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt>)<br />
* before and after a single step of the simulation (<tt style="color: #006">preStep</tt>, <tt style="color: #006">postStep</tt>)<br />
* before adding a flight event to the event queue (<tt style="color: #006">addFlightEvent</tt>)<br />
* before handling a flight event (<tt style="color: #006">handleFlightEvent</tt>)<br />
* before any motor ignition (<tt style="color: #006">motorIgnition</tt>) or recovery device deployment (<tt style="color: #006">recoveryDeviceDeployment</tt>)<br />
* before and after any computation (<tt style="color: #006">pre<em>Xyz</em></tt>, <tt style="color: #006">post<em>Xyz</em></tt>)<br />
<br />
All simulation listeners must implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationListener.java?view=markup SimulationListener]</tt> interface. This defines a few basic hooks for the simulation startup and steps. For additional hooks the class can additionally implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationEventListener.java?view=markup SimulationEventListener]</tt> and <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationComputationListener.java?view=markup SimulationComputationListener]</tt> interfaces.<br />
<br />
The recommended way of implementing simulation listeners is by extending the <tt style="color: #006">AbstractSimulationListener</tt> class. This implements all of the hook methods with abstract implementations that do nothing. During future development the interfaces may be augmented or change slightly, but the abstract class will contain backward-compatible callbacks.<br />
<br />
The hook methods come in three varieties depending on the return value.<br />
<br />
* The <tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt> and <tt style="color: #006">postStep</tt> are hooks that are called at a specific point of the simulation. They are void methods and do not return any value.<br />
* The <tt style="color: #006">preStep</tt> and event-related hooks return a boolean value indicating whether the action should be taken or not. A return value of <tt style="color: #006">true</tt> indicates that the action should be taken as normally would be (default), <tt style="color: #006">false</tt> will inhibit the action.<br />
* The pre- and post-computation methods may return the computed value, either as an object or a double value. The pre-computation methods allow pre-empting the entire computation, while the post-computation methods allow augmenting the computed values. These methods may return <tt style="color: #006">null</tt> or <tt style="color: #006">Double.NaN</tt> to use the original values (default), or return an overriding value.<br />
<br />
Every method receives a <tt style="color: #006">SimulationStatus</tt> object as the first argument, and may have additional arguments. The <tt style="color: #006">SimulationStatus</tt> object contains information about the rocket's current position, orientation, velocity and simulation state. It also contains a reference to a copy of the rocket design and its configuration. Any simulation listener method may modify the state of the rocket by changing the properties of the state object.<br />
<br />
Each listener method may also throw a <tt style="color: #006">SimulationException</tt>. This is considered an error during simulation, and an error dialog is displayed to the user with the exception message. The simulation data thus far is not stored in the simulation. Throwing a <tt style="color: #006">RuntimeException</tt> is considered a bug in the software and will result in a bug report dialog.<br />
<br />
If a simulation listener wants to stop a simulation prematurely without an error condition, it needs to add a flight event of type <tt style="color: #006">SIMULATION_END</tt> to the simulation event queue:<br />
<br />
status.getEventQueue().add(new FlightEvent(FlightEvent.Type.SIMULATION_END, status.getSimulationTime(), null));<br />
<br />
This will cause the simulation to be terminated normally.<br />
<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Custom Expressions|&larr; Custom Expressions]]</div><br />
<div style="float: right;">[[FAQ|Frequently Asked Questions (Appendix A) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Custom_Expressions&diff=34535Custom Expressions2021-03-10T03:22:08Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Simulation Listeners|Simulation Listeners &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
== Overview ==<br />
<br />
In openrocket (12.09 and later), you are not limited to using just the built-in simulation variables in your plots and analysis.<br />
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.<br />
<br />
Custom expressions are added to your rocket document from the 'Analyze' menu under custom expressions. This will open a window showing all your custom expressions.<br />
<br />
[[File:custom_expressions.png]]<br />
<br />
Initially there will be no custom expressions, so you will need to add one using the ''New expression'' button in the lower right. This opens the expression builder window. You can also import expressions from another .ork file.<br />
<br />
== Building expressions ==<br />
<br />
[[File:expression_builder.png]]<br />
<br />
You must specify a name for the expression, a short symbol, the units of the resulting value, and of course the expression itself. After you enter a valid value in each of the fields the adjacent indicator will change from red to green. Only when all indicators are green will you be able to add or update the expression.<br />
<br />
* The name field can be arbitrary, it only must have not been used before.<br />
* The symbol field is intended for a short (locale-independent) symbol representing the value. It must not have been used before, contain no numbers, whitespaces, special characters such as brackets or operators.<br />
* There are no restrictions on the unit, it can even be empty for dimensionless quantities. However, if you enter a standard SI unit then you will be able to automatically convert the units when plotting or exporting. The available SI units are: m, m^2, m/s, kg, kg m^2, kg m^3, N, Ns, s, Pa, V, A, J, W, kg m/s, Hz, K. They must match exactly. <br />
* The expression must only contain valid symbols, operators and numbers and must make sense mathematically. For convenience, the adjacent indicator updates on-the-fly.<br />
* It is possible to nest custom expressions, i.e. you can use the symbol defined for a custom expression in another expression. However, you must ensure that expressions are calculated in the correct order if you do this. This can be done using the blue arrows in the custom expression pane to adjust the order of calculation.<br />
<br />
To see a list of the available variables and their symbols, click the ''Insert Variable'' button. This will open a window from which you can choose a variable and insert it (at the current cursor position) in the expression box. This is particularly useful because you may not be able to type some of the symbols on your keyboard. The ''insert operator'' window is similar and shows all the available mathematical operators and functions.<br />
<br />
== Index expressions ==<br />
<br />
The custom expressions are calculated at each time step of the simulation, however there are some cases where it is useful to have access to earlier values of a given variable. This is possible using ''index expressions''. These use a square bracket syntax to specify the time (in seconds) for the variable you want. For example, the expression:<br />
m / m[0]<br />
would give the ratio of the current mass to the launch mass at time 0. Similarly, <br />
m - m[t-1]<br />
would give you the change in mass over the last second.<br />
<br />
You can specify any valid sub-expression inside the square brackets, the only restriction is that you can't nest another index/range expression inside the square brackets.<br />
<br />
When indexed expressions are calculated, interpolation is used to get the value exactly at the specified time, independent of the time steps of the simulation.<br />
<br />
If you specify a time smaller than 0 or greater than t then it will be clipped to 0 or t respectively. You can't access data that has not been calculated yet.<br />
<br />
== Range expressions ==<br />
<br />
It is sometimes useful to have access to a range of values of a particular variable rather than just one point. Openrocket includes a number of useful operators for calculating statistics and other properties of ranges. These operators can be identified in the operator selection box by the ''[:]'' which will already have been filled out in place of one of more of the parameters.<br />
<br />
Range expressions are defined with a square bracket syntax similar to index expressions, but with a '':'' used to separate the lower and upper bounds of a range. For example, suppose we had an accelerometer on our rocket which (as many do) includes some low-pass filtering on the output. This can be modeled as a moving average, and defined with a custom expression such as:<br />
mean(At[t-0.5:t])<br />
which will calculate a moving mean for the variable At (total acceleration) over the last 0.5 seconds of data.<br />
<br />
As with index expressions, the upper and lower bounds can be any valid expression. If omitted, the upper bound will default to t and the lower bound to 0, so the above expression can also be written<br />
mean(At[t-0.5:])<br />
<br />
In this particular case, we might want to make the expression more realistic by clipping accelerations above a given threshold and perhaps returning the actual voltage from the sensor, for example:<br />
0.2 * uclip( mean(At[t-.5:]), 10 )<br />
<br />
Note that when range expressions are calculated the data is generated by interpolation over the specified range with a fixed time step equal to the default time step set in your simulation options. This is independent of the current time step ''dt'' used by the simulation engine. When generated, range expressions include the start time and step information. The facilitates easy integration or optimization with functions such as ''trapz([:])'' for trapezoidal integration or ''tnear([:],x)'' for finding the time value when a variable is nearest a specified value.<br />
<br />
For a complete list of all the operators available see the operator selection list when making a new expression.<br />
<br />
== Troubleshooting ==<br />
<br />
While openrocket makes a reasonable attempt to check your expression as you enter it, it is still possible to enter something invalid or that can't be calculated for some reason. In this case you will simply end up with no data available to plot after running the simulation.<br />
<br />
If you can't figure out why your expression is not generating any data or can't be accepted by the expression builder then you might find some useful information in the error log. This can be accessed from the help -> debug log menu. Any relevant messages are probably under the 'USER' category.<br />
<br />
It should not be possible to cause a crash with an invalid expression. If you manage to please report the bug and include your expression.<br />
<br />
Custom expressions are interpreted during the simulation and are necessarily much slower than `native' datatypes. For a few simple expressions you probably won't notice much speed difference but it can become particularly significant if you have range expressions. If speed is an issue for you then you might want to consider implementing your expression as a [[Simulation_Listeners|simulation listener]].<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Simulation Listeners|Simulation Listeners &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Rocket_Analysis&diff=34534Rocket Analysis2021-03-10T03:21:01Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
''- component analysis dialog'' <br /><br />
''- more details about the plottable variables? - pick up from previous chapter and cover the rest of the graphing/plottable variables in full.''<br /><br />
''- instructions to export simulation data and use it elsewhere''<br /><br />
''- print / pdf export''<br />
<br />
''This chapter has some overlap with [[Advanced Flight Simulation]], need to check the division.''<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Component_Details&diff=34533Component Details2021-03-10T03:14:09Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[FAQ|&larr; Frequently Asked Questions (Appendix A)]]</div><br />
<div style="float: right;">[[Tips|Tips (Appendix C) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
==Appendix A: Components Details==<br />
''List/table/whatever of all the available component types, parameters and any limitations of each.''<br />
<br />
[[File:OpenRocket_Components.png|thumb|800 px|center| Openrocket <i>components</i>.]]<br />
<br />
Body components and fins set<br />
{| border="2" style="margin-left: 2em"<br />
| '''Nose Cone[[File:noise_cone.png|thumb|800 px|center]]'''<br />
| <tt> It is possible to choose from different Nose cone types. </tt> <br />
|-<br />
| '''Body tube[[File:body_tube.png|thumb|800 px|center]]'''<br />
| <tt> The carcass and the rocket itself. Possible to chose different materials and thicknesses that affect densities and therefore weights of rocket. </tt><br />
|-<br />
| '''Transition[[File:transition.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Launch lug[[File:launch_lug.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Fins Trapezoidal[[File:fin_trapezoidale.png|thumb|800 px|center]]Eliptical[[File:fin_eliptical.png|thumb|800 px|center]]Free form[[File:fin_freeform.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Inner components<br />
{| border="2" style="margin-left: 2em"<br />
| '''Inner tube[[File:inner_tube.png|thumb|800 px|center]]'''<br />
| <tt>Inner tubes are usually used as motor mount.</tt><br />
|-<br />
| '''Coupler[[File:coupler.png|thumb|800 px|center]]'''<br />
| <tt>Tubes can be connected together using couplers. Couplers can also be used to make pistons. </tt><br />
|-<br />
| '''Centering ring[[File:centering_ring.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Bulkhead[[File:bulkead.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Engine block[[File:engine_block.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|}<br />
<br />
Mass objects<br />
{| border="2" style="margin-left: 2em"<br />
| '''Parachute[[File:parachute.png|thumb|800 px|center]]'''<br />
| <tt> </tt><br />
|-<br />
| '''Shock corde[[File:shock_cord.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Streamer[[File:streamer.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|-<br />
| '''Mass component[[File:Mass_Component.png|thumb|800 px|center]]'''<br />
| <tt></tt><br />
|}<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[User's Guide|Contents &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=FAQ&diff=34532FAQ2021-03-10T03:11:53Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<!--T:1--><br />
This page lists various frequently asked questions. Most of these are categorized as "How to" questions for various design issues.<br />
<br />
== Using OpenRocket == <!--T:2--><br />
<br />
=== How to use motor configurations? === <!--T:3--><br />
<br />
<!--T:4--><br />
OpenRocket uses the notion of '''motor configurations''' for rocket designs. Each motor configuration corresponds to a configuration you are planning on launching your rocket with. For example for a simple small rocket you could define three configurations, one using an A8-3 motor, one using a B4-4 motor, and one using a C6-3 motor. For a multi-stage or clustered rocket you can define and experiment with many other motor configurations easily and switch between them. You can define any number of motor configurations for a rocket design.<br />
<br />
<!--T:5--><br />
In the rocket design window, you can select which motor configuration is displayed in the figure by the dropdown labeled '''Motor configuration'''. Every design has a configuration named ''[No motors]'' in addition to the user-defined configurations, which contains no motors.<br />
<br />
<!--T:6--><br />
You can configure all aspects of motor configurations in the '''Edit motor configurations''' dialog. It can be opened from any motor configuration selector.<br />
<br />
<br />
=== How do I define motors? === <!--T:7--><br />
<br />
<!--T:8--> <br />
Defining motors and simulating using them in OpenRocket requires three steps: defining which components function as motor mounts, defining the different motor configurations, and defining which motor configuration to use in a particular simulation.<br />
<br />
<!--T:9--><br />
OpenRocket supports attaching motors in either body tubes or inner tubes. To make a component be a motor mount, open the configuration dialog for that component, move to the '''Motor''' tab and tick the box ''This component is a motor mount''. After that you can select motors for different motor configurations on the same tab. See [[#How to use motor configurations?]] for details on motor configurations.<br />
<br />
<!--T:10--><br />
Last, when you create a new simulation, you need to select which motor configuration it uses. This is done from the ''Motor configuration'' dropdown of the '''Launch conditions''' tab. The default motor configuration is the currently selected configuration of the design figure.<br />
<br />
<br />
=== How do I create a clustered rocket? === <!--T:11--><br />
<br />
<!--T:12--><br />
Clusters can be created using the '''Cluster''' tab of an Inner tube. This allows you to cluster the inner tubes in various configurations, distances and angles. The motor selected for the inner tube will be used for all the inner tubes in the cluster, and any components (such as engine blocks) attached to the inner tube will be replicated for all of the inner tubes.<br />
<br />
<!--T:13--><br />
If you need more fine-grained control on what components are in which tubes, you can create the cluster this way and then split the cluster into individual components by clicking ''Split cluster''. You can then modify the individual components of the cluster. Note that you cannot re-assemble a split cluster (except with undo).<br />
<br />
<!--T:14--><br />
Note that you can create clusters of clusters by attaching inner tubes to other inner tubes, but ''the motors attached to such configurations will not be counted up correctly!'' This is a known bug that will be addressed in later versions.<br />
<br />
<!--T:15--><br />
The cluster techniques can also be combined with a [[#How do I create a staged rocket?|staged rocket]].<br />
<br />
<br />
=== How do I create a staged rocket? === <!--T:16--><br />
<br />
<!--T:17--><br />
First, the components belonging to different stages must be attached to separate stage components. You can add stages to the rocket by clicking the ''New stage'' button on the main design window. Stages are always used from the lowest to the highest, and when an upper-stage motor ignites all lower stages are automatically dropped off.<br />
<br />
<!--T:18--><br />
The motor ignition event can be selected on the '''Motor''' tab of the body tubes or inner tubes. The default is ''Automatic'', which is suitable for small rockets, where the ejection charge of the lower stage lights up the upper stage motors. The lowest stage will be ignited at launch.<br />
<br />
<!--T:19--><br />
In larger staged rockets that don't have ejection charges the ignition event must be changed. The first stage to light up should ignite at ''Launch'' (or ''Automatic''). If the latter stages are ignited by an onboard computer that detects deceleration, they should be set to ''First burnout of previous stage''. (Note that this assumes the lower stage motors have equal burn lengths.) If the latter stage is ignited by a timer, the event should be set to ''Launch'' and a suitable delay added.<br />
<br />
<!--T:20--><br />
Each of the events can take an additional delay parameter. This allows taking into account for example the time for an ejection charge to light up the next stage or the time for an onboard computer to ignite the next stage. It can also be used for timed ignition, by setting the ejection event to ''Launch'' plus ''n'' seconds.<br />
<br />
<!--T:21--><br />
The staging techniques can also be combined with a [[#How do I create a clustered rocket?|clustered rocket]].<br />
<br />
<br />
=== How do I create external pods to the rocket? === <!--T:22--><br />
<br />
<!--T:23--><br />
External pods are currently not supported by OpenRocket. This feature has been considered, but it requires more knowledge of how to reliably simulate such configurations. If you know about such simulation or would like to implement it, please [http://openrocket.sourceforge.net/contact.html contact us]!<br />
<br />
<!--T:24--><br />
Note that even though inner tubes can be displaced outside of the body tube, ''they will not affect the aerodynamics of the rocket''. This can provide a visual clue of what such a rocket would look like, but does not provide simulation accuracy. Similarly, extremely thick fins are still considered as fins, and won't likely produce reliable results.<br />
<br />
<br />
=== How do I add motors to the database? === <!--T:25--><br />
<br />
<!--T:26--><br />
You can define external files to be loaded into the thrust curve database. There are two ways to add the files:<br />
<br />
<br />
<!--T:27--><br />
* Copy the files to the OpenRocket configuration directory. This is environment-specific:<br><br><br />
{| border="1" style="margin-left: 2em"<br />
| '''Windows:'''<br />
| <tt>C:\Documents and Settings\<i>username</i>\Application Data\OpenRocket\ThrustCurves\</tt> or<br />
<tt>C:\Users\<i>username</i>\AppData\Roaming\OpenRocket\ThrustCurves</tt> (typical)<br />
|-<br />
| '''Linux:'''<br />
| <tt>~/.openrocket/ThrustCurves/</tt><br />
|-<br />
| '''Mac OS X:'''<br />
| <tt>~/Library/Application Support/OpenRocket/ThrustCurves/</tt><br />
|}<br />
<br />
<br />
<!--T:28--><br />
'''OR'''<br />
<br />
<br />
<!--T:29--><br />
* Instruct OpenRocket to load the files from another location. This can be done on the "Options" tab from the preferences.<br />
<br />
<br />
<!--T:30--><br />
Thrust curves can be loaded from RASP motor files (.eng), RockSim engine files (.rse) or ZIP archives containing the same.<br />
<br />
<br />
<br />
== Other == <!--T:32--><br />
<br />
=== What information is stored during automatic update checks? === <!--T:33--><br />
<br />
<!--T:34--><br />
When checking for updates, OpenRocket sends some non-personal information about the current installation. This information is used for statistical purposes (such as estimating what kind of load would be expected to [http://www.thrustcurve.org/ thrustcurve.org] when integrating with it, what Java versions should be supported, how much effort should be spent on parallelization, to what languages the software should be localized etc.) and also to quench the curiosity of the developers. We don't get any payment for the work we do, so knowing how much the software is used may help in motivating further development.<br />
<br />
<!--T:35--><br />
The information stored during the checks are:<br />
<br />
<!--T:36--><br />
# The OpenRocket version and build source (default JAR file or some Linux distribution for instance)<br />
# A randomly-generated ID for the installation (does not contain any information about the user or system)<br />
# The operating system name and computer architecture<br />
# The Java runtime vendor and Java runtime version<br />
# The country and locale of the user<br />
# The number of processors in the computer<br />
# The time when the check was made<br />
<br />
<!--T:37--><br />
Note that the user's IP address is ''not'' stored with this information. The IP address is likely stored in the Sourceforge web access logs, but the developers do not have access to this information.<br />
<br />
<!--T:38--><br />
The automatic checks for updates can be disabled in the '''Options''' tab of the preferences dialog.<br />
<br />
=== Where to ask more information? === <!--T:39--><br />
<br />
<!--T:40--><br />
The best place to ask questions is the [https://sourceforge.net/p/openrocket/mailman/ OpenRocket mailing list], where other people can also answer and see the answers.<br />
<br />
<!--T:41--><br />
Other contact information can be found on the [http://openrocket.info/contact.html contact info page].</div>Jddjhttp://wiki.openrocket.info/index.php?title=Simulation_Listeners&diff=34531Simulation Listeners2021-03-10T03:11:37Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[FAQ|Frequently Asked Questions (Appendix A) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
{| style="background: #FDC; border: 1px solid #ECB; text-align: center; margin: 0% 10%; width: 80%;"<br />
|<br />
This page describes features or examples introduced in '''OpenRocket version 1.1.6'''.<br/><br />
Earlier software versions may have different functionality or example designs.<br />
|}<br />
<br />
<br />
'''''Simulation listeners''''' are an advanced way to monitor and interact with flight simulations while they are running. They work by defining a number of "hooks" of custom code which are called as various points during the simulation. OpenRocket allows full control of the rocket flight during the simulation. This enables simulating, for example, air-starts, active control mechanisms or calculating additional flight parameters on-the-fly.<br />
<br />
Using simulation listeners requires basic Java knowledge and knowing how to use the command line.<br />
<br />
The basic steps for implementing and using simulation listeners are the following:<br />
<br />
# Implement the simulation listener in Java.<br />
# Compile the Java class file.<br />
# Start OpenRocket and include the class file in the classpath.<br />
# Add the simulation listener to a simulation and run the simulation.<br />
<br />
The example below will show these steps in detail.<br />
<br />
<br />
=== Air-start launch example ===<br />
<br />
The following example demonstrates how to simulate an air-start launch that launches from a height of 1000 meters.<br />
<br />
First we need to implement the simulation listener in Java. The implementation is as below, stored in the file "<tt style="color: #006">AirStart.java</tt>":<br />
<br />
{| align="top"<br />
| <pre style="background-color: transparent; color: gray; border-color: transparent;"><br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
</pre><br />
| <pre><br />
import net.sf.openrocket.simulation.SimulationStatus;<br />
import net.sf.openrocket.simulation.exception.SimulationException;<br />
import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;<br />
import net.sf.openrocket.util.Coordinate;<br />
<br />
/**<br />
* Simulation listener that launches a rocket from a specific altitude.<br />
*/<br />
public class AirStart extends AbstractSimulationListener {<br />
<br />
/** Launch altitude in meters */<br />
private static final double ALTITUDE = 1000.0;<br />
<br />
@Override<br />
public void startSimulation(SimulationStatus status) throws SimulationException {<br />
Coordinate position = status.getRocketPosition();<br />
position = position.add(0, 0, ALTITUDE);<br />
status.setRocketPosition(position);<br />
}<br />
<br />
}<br />
</pre><br />
|}<br />
<br />
<br />
'''Lines 1-4''' have the necessary class imports for using the OpenRocket classes.<br />
<br />
'''Line 9''' defines the <tt style="color: #006">AirStart</tt> class. The class extends the <tt style="color: #006">AbstractSimulationListener</tt> class, which is the recommended way of defining simulation listeners. This allows better future compatibility, and allows you to override and implement only the methods relevant to your needs.<br />
<br />
'''Line 12''' defines a constant which has the launch altitude. OpenRocket does not currently support configuring simulation listeners, so all properties of the listener need to be hard-coded or read from some external source.<br />
<br />
'''Lines 14-15''' override the <tt style="color: #006">startSimulation</tt> method. This method is called at the beginning of a simulation. It is the proper place for setting up initial conditions for the simulation. The method takes a <tt style="color: #006">SimulationStatus</tt> object as an argument, which contains all details of the rocket's position, orientation and movement as well as all simulation details. This can be freely modified to suit the customization needs.<br />
<br />
'''Lines 16-18''' contain the actual air-start implementation. On line 16 we get the current rocket position as a three-dimensional cartesian coordinate (which should be the origin (0,0,0)). On line 17 we add the launch altitude to the Z-axis, which corresponds to altitude above ground. Finally on line 18 we set the position back into the <tt style="color: #006">SimulationStatus</tt> object.<br />
<br />
After the listener has been implemented, it needs to be compiled into a Java class file. This requires providing the OpenRocket application on the classpath so that the compilation dependencies are met. Assuming that the OpenRocket JAR file and the <tt style="color: #006">AirStart.java</tt> file are both in the current directory, the file can be compiled for example on the command line with:<br />
<br />
$ javac -cp OpenRocket-1.1.6.jar AirStart.java <br />
<br />
This will produce <tt style="color: #006">AirStart.class</tt>, which is the compiled class file.<br />
<br />
Next we need to start OpenRocket with the directory containing the class file included on the classpath. The startup class needs to be explicitly defined, because using the <tt style="color: #006">-jar</tt> option would override the classpath set on the command line. From the command line:<br />
<br />
$ java -cp OpenRocket-1.1.6.jar:. net.sf.openrocket.startup.Startup<br />
<br />
Finally we need to add the simulation listener to a simulation. Open the ''Three-stage rocket'' example design. Create a new simulation which uses the ''[C6-5; B6-0; B6-0]'' motor configuration. Then open the ''Simulation options'' tab, and click ''Add'' under ''Simulation listeners''. Type in <tt style="color: #006">AirStart</tt>, click OK and run the simulation.<br />
<br />
You should get an apogee altitude between 1400-1500 meters. When you plot the simulation the rocket starts from an altitude of 1000 meters, rises to about 1450 meters and finally lands to 0 meters.<br />
<br />
A slightly enhanced version of the air-start simulation listener is included in the OpenRocket package and can be used directly with the name <tt style="color: #006">net.sf.openrocket.simulation.listeners.example.AirStart</tt>. The source code is [http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/example/AirStart.java?view=markup available in SVN].<br />
<br />
<br />
<br />
=== Simulation listener actions ===<br />
<br />
The simulation listeners can take action and modify the rocket state at any of the following (method names included in parenthesis):<br />
<br />
* before and after the simulation (<tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt>)<br />
* before and after a single step of the simulation (<tt style="color: #006">preStep</tt>, <tt style="color: #006">postStep</tt>)<br />
* before adding a flight event to the event queue (<tt style="color: #006">addFlightEvent</tt>)<br />
* before handling a flight event (<tt style="color: #006">handleFlightEvent</tt>)<br />
* before any motor ignition (<tt style="color: #006">motorIgnition</tt>) or recovery device deployment (<tt style="color: #006">recoveryDeviceDeployment</tt>)<br />
* before and after any computation (<tt style="color: #006">pre<em>Xyz</em></tt>, <tt style="color: #006">post<em>Xyz</em></tt>)<br />
<br />
All simulation listeners must implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationListener.java?view=markup SimulationListener]</tt> interface. This defines a few basic hooks for the simulation startup and steps. For additional hooks the class can additionally implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationEventListener.java?view=markup SimulationEventListener]</tt> and <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationComputationListener.java?view=markup SimulationComputationListener]</tt> interfaces.<br />
<br />
The recommended way of implementing simulation listeners is by extending the <tt style="color: #006">AbstractSimulationListener</tt> class. This implements all of the hook methods with abstract implementations that do nothing. During future development the interfaces may be augmented or change slightly, but the abstract class will contain backward-compatible callbacks.<br />
<br />
The hook methods come in three varieties depending on the return value.<br />
<br />
* The <tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt> and <tt style="color: #006">postStep</tt> are hooks that are called at a specific point of the simulation. They are void methods and do not return any value.<br />
* The <tt style="color: #006">preStep</tt> and event-related hooks return a boolean value indicating whether the action should be taken or not. A return value of <tt style="color: #006">true</tt> indicates that the action should be taken as normally would be (default), <tt style="color: #006">false</tt> will inhibit the action.<br />
* The pre- and post-computation methods may return the computed value, either as an object or a double value. The pre-computation methods allow pre-empting the entire computation, while the post-computation methods allow augmenting the computed values. These methods may return <tt style="color: #006">null</tt> or <tt style="color: #006">Double.NaN</tt> to use the original values (default), or return an overriding value.<br />
<br />
Every method receives a <tt style="color: #006">SimulationStatus</tt> object as the first argument, and may have additional arguments. The <tt style="color: #006">SimulationStatus</tt> object contains information about the rocket's current position, orientation, velocity and simulation state. It also contains a reference to a copy of the rocket design and its configuration. Any simulation listener method may modify the state of the rocket by changing the properties of the state object.<br />
<br />
Each listener method may also throw a <tt style="color: #006">SimulationException</tt>. This is considered an error during simulation, and an error dialog is displayed to the user with the exception message. The simulation data thus far is not stored in the simulation. Throwing a <tt style="color: #006">RuntimeException</tt> is considered a bug in the software and will result in a bug report dialog.<br />
<br />
If a simulation listener wants to stop a simulation prematurely without an error condition, it needs to add a flight event of type <tt style="color: #006">SIMULATION_END</tt> to the simulation event queue:<br />
<br />
status.getEventQueue().add(new FlightEvent(FlightEvent.Type.SIMULATION_END, status.getSimulationTime(), null));<br />
<br />
This will cause the simulation to be terminated normally.<br />
<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix A) &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Frequently_asked_questions&diff=34530Frequently asked questions2021-03-10T03:09:04Z<p>Jddj: Jddj moved page Frequently asked questions to Frequently asked</p>
<hr />
<div>#REDIRECT [[Frequently asked]]</div>Jddjhttp://wiki.openrocket.info/index.php?title=Frequently_asked&diff=34529Frequently asked2021-03-10T03:09:03Z<p>Jddj: Jddj moved page Frequently asked questions to Frequently asked</p>
<hr />
<div>#REDIRECT [[FAQ]]</div>Jddjhttp://wiki.openrocket.info/index.php?title=Simulation_Listeners&diff=34528Simulation Listeners2021-03-10T02:44:02Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Frequently asked questions|Frequently Asked Questions (Appendix A) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
{| style="background: #FDC; border: 1px solid #ECB; text-align: center; margin: 0% 10%; width: 80%;"<br />
|<br />
This page describes features or examples introduced in '''OpenRocket version 1.1.6'''.<br/><br />
Earlier software versions may have different functionality or example designs.<br />
|}<br />
<br />
<br />
'''''Simulation listeners''''' are an advanced way to monitor and interact with flight simulations while they are running. They work by defining a number of "hooks" of custom code which are called as various points during the simulation. OpenRocket allows full control of the rocket flight during the simulation. This enables simulating, for example, air-starts, active control mechanisms or calculating additional flight parameters on-the-fly.<br />
<br />
Using simulation listeners requires basic Java knowledge and knowing how to use the command line.<br />
<br />
The basic steps for implementing and using simulation listeners are the following:<br />
<br />
# Implement the simulation listener in Java.<br />
# Compile the Java class file.<br />
# Start OpenRocket and include the class file in the classpath.<br />
# Add the simulation listener to a simulation and run the simulation.<br />
<br />
The example below will show these steps in detail.<br />
<br />
<br />
=== Air-start launch example ===<br />
<br />
The following example demonstrates how to simulate an air-start launch that launches from a height of 1000 meters.<br />
<br />
First we need to implement the simulation listener in Java. The implementation is as below, stored in the file "<tt style="color: #006">AirStart.java</tt>":<br />
<br />
{| align="top"<br />
| <pre style="background-color: transparent; color: gray; border-color: transparent;"><br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
</pre><br />
| <pre><br />
import net.sf.openrocket.simulation.SimulationStatus;<br />
import net.sf.openrocket.simulation.exception.SimulationException;<br />
import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;<br />
import net.sf.openrocket.util.Coordinate;<br />
<br />
/**<br />
* Simulation listener that launches a rocket from a specific altitude.<br />
*/<br />
public class AirStart extends AbstractSimulationListener {<br />
<br />
/** Launch altitude in meters */<br />
private static final double ALTITUDE = 1000.0;<br />
<br />
@Override<br />
public void startSimulation(SimulationStatus status) throws SimulationException {<br />
Coordinate position = status.getRocketPosition();<br />
position = position.add(0, 0, ALTITUDE);<br />
status.setRocketPosition(position);<br />
}<br />
<br />
}<br />
</pre><br />
|}<br />
<br />
<br />
'''Lines 1-4''' have the necessary class imports for using the OpenRocket classes.<br />
<br />
'''Line 9''' defines the <tt style="color: #006">AirStart</tt> class. The class extends the <tt style="color: #006">AbstractSimulationListener</tt> class, which is the recommended way of defining simulation listeners. This allows better future compatibility, and allows you to override and implement only the methods relevant to your needs.<br />
<br />
'''Line 12''' defines a constant which has the launch altitude. OpenRocket does not currently support configuring simulation listeners, so all properties of the listener need to be hard-coded or read from some external source.<br />
<br />
'''Lines 14-15''' override the <tt style="color: #006">startSimulation</tt> method. This method is called at the beginning of a simulation. It is the proper place for setting up initial conditions for the simulation. The method takes a <tt style="color: #006">SimulationStatus</tt> object as an argument, which contains all details of the rocket's position, orientation and movement as well as all simulation details. This can be freely modified to suit the customization needs.<br />
<br />
'''Lines 16-18''' contain the actual air-start implementation. On line 16 we get the current rocket position as a three-dimensional cartesian coordinate (which should be the origin (0,0,0)). On line 17 we add the launch altitude to the Z-axis, which corresponds to altitude above ground. Finally on line 18 we set the position back into the <tt style="color: #006">SimulationStatus</tt> object.<br />
<br />
After the listener has been implemented, it needs to be compiled into a Java class file. This requires providing the OpenRocket application on the classpath so that the compilation dependencies are met. Assuming that the OpenRocket JAR file and the <tt style="color: #006">AirStart.java</tt> file are both in the current directory, the file can be compiled for example on the command line with:<br />
<br />
$ javac -cp OpenRocket-1.1.6.jar AirStart.java <br />
<br />
This will produce <tt style="color: #006">AirStart.class</tt>, which is the compiled class file.<br />
<br />
Next we need to start OpenRocket with the directory containing the class file included on the classpath. The startup class needs to be explicitly defined, because using the <tt style="color: #006">-jar</tt> option would override the classpath set on the command line. From the command line:<br />
<br />
$ java -cp OpenRocket-1.1.6.jar:. net.sf.openrocket.startup.Startup<br />
<br />
Finally we need to add the simulation listener to a simulation. Open the ''Three-stage rocket'' example design. Create a new simulation which uses the ''[C6-5; B6-0; B6-0]'' motor configuration. Then open the ''Simulation options'' tab, and click ''Add'' under ''Simulation listeners''. Type in <tt style="color: #006">AirStart</tt>, click OK and run the simulation.<br />
<br />
You should get an apogee altitude between 1400-1500 meters. When you plot the simulation the rocket starts from an altitude of 1000 meters, rises to about 1450 meters and finally lands to 0 meters.<br />
<br />
A slightly enhanced version of the air-start simulation listener is included in the OpenRocket package and can be used directly with the name <tt style="color: #006">net.sf.openrocket.simulation.listeners.example.AirStart</tt>. The source code is [http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/example/AirStart.java?view=markup available in SVN].<br />
<br />
<br />
<br />
=== Simulation listener actions ===<br />
<br />
The simulation listeners can take action and modify the rocket state at any of the following (method names included in parenthesis):<br />
<br />
* before and after the simulation (<tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt>)<br />
* before and after a single step of the simulation (<tt style="color: #006">preStep</tt>, <tt style="color: #006">postStep</tt>)<br />
* before adding a flight event to the event queue (<tt style="color: #006">addFlightEvent</tt>)<br />
* before handling a flight event (<tt style="color: #006">handleFlightEvent</tt>)<br />
* before any motor ignition (<tt style="color: #006">motorIgnition</tt>) or recovery device deployment (<tt style="color: #006">recoveryDeviceDeployment</tt>)<br />
* before and after any computation (<tt style="color: #006">pre<em>Xyz</em></tt>, <tt style="color: #006">post<em>Xyz</em></tt>)<br />
<br />
All simulation listeners must implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationListener.java?view=markup SimulationListener]</tt> interface. This defines a few basic hooks for the simulation startup and steps. For additional hooks the class can additionally implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationEventListener.java?view=markup SimulationEventListener]</tt> and <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationComputationListener.java?view=markup SimulationComputationListener]</tt> interfaces.<br />
<br />
The recommended way of implementing simulation listeners is by extending the <tt style="color: #006">AbstractSimulationListener</tt> class. This implements all of the hook methods with abstract implementations that do nothing. During future development the interfaces may be augmented or change slightly, but the abstract class will contain backward-compatible callbacks.<br />
<br />
The hook methods come in three varieties depending on the return value.<br />
<br />
* The <tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt> and <tt style="color: #006">postStep</tt> are hooks that are called at a specific point of the simulation. They are void methods and do not return any value.<br />
* The <tt style="color: #006">preStep</tt> and event-related hooks return a boolean value indicating whether the action should be taken or not. A return value of <tt style="color: #006">true</tt> indicates that the action should be taken as normally would be (default), <tt style="color: #006">false</tt> will inhibit the action.<br />
* The pre- and post-computation methods may return the computed value, either as an object or a double value. The pre-computation methods allow pre-empting the entire computation, while the post-computation methods allow augmenting the computed values. These methods may return <tt style="color: #006">null</tt> or <tt style="color: #006">Double.NaN</tt> to use the original values (default), or return an overriding value.<br />
<br />
Every method receives a <tt style="color: #006">SimulationStatus</tt> object as the first argument, and may have additional arguments. The <tt style="color: #006">SimulationStatus</tt> object contains information about the rocket's current position, orientation, velocity and simulation state. It also contains a reference to a copy of the rocket design and its configuration. Any simulation listener method may modify the state of the rocket by changing the properties of the state object.<br />
<br />
Each listener method may also throw a <tt style="color: #006">SimulationException</tt>. This is considered an error during simulation, and an error dialog is displayed to the user with the exception message. The simulation data thus far is not stored in the simulation. Throwing a <tt style="color: #006">RuntimeException</tt> is considered a bug in the software and will result in a bug report dialog.<br />
<br />
If a simulation listener wants to stop a simulation prematurely without an error condition, it needs to add a flight event of type <tt style="color: #006">SIMULATION_END</tt> to the simulation event queue:<br />
<br />
status.getEventQueue().add(new FlightEvent(FlightEvent.Type.SIMULATION_END, status.getSimulationTime(), null));<br />
<br />
This will cause the simulation to be terminated normally.<br />
<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix A) &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Rocket_Analysis&diff=34527Rocket Analysis2021-03-10T02:42:56Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
''- component analysis dialog'' <br /><br />
''- more details about the plottable variables? - pick up from previous chapter and cover the rest of the graphing/plottable variables in full.''<br /><br />
''- instructions to export simulation data and use it elsewhere''<br /><br />
''- print / pdf export''<br />
<br />
''This chapter has some overlap with [[Advanced Flight Simulation]], need to check the division.''<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Rocket_Analysis&diff=34526Rocket Analysis2021-03-10T02:42:25Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
''- component analysis dialog'' <br /><br />
''- more details about the plottable variables? - pick up from previous chapter and cover the rest of the graphing/plottable variables in full.''<br /><br />
''- instructions to export simulation data and use it elsewhere''<br /><br />
''- print / pdf export''<br />
<br />
''This chapter has some overlap with [[Advanced Flight Simulation]], need to check the division.''<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Custom Expressions|Custom Expressions &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=FAQ&diff=34525FAQ2021-03-10T02:41:53Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Simulation Listeners|&larr; Simulation Listeners]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix B) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
<!--T:1--><br />
This page lists various frequently asked questions. Most of these are categorized as "How to" questions for various design issues.<br />
<br />
== Using OpenRocket == <!--T:2--><br />
<br />
=== How to use motor configurations? === <!--T:3--><br />
<br />
<!--T:4--><br />
OpenRocket uses the notion of '''motor configurations''' for rocket designs. Each motor configuration corresponds to a configuration you are planning on launching your rocket with. For example for a simple small rocket you could define three configurations, one using an A8-3 motor, one using a B4-4 motor, and one using a C6-3 motor. For a multi-stage or clustered rocket you can define and experiment with many other motor configurations easily and switch between them. You can define any number of motor configurations for a rocket design.<br />
<br />
<!--T:5--><br />
In the rocket design window, you can select which motor configuration is displayed in the figure by the dropdown labeled '''Motor configuration'''. Every design has a configuration named ''[No motors]'' in addition to the user-defined configurations, which contains no motors.<br />
<br />
<!--T:6--><br />
You can configure all aspects of motor configurations in the '''Edit motor configurations''' dialog. It can be opened from any motor configuration selector.<br />
<br />
<br />
=== How do I define motors? === <!--T:7--><br />
<br />
<!--T:8--> <br />
Defining motors and simulating using them in OpenRocket requires three steps: defining which components function as motor mounts, defining the different motor configurations, and defining which motor configuration to use in a particular simulation.<br />
<br />
<!--T:9--><br />
OpenRocket supports attaching motors in either body tubes or inner tubes. To make a component be a motor mount, open the configuration dialog for that component, move to the '''Motor''' tab and tick the box ''This component is a motor mount''. After that you can select motors for different motor configurations on the same tab. See [[#How to use motor configurations?]] for details on motor configurations.<br />
<br />
<!--T:10--><br />
Last, when you create a new simulation, you need to select which motor configuration it uses. This is done from the ''Motor configuration'' dropdown of the '''Launch conditions''' tab. The default motor configuration is the currently selected configuration of the design figure.<br />
<br />
<br />
=== How do I create a clustered rocket? === <!--T:11--><br />
<br />
<!--T:12--><br />
Clusters can be created using the '''Cluster''' tab of an Inner tube. This allows you to cluster the inner tubes in various configurations, distances and angles. The motor selected for the inner tube will be used for all the inner tubes in the cluster, and any components (such as engine blocks) attached to the inner tube will be replicated for all of the inner tubes.<br />
<br />
<!--T:13--><br />
If you need more fine-grained control on what components are in which tubes, you can create the cluster this way and then split the cluster into individual components by clicking ''Split cluster''. You can then modify the individual components of the cluster. Note that you cannot re-assemble a split cluster (except with undo).<br />
<br />
<!--T:14--><br />
Note that you can create clusters of clusters by attaching inner tubes to other inner tubes, but ''the motors attached to such configurations will not be counted up correctly!'' This is a known bug that will be addressed in later versions.<br />
<br />
<!--T:15--><br />
The cluster techniques can also be combined with a [[#How do I create a staged rocket?|staged rocket]].<br />
<br />
<br />
=== How do I create a staged rocket? === <!--T:16--><br />
<br />
<!--T:17--><br />
First, the components belonging to different stages must be attached to separate stage components. You can add stages to the rocket by clicking the ''New stage'' button on the main design window. Stages are always used from the lowest to the highest, and when an upper-stage motor ignites all lower stages are automatically dropped off.<br />
<br />
<!--T:18--><br />
The motor ignition event can be selected on the '''Motor''' tab of the body tubes or inner tubes. The default is ''Automatic'', which is suitable for small rockets, where the ejection charge of the lower stage lights up the upper stage motors. The lowest stage will be ignited at launch.<br />
<br />
<!--T:19--><br />
In larger staged rockets that don't have ejection charges the ignition event must be changed. The first stage to light up should ignite at ''Launch'' (or ''Automatic''). If the latter stages are ignited by an onboard computer that detects deceleration, they should be set to ''First burnout of previous stage''. (Note that this assumes the lower stage motors have equal burn lengths.) If the latter stage is ignited by a timer, the event should be set to ''Launch'' and a suitable delay added.<br />
<br />
<!--T:20--><br />
Each of the events can take an additional delay parameter. This allows taking into account for example the time for an ejection charge to light up the next stage or the time for an onboard computer to ignite the next stage. It can also be used for timed ignition, by setting the ejection event to ''Launch'' plus ''n'' seconds.<br />
<br />
<!--T:21--><br />
The staging techniques can also be combined with a [[#How do I create a clustered rocket?|clustered rocket]].<br />
<br />
<br />
=== How do I create external pods to the rocket? === <!--T:22--><br />
<br />
<!--T:23--><br />
External pods are currently not supported by OpenRocket. This feature has been considered, but it requires more knowledge of how to reliably simulate such configurations. If you know about such simulation or would like to implement it, please [http://openrocket.sourceforge.net/contact.html contact us]!<br />
<br />
<!--T:24--><br />
Note that even though inner tubes can be displaced outside of the body tube, ''they will not affect the aerodynamics of the rocket''. This can provide a visual clue of what such a rocket would look like, but does not provide simulation accuracy. Similarly, extremely thick fins are still considered as fins, and won't likely produce reliable results.<br />
<br />
<br />
=== How do I add motors to the database? === <!--T:25--><br />
<br />
<!--T:26--><br />
You can define external files to be loaded into the thrust curve database. There are two ways to add the files:<br />
<br />
<br />
<!--T:27--><br />
* Copy the files to the OpenRocket configuration directory. This is environment-specific:<br><br><br />
{| border="1" style="margin-left: 2em"<br />
| '''Windows:'''<br />
| <tt>C:\Documents and Settings\<i>username</i>\Application Data\OpenRocket\ThrustCurves\</tt> or<br />
<tt>C:\Users\<i>username</i>\AppData\Roaming\OpenRocket\ThrustCurves</tt> (typical)<br />
|-<br />
| '''Linux:'''<br />
| <tt>~/.openrocket/ThrustCurves/</tt><br />
|-<br />
| '''Mac OS X:'''<br />
| <tt>~/Library/Application Support/OpenRocket/ThrustCurves/</tt><br />
|}<br />
<br />
<br />
<!--T:28--><br />
'''OR'''<br />
<br />
<br />
<!--T:29--><br />
* Instruct OpenRocket to load the files from another location. This can be done on the "Options" tab from the preferences.<br />
<br />
<br />
<!--T:30--><br />
Thrust curves can be loaded from RASP motor files (.eng), RockSim engine files (.rse) or ZIP archives containing the same.<br />
<br />
<br />
<br />
== Other == <!--T:32--><br />
<br />
=== What information is stored during automatic update checks? === <!--T:33--><br />
<br />
<!--T:34--><br />
When checking for updates, OpenRocket sends some non-personal information about the current installation. This information is used for statistical purposes (such as estimating what kind of load would be expected to [http://www.thrustcurve.org/ thrustcurve.org] when integrating with it, what Java versions should be supported, how much effort should be spent on parallelization, to what languages the software should be localized etc.) and also to quench the curiosity of the developers. We don't get any payment for the work we do, so knowing how much the software is used may help in motivating further development.<br />
<br />
<!--T:35--><br />
The information stored during the checks are:<br />
<br />
<!--T:36--><br />
# The OpenRocket version and build source (default JAR file or some Linux distribution for instance)<br />
# A randomly-generated ID for the installation (does not contain any information about the user or system)<br />
# The operating system name and computer architecture<br />
# The Java runtime vendor and Java runtime version<br />
# The country and locale of the user<br />
# The number of processors in the computer<br />
# The time when the check was made<br />
<br />
<!--T:37--><br />
Note that the user's IP address is ''not'' stored with this information. The IP address is likely stored in the Sourceforge web access logs, but the developers do not have access to this information.<br />
<br />
<!--T:38--><br />
The automatic checks for updates can be disabled in the '''Options''' tab of the preferences dialog.<br />
<br />
=== Where to ask more information? === <!--T:39--><br />
<br />
<!--T:40--><br />
The best place to ask questions is the [https://sourceforge.net/p/openrocket/mailman/ OpenRocket mailing list], where other people can also answer and see the answers.<br />
<br />
<!--T:41--><br />
Other contact information can be found on the [http://openrocket.info/contact.html contact info page].</div>Jddjhttp://wiki.openrocket.info/index.php?title=Simulation_Listeners&diff=34524Simulation Listeners2021-03-10T02:40:56Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Frequently asked questions|Frequently Asked Questions (Appendix A) &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
{| style="background: #FDC; border: 1px solid #ECB; text-align: center; margin: 0% 10%; width: 80%;"<br />
|<br />
This page describes features or examples introduced in '''OpenRocket version 1.1.6'''.<br/><br />
Earlier software versions may have different functionality or example designs.<br />
|}<br />
<br />
<br />
'''''Simulation listeners''''' are an advanced way to monitor and interact with flight simulations while they are running. They work by defining a number of "hooks" of custom code which are called as various points during the simulation. OpenRocket allows full control of the rocket flight during the simulation. This enables simulating, for example, air-starts, active control mechanisms or calculating additional flight parameters on-the-fly.<br />
<br />
Using simulation listeners requires basic Java knowledge and knowing how to use the command line.<br />
<br />
The basic steps for implementing and using simulation listeners are the following:<br />
<br />
# Implement the simulation listener in Java.<br />
# Compile the Java class file.<br />
# Start OpenRocket and include the class file in the classpath.<br />
# Add the simulation listener to a simulation and run the simulation.<br />
<br />
The example below will show these steps in detail.<br />
<br />
<br />
=== Air-start launch example ===<br />
<br />
The following example demonstrates how to simulate an air-start launch that launches from a height of 1000 meters.<br />
<br />
First we need to implement the simulation listener in Java. The implementation is as below, stored in the file "<tt style="color: #006">AirStart.java</tt>":<br />
<br />
{| align="top"<br />
| <pre style="background-color: transparent; color: gray; border-color: transparent;"><br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
</pre><br />
| <pre><br />
import net.sf.openrocket.simulation.SimulationStatus;<br />
import net.sf.openrocket.simulation.exception.SimulationException;<br />
import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;<br />
import net.sf.openrocket.util.Coordinate;<br />
<br />
/**<br />
* Simulation listener that launches a rocket from a specific altitude.<br />
*/<br />
public class AirStart extends AbstractSimulationListener {<br />
<br />
/** Launch altitude in meters */<br />
private static final double ALTITUDE = 1000.0;<br />
<br />
@Override<br />
public void startSimulation(SimulationStatus status) throws SimulationException {<br />
Coordinate position = status.getRocketPosition();<br />
position = position.add(0, 0, ALTITUDE);<br />
status.setRocketPosition(position);<br />
}<br />
<br />
}<br />
</pre><br />
|}<br />
<br />
<br />
'''Lines 1-4''' have the necessary class imports for using the OpenRocket classes.<br />
<br />
'''Line 9''' defines the <tt style="color: #006">AirStart</tt> class. The class extends the <tt style="color: #006">AbstractSimulationListener</tt> class, which is the recommended way of defining simulation listeners. This allows better future compatibility, and allows you to override and implement only the methods relevant to your needs.<br />
<br />
'''Line 12''' defines a constant which has the launch altitude. OpenRocket does not currently support configuring simulation listeners, so all properties of the listener need to be hard-coded or read from some external source.<br />
<br />
'''Lines 14-15''' override the <tt style="color: #006">startSimulation</tt> method. This method is called at the beginning of a simulation. It is the proper place for setting up initial conditions for the simulation. The method takes a <tt style="color: #006">SimulationStatus</tt> object as an argument, which contains all details of the rocket's position, orientation and movement as well as all simulation details. This can be freely modified to suit the customization needs.<br />
<br />
'''Lines 16-18''' contain the actual air-start implementation. On line 16 we get the current rocket position as a three-dimensional cartesian coordinate (which should be the origin (0,0,0)). On line 17 we add the launch altitude to the Z-axis, which corresponds to altitude above ground. Finally on line 18 we set the position back into the <tt style="color: #006">SimulationStatus</tt> object.<br />
<br />
After the listener has been implemented, it needs to be compiled into a Java class file. This requires providing the OpenRocket application on the classpath so that the compilation dependencies are met. Assuming that the OpenRocket JAR file and the <tt style="color: #006">AirStart.java</tt> file are both in the current directory, the file can be compiled for example on the command line with:<br />
<br />
$ javac -cp OpenRocket-1.1.6.jar AirStart.java <br />
<br />
This will produce <tt style="color: #006">AirStart.class</tt>, which is the compiled class file.<br />
<br />
Next we need to start OpenRocket with the directory containing the class file included on the classpath. The startup class needs to be explicitly defined, because using the <tt style="color: #006">-jar</tt> option would override the classpath set on the command line. From the command line:<br />
<br />
$ java -cp OpenRocket-1.1.6.jar:. net.sf.openrocket.startup.Startup<br />
<br />
Finally we need to add the simulation listener to a simulation. Open the ''Three-stage rocket'' example design. Create a new simulation which uses the ''[C6-5; B6-0; B6-0]'' motor configuration. Then open the ''Simulation options'' tab, and click ''Add'' under ''Simulation listeners''. Type in <tt style="color: #006">AirStart</tt>, click OK and run the simulation.<br />
<br />
You should get an apogee altitude between 1400-1500 meters. When you plot the simulation the rocket starts from an altitude of 1000 meters, rises to about 1450 meters and finally lands to 0 meters.<br />
<br />
A slightly enhanced version of the air-start simulation listener is included in the OpenRocket package and can be used directly with the name <tt style="color: #006">net.sf.openrocket.simulation.listeners.example.AirStart</tt>. The source code is [http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/example/AirStart.java?view=markup available in SVN].<br />
<br />
<br />
<br />
=== Simulation listener actions ===<br />
<br />
The simulation listeners can take action and modify the rocket state at any of the following (method names included in parenthesis):<br />
<br />
* before and after the simulation (<tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt>)<br />
* before and after a single step of the simulation (<tt style="color: #006">preStep</tt>, <tt style="color: #006">postStep</tt>)<br />
* before adding a flight event to the event queue (<tt style="color: #006">addFlightEvent</tt>)<br />
* before handling a flight event (<tt style="color: #006">handleFlightEvent</tt>)<br />
* before any motor ignition (<tt style="color: #006">motorIgnition</tt>) or recovery device deployment (<tt style="color: #006">recoveryDeviceDeployment</tt>)<br />
* before and after any computation (<tt style="color: #006">pre<em>Xyz</em></tt>, <tt style="color: #006">post<em>Xyz</em></tt>)<br />
<br />
All simulation listeners must implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationListener.java?view=markup SimulationListener]</tt> interface. This defines a few basic hooks for the simulation startup and steps. For additional hooks the class can additionally implement the <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationEventListener.java?view=markup SimulationEventListener]</tt> and <tt style="color: #006">[http://openrocket.svn.sourceforge.net/viewvc/openrocket/trunk/src/net/sf/openrocket/simulation/listeners/SimulationComputationListener.java?view=markup SimulationComputationListener]</tt> interfaces.<br />
<br />
The recommended way of implementing simulation listeners is by extending the <tt style="color: #006">AbstractSimulationListener</tt> class. This implements all of the hook methods with abstract implementations that do nothing. During future development the interfaces may be augmented or change slightly, but the abstract class will contain backward-compatible callbacks.<br />
<br />
The hook methods come in three varieties depending on the return value.<br />
<br />
* The <tt style="color: #006">startSimulation</tt>, <tt style="color: #006">endSimulation</tt> and <tt style="color: #006">postStep</tt> are hooks that are called at a specific point of the simulation. They are void methods and do not return any value.<br />
* The <tt style="color: #006">preStep</tt> and event-related hooks return a boolean value indicating whether the action should be taken or not. A return value of <tt style="color: #006">true</tt> indicates that the action should be taken as normally would be (default), <tt style="color: #006">false</tt> will inhibit the action.<br />
* The pre- and post-computation methods may return the computed value, either as an object or a double value. The pre-computation methods allow pre-empting the entire computation, while the post-computation methods allow augmenting the computed values. These methods may return <tt style="color: #006">null</tt> or <tt style="color: #006">Double.NaN</tt> to use the original values (default), or return an overriding value.<br />
<br />
Every method receives a <tt style="color: #006">SimulationStatus</tt> object as the first argument, and may have additional arguments. The <tt style="color: #006">SimulationStatus</tt> object contains information about the rocket's current position, orientation, velocity and simulation state. It also contains a reference to a copy of the rocket design and its configuration. Any simulation listener method may modify the state of the rocket by changing the properties of the state object.<br />
<br />
Each listener method may also throw a <tt style="color: #006">SimulationException</tt>. This is considered an error during simulation, and an error dialog is displayed to the user with the exception message. The simulation data thus far is not stored in the simulation. Throwing a <tt style="color: #006">RuntimeException</tt> is considered a bug in the software and will result in a bug report dialog.<br />
<br />
If a simulation listener wants to stop a simulation prematurely without an error condition, it needs to add a flight event of type <tt style="color: #006">SIMULATION_END</tt> to the simulation event queue:<br />
<br />
status.getEventQueue().add(new FlightEvent(FlightEvent.Type.SIMULATION_END, status.getSimulationTime(), null));<br />
<br />
This will cause the simulation to be terminated normally.<br />
<br />
<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Component Details|Component Details (Appendix A) &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Custom_Expressions&diff=34523Custom Expressions2021-03-10T02:38:19Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Rocket Analysis|&larr; Rocket Analysis]]</div><br />
<div style="float: right;">[[Simulation Listeners|Simulation Listeners &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
== Overview ==<br />
<br />
In openrocket (12.09 and later), you are not limited to using just the built-in simulation variables in your plots and analysis.<br />
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.<br />
<br />
Custom expressions are added to your rocket document from the 'Analyze' menu under custom expressions. This will open a window showing all your custom expressions.<br />
<br />
[[File:custom_expressions.png]]<br />
<br />
Initially there will be no custom expressions, so you will need to add one using the ''New expression'' button in the lower right. This opens the expression builder window. You can also import expressions from another .ork file.<br />
<br />
== Building expressions ==<br />
<br />
[[File:expression_builder.png]]<br />
<br />
You must specify a name for the expression, a short symbol, the units of the resulting value, and of course the expression itself. After you enter a valid value in each of the fields the adjacent indicator will change from red to green. Only when all indicators are green will you be able to add or update the expression.<br />
<br />
* The name field can be arbitrary, it only must have not been used before.<br />
* The symbol field is intended for a short (locale-independent) symbol representing the value. It must not have been used before, contain no numbers, whitespaces, special characters such as brackets or operators.<br />
* There are no restrictions on the unit, it can even be empty for dimensionless quantities. However, if you enter a standard SI unit then you will be able to automatically convert the units when plotting or exporting. The available SI units are: m, m^2, m/s, kg, kg m^2, kg m^3, N, Ns, s, Pa, V, A, J, W, kg m/s, Hz, K. They must match exactly. <br />
* The expression must only contain valid symbols, operators and numbers and must make sense mathematically. For convenience, the adjacent indicator updates on-the-fly.<br />
* It is possible to nest custom expressions, i.e. you can use the symbol defined for a custom expression in another expression. However, you must ensure that expressions are calculated in the correct order if you do this. This can be done using the blue arrows in the custom expression pane to adjust the order of calculation.<br />
<br />
To see a list of the available variables and their symbols, click the ''Insert Variable'' button. This will open a window from which you can choose a variable and insert it (at the current cursor position) in the expression box. This is particularly useful because you may not be able to type some of the symbols on your keyboard. The ''insert operator'' window is similar and shows all the available mathematical operators and functions.<br />
<br />
== Index expressions ==<br />
<br />
The custom expressions are calculated at each time step of the simulation, however there are some cases where it is useful to have access to earlier values of a given variable. This is possible using ''index expressions''. These use a square bracket syntax to specify the time (in seconds) for the variable you want. For example, the expression:<br />
m / m[0]<br />
would give the ratio of the current mass to the launch mass at time 0. Similarly, <br />
m - m[t-1]<br />
would give you the change in mass over the last second.<br />
<br />
You can specify any valid sub-expression inside the square brackets, the only restriction is that you can't nest another index/range expression inside the square brackets.<br />
<br />
When indexed expressions are calculated, interpolation is used to get the value exactly at the specified time, independent of the time steps of the simulation.<br />
<br />
If you specify a time smaller than 0 or greater than t then it will be clipped to 0 or t respectively. You can't access data that has not been calculated yet.<br />
<br />
== Range expressions ==<br />
<br />
It is sometimes useful to have access to a range of values of a particular variable rather than just one point. Openrocket includes a number of useful operators for calculating statistics and other properties of ranges. These operators can be identified in the operator selection box by the ''[:]'' which will already have been filled out in place of one of more of the parameters.<br />
<br />
Range expressions are defined with a square bracket syntax similar to index expressions, but with a '':'' used to separate the lower and upper bounds of a range. For example, suppose we had an accelerometer on our rocket which (as many do) includes some low-pass filtering on the output. This can be modeled as a moving average, and defined with a custom expression such as:<br />
mean(At[t-0.5:t])<br />
which will calculate a moving mean for the variable At (total acceleration) over the last 0.5 seconds of data.<br />
<br />
As with index expressions, the upper and lower bounds can be any valid expression. If omitted, the upper bound will default to t and the lower bound to 0, so the above expression can also be written<br />
mean(At[t-0.5:])<br />
<br />
In this particular case, we might want to make the expression more realistic by clipping accelerations above a given threshold and perhaps returning the actual voltage from the sensor, for example:<br />
0.2 * uclip( mean(At[t-.5:]), 10 )<br />
<br />
Note that when range expressions are calculated the data is generated by interpolation over the specified range with a fixed time step equal to the default time step set in your simulation options. This is independent of the current time step ''dt'' used by the simulation engine. When generated, range expressions include the start time and step information. The facilitates easy integration or optimization with functions such as ''trapz([:])'' for trapezoidal integration or ''tnear([:],x)'' for finding the time value when a variable is nearest a specified value.<br />
<br />
For a complete list of all the operators available see the operator selection list when making a new expression.<br />
<br />
== Troubleshooting ==<br />
<br />
While openrocket makes a reasonable attempt to check your expression as you enter it, it is still possible to enter something invalid or that can't be calculated for some reason. In this case you will simply end up with no data available to plot after running the simulation.<br />
<br />
If you can't figure out why your expression is not generating any data or can't be accepted by the expression builder then you might find some useful information in the error log. This can be accessed from the help -> debug log menu. Any relevant messages are probably under the 'USER' category.<br />
<br />
It should not be possible to cause a crash with an invalid expression. If you manage to please report the bug and include your expression.<br />
<br />
Custom expressions are interpreted during the simulation and are necessarily much slower than `native' datatypes. For a few simple expressions you probably won't notice much speed difference but it can become particularly significant if you have range expressions. If speed is an issue for you then you might want to consider implementing your expression as a [[Simulation_Listeners|simulation listener]].<br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Flight Simulation|&larr; Advanced Flight Simulation]]</div><br />
<div style="float: right;">[[Simulation Listeners|Simulation Listeners &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Flight_Simulation&diff=34522Advanced Flight Simulation2021-03-10T02:37:14Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Rocket Design|&larr; Advanced Rocket Design]]</div><br />
<div style="float: right;">[[Rocket Analysis|Rocket Analysis &rarr;]]</div><br />
[[Main Page|&uarr; Back to Contents]]<br />
</div><br />
<span style="clear:both;"><span><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
OpenRocket offers more advanced options for simulating flight. You can plot your rocket's predicted acceleration, climb, eject and landing, make a prediction for how far downrange and in which direction your flight will land, and even experiment with different models of Earth's geometry, as it affects your flight. Once you're satisfied with a sim, you can export your data for analysis and charting in other packages.<br /><br />
<br />
== Plotting your rocket's flight ==<br />
<br />
To begin learning about OpenRocket's plotting features, first, click the <strong>Plot / Export</strong> button on the <strong>Flight simulations</strong> window.<br /><br /><br />
<br />
[[File:PlotExportButton.png|thumb|800 px|center|The <em>Plot / export</em> Button.]] <br /><br />
<br />
On the <strong>Edit simulation</strong> panel, you'll see tabs marked <strong>Plot data</strong> and <strong>Export data</strong>. <br /><br /><br />
<br />
===Plotting data===<br />
<br />
The <strong>Plot data</strong> opens first. Here you can define many parameters that will determine what values are plotted, and what events are marked on the plot.<br /><br /><br />
<br />
[[File:PlotExportWindow.png|thumb|800 px|center|The <em>Plot / export</em> window.]] <br /><br />
<br />
Here you'll be able to quickly choose from a number of standard plots: <br /><br /><br />
<br />
[[File:PlotConfigs.png|thumb|806 px|center|Standard plots]] <br /><br />
<br />
<span id="parameters">You'll also be able to assign to the X and Y axes any one of over 50 parameters</span>:<br />
<br />
<div style="height:30rem;width:60rem;"><br />
<div style="float:left;margin:1rem 3rem 1rem 0;"><br />
<ul><br />
<li>Time</li><br />
<li>Altitude</li><br />
<li>Vertical velocity</li><br />
<li>Vertical acceleration</li><br />
<li>Total velocity</li><br />
<li>Total acceleration</li><br />
<li>Lateral distance</li><br />
<li>Lateral direction</li><br />
<li>Lateral velocity</li><br />
<li>Lateral acceleration</li><br />
<li>Latitude</li><br />
<li>Longitude</li><br />
<li>Gravitational acceleration</li><br />
<li>Angle of attack</li><br />
<li>Roll rate</li><br />
<li>Pitch rate</li><br />
<li>Yaw rate</li><br />
<li>Mass</li><br />
</ul><br />
</div><br />
<div style="float:left;margin:1rem 3rem 1rem 3rem;"><br />
<ul><br />
<li>Propellant mass</li><br />
<li>Longitudinal moment of inertia</li><br />
<li>Rotational moment of inertia</li><br />
<li>CP location</li><br />
<li>CG location</li><br />
<li>Stability margin calibers</li><br />
<li>Mach number</li><br />
<li>Reynolds number</li><br />
<li>Thrust</li><br />
<li>Drag force</li><br />
<li>Drag coefficient</li><br />
<li>Axial drag coefficient</li><br />
<li>Friction drag coefficient</li><br />
<li>Pressure drag coefficient</li><br />
<li>Base drag coefficient</li><br />
<li>Normal force coefficient</li><br />
<li>Pitch moment coefficient</li><br />
<li>Yaw moment coefficient</li><br />
</ul><br />
</div><br />
<div style="float:left;margin:1rem 0 1rem 3rem;"><br />
<ul><br />
<li>Side force coefficient</li><br />
<li>Roll moment coefficient</li><br />
<li>Roll forcing coefficient</li><br />
<li>Roll damping coefficient</li><br />
<li>Pitch damping coefficient</li><br />
<li>Reference length</li><br />
<li>Reference area</li><br />
<li>Vertical orientation (zenith)</li><br />
<li>Lateral orientation (azimuth)</li><br />
<li>Wind velocity</li><br />
<li>Air temperature</li><br />
<li>Air pressure</li><br />
<li>Speed of sound</li><br />
<li>Simulation time step</li><br />
<li>Computation time</li><br />
<li>Position parallel to wind</li><br />
<li>Position upwind</li><br />
</ul><br />
</div><br />
<span style="clear:both;">&nbsp;</span><br />
</div><br />
<br />
You can assign multiple parameters to the Y-axis, and choose whether their scales appear on the left, or the right side of the plot. You can add Y-axis parameters with the <strong>New Y-axis plot type</strong> button, or delete parameters from the plot with the <strong>X</strong> buttons. <em>(The X-axis takes only a single plotted parameter, typically <strong>Time</strong>).</em><br />
<br />
Additionally, you can choose from several flight events, any or all of which can be called out on your plot, in reference to the simulated time of occurrence.<br /><br /><br />
<br />
[[File:YaxisTypes.png|thumb|800 px|center|Setting Y-axes and Events for plotting]] <br /><br />
<br />
===Plotted results===<br />
<br />
Below you can see a plot of <em>A simple model rocket</em>, simulation number 4, flying on a C6-5. Note that the five events checked in the above screen have been marked on the plot (<em>some very close to each other, or to the edge</em>): <strong>Motor ignition</strong>, <strong>Motor burnout</strong>, <strong>Apogee</strong>, <strong>Recovery device deployment</strong>, and <strong>Ground hit</strong>.<br />
<br />
You can also see that the three Y-axis parameters described above: <strong>Altitude</strong>, <strong>Vertical velocity</strong>, and <strong>Vertical acceleration</strong> appear as lines of three different colors. <br /><br /><br />
<br />
[[File:PlotOfSimulation.png|thumb|800 px|center|A <em>Plot</em> of the simulation.]] <br /><br />
<br />
As your rockets get more complex, with features like dual-deploy, air-start and multiple stages, your plots can grow in complexity to simulate their expected behavior. Below is a plot (<em>from the example rockets</em>) of a "High Power Airstart" rocket, modeled after a Patriot missile. The central motor starts on the launch pad, while the surrounding motors start while the rocket is in the air (<em>hence, an "airstart"</em>). The plot records the separate motor start events, and the deployment of both a drogue, and a main parachute. <br /><br /><br />
<br />
[[File:ComplexPlot.png|thumb|800 px|center|A <em>Plot</em> of Sim #5 of the "High Power Airstart" example rocket.]] <br /><br />
<br />
Notice what's happening in the plot above: The rocket is <em>losing velocity</em> - the blue line - before the airstart occurs. This is probably not what we want.<br />
<br />
However, simulation number 3 of the same rocket, below, has an earlier airstart, and looks like it should work as expected. Looking at the slight wiggle in the velocity curve, we could also try another simulation to provide a little bit more margin for error. <br /><br /><br />
<br />
[[File:ComplexPlot2.png|thumb|800 px|center|A <em>Plot</em> of Sim #3 of the "High Power Airstart" example rocket.]] <br /><br /><br />
<br />
== Launch Conditions and Simulation Options ==<br />
<br />
From the <strong>Plot data</strong> window, you can click the <strong><< Edit</strong> button to configure <strong>Launch conditions</strong>, and <strong>Simulation options</strong> before you plot.<br />
<br />
===Launch conditions===<br />
<br />
OpenRocket can simulate conditions at the launch site, so you can estimate how winds will direct your flight, and how far downrange your rocket will drift.<br />
<br />
In the screen shown below, you can set parameters (and units) for wind, and for your <strong>Launch site</strong>, you can set the <strong>Latitude</strong>, <strong>Longitude</strong> and <strong>Altitude</strong>, as well as <strong>Atmospheric conditions</strong>. Note that Atmospheric conditions affect your rocket's ascent velocity, as well as the local [https://en.wikipedia.org/wiki/Speed_of_sound Speed of Sound].<br />
<br />
This is also the panel where you can set the length of your launch rod or rail. This length will affect whether your simulation <em>passes or fails</em>, when it's evaluated for minimum speed off the rod. <br /><br /><br />
<br />
[[File:EditSimulationLaunchCond.png|thumb|800 px|center|The <em>Edit simulation</em> window: <em>Launch conditions</em>.]] <br /><br />
<br />
===Simulation options===<br />
<br />
In the <strong>Simulation options</strong> tab, the <strong>Simulator options</strong> let you choose the shape of the simulated Earth in your calculations (<em>doing so <strong>does not</strong> affect the Earth background in Photo Studio</em>), and you can choose the time-resolution of the simulation. This is also the place where you add and set up <strong>Simulation extensions</strong>, which are beyond this guide's purpose (<em>and frankly, beyond this author's knowledge!</em>).<br /><br /><br />
<br />
[[File:EditSimulationSimOpts.png|thumb|800 px|center|The <em>Edit simulation</em> window: <em>Simulation options</em>.]] <br /><br /><br />
<br />
== Exporting Data ==<br />
<br />
Located on the Plot / export panel, the Export Data tab (shown below) helps you set up a Comma-Separated Value (.csv) formatted file to export data from your simulations. You can export any or all of over 50 values (generally speaking, the [[#parameters|list of parameters]] above, plus <strong>Coriolis acceleration</strong>). Optional <strong>Comments</strong> sections list any flight events (<strong>Apogee</strong>, for example) you selected for your simulation, as well as description and field descriptions.<br />
<br />
You can choose separators other than comma, if you prefer semicolon, space, or TAB-delimited data. Once you have your data choices set up, clicking the <strong>Export</strong> button brings up a file dialog to choose a filename and location for your exported data.<br /><br /><br />
<br />
[[File:ExportData.png|thumb|800 px|center|The <em>Export data</em> window.]] <br /><br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Advanced Rocket Design|&larr; Advanced Rocket Design]]</div><br />
<div style="float: right;">[[Rocket Analysis|Rocket Analysis &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddjhttp://wiki.openrocket.info/index.php?title=Advanced_Rocket_Design&diff=34521Advanced Rocket Design2021-03-10T02:35:25Z<p>Jddj: </p>
<hr />
<div><div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div><br />
<br />
{{UserGuideHelp}}<br />
<br />
<br />
__TOC__<br />
<br />
<br />
In this section, advanced design principles and concepts are discussed, with step-by-step instructions describing how to incorporate these techniques into designs created in <em>OpenRocket</em>. Implementing the techniques described in this section may require specialized materials and electronic devices intended for use only by experienced rocketeers.<br /><br />
<br />
Advanced rocket design encompasses configurations for high power rockets generally, including:<br />
<ul><br />
<li>recovery systems</li><br />
<li>through-the-wall fin construction</li><br />
<li>electronic and dual deployment</li><br />
<li>complex multi-staging (such as motor racking) and motor clustering</li><br />
<li>roll stabilization</li><br />
</ul><br />
Additionally, you may find that using mass and center of gravity (CG) overrides will improve <em>OpenRocket</em> flight and recovery simulation accuracy.<br />
<br />
= Recovery Systems =<br />
<br />
== Recovery Techniques ==<br />
<br />
Recovery systems are intended to return a rocket safely to the ground, without harm to people or damage to the rocket or other objects. Though recovery mechanisms vary greatly, recovery systems generally include elements of one or more of these techniques:<br />
<ul><br />
<li>featherweight</li><br />
<li>break-apart</li><br />
<li>streamer</li><br />
<li>parachute</li><br />
<li>helicopter</li><br />
<li>gliding</li><br />
</ul><br />
=== Featherweight and Break-Apart Recovery ===<br />
<br />
Featherweight and break-apart recovery work by creating enough drag to ensure that the terminal velocity of the rocket is so low that it won't be damaged or do damage when it hits the ground. Featherweight designs are often minimum diameter rockets that eject the burned-out motor casing altogether, or use the ejection charge to shift the casing position rearward after motor burnout (within an extended motor hook), to induce instability and cause the rocket to tumble. Break-apart recovery, aerodynamically, does the same thing, increasing drag and inducing instability by breaking the rocket into two or more sections connected together by a shock cord. Typically, a feather weight rocket, and each section of a break-apart rocket weighs less than one ounce.<br><br><br />
<br />
<div style="float:left;margin .5rem 1rem .5rem 0;"><br />
[[File:Featherweight.png|thumb|245 px|left|The Estes Astron Streak, ca 1970 - a <em>featherweight recovery</em> rocket]]<br />
</div><br />
==== Example Featherweight Design ====<br />
<br />
In earlier years, Estes sold a few rockets that featured <em>Featherweight Recovery</em>, meaning that a very light model could spit out its used motor casing, and land directly on the ground with no damage, rather like a badminton shuttlecock.<br />
<br />
Ejecting burned-out motor casings is not allowed in NAR contests unless a streamer or parachute is attached to the ejected casing.<br><br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
==== Example Break-Apart Design ====<br />
<br />
Another approach to bringing a lightweight rocket safely to earth is to break the airframe into several aerodynamically unstable pieces, and "flutter" them back to earth.<br />
<br />
One such design: the <em>Unicon</em> (for <em>"Unified/Consolidated"</em> - a stretch, I know) appeared as a plan in the Estes <em>Model Rocket News</em> publication, probably about 1973-4. The body tube featured 3 pieces of launch lug, as did the nose cone. Into these lugs plugged one of 3 balsa sticks, each of which held a fin, and a piece of body tube attached to the fin root and the stick. to provide a stable anchor against the body. The entire assembly was connected with pieces of heavy-duty thread.<br />
<br />
When the ejection charge fired, the nose cone popped off, releasing the sticks with fins, which, tied to the body tube and nose cone, fluttered in the air, and slowed descent of the main airframe as it landed.<br />
<br />
This author built one, and it worked pretty well.<br />
<br />
=== Streamer and Parachute Recovery ===<br />
<br />
Streamers and parachutes add drag to slow the rocket descent rate. Generally, a larger streamer is always better. But, streamer size is an example of the principle of diminishing marginal returns, eventually making a streamer larger will only add slightly increase drag (a rocket weighing more than 10 oz is beyond the effective use of a streamer). On the other hand, because of their efficiency, parachutes create more drag with less cloth than any other method, and virtually all high power rockets use parachutes.<br><br />
<br />
==== Example Streamer Design ====<br />
<br />
A method of recovery favored on windier days is to attach a flame-retardant streamer to the shock cord, in place of a chute. Using <em>OpenRocket</em> you can simulate streamer recovery by equipping your rocket design with a streamer from the <strong>Mass objects</strong> section.<br />
<br />
A streamer flaps in the wind as the rocket falls, losing altitude faster than an equivalent volume of packed parachute. Because it comes in faster, it won't drift as much in the wind. The rocket will also hit harder, potentially risking damage. <em>OpenRocket</em> can help you estimate how fast your model will land.<br />
<br />
By using "snap swivels" - small brass clips usually found in the fishing tackle aisle - you can prepare both a parachute and a streamer for a rocket, choose your method of recovery at the field, and clip it onto the shock cord before you launch.<br />
<br />
NAR requires 10 square cm of streamer area per gram of mass in contest models.<br />
<br />
==== Example Parachute Design ====<br />
<br />
Parachute recovery is probably the most familiar model rocket recovery mechanism. Most of the beginner kits start with parachutes, but even high-power, edge-of-space-kissing, multi-stage, electronic deployment rockets use parachutes to slow descent. They're basic to the hobby.<br />
<br />
<em>OpenRocket</em> gives you a number of simulation options for parachutes, including material, construction, size, number of shroud lines. packed size and more. With <em>OpenRocket</em>, you can set your parachute's deployment to work just like your real rocket's.<br />
<br />
One thing that you're not able to directly simulate here is the <em>type</em> of 'chute you have. Parachutes come in different types, from the semi-ellipsoid proper Parachute - an efficient shape (by drag to weight) which cannot be laid perfectly flat, to the "parasheet" - a 'chute that can be formed from a flat piece of material (the typical model rocket kit contains a parasheet), to X-shaped parachutes, to 'chutes with spill-holes, to parafoils and Rogallo wings. You'll have to experiment with these chutes, and perhaps try and adjust the Drag coefficient to compensate for difference from OpenRocket's ideal parachute.<br />
<br />
NAR requires 5 square cm of parachute area per gram of mass in contest models.<br />
<br />
=== Helicopter and Gliding Recovery ===<br />
<br />
==== Helicopter Recovery ====<br />
<br />
Helicopter recovery relies upon rigid lift-generating blades and auto-rotation to slow terminal velocity. This design technique is the most complicated of all, and requires that the entire rocket be designed around the recovery device. As important, the stresses generated by rapidly spinning blades hitting the ground effectively limits the use of this technique to low mass (model) rockets.<br><br />
<br />
==== Gliding Recovery ====<br />
<br />
A glider uses aerodynamic lift to control terminal velocity. However, because the aerodynamic requirements of vertical flight are vastly different than gliding flight, to make this transition there must be a shift in the center of gravity or the center of pressure. This transition can be made by reducing mass (ejecting the motor mount tube and weights) or changing aerodynamic signature (ejection activated fin-elevators or swing-wings). Radio and other control systems are currently being used to fly gliding recovery rockets, even high power.<br><br />
<br />
== Protecting Recovery Components ==<br />
<br />
Recovery components are made from lightweight materials which, while often flame retardant, aren't necessarily heat-proof, or which may char and decay without bursting into flame.<br />
<br />
To protect the recovery components and ensure they work properly for a safe landing, some method of shielding the "Laundry" (slang for the parachute and associated cords) from the heat of ejection, or of cooling the eject gasses must be used.<br />
<br />
=== Heat Shields ===<br />
<br />
Protecting the components starts during rocket design: you can choose something durable and flame-resistant like Kevlar cord for shock cord components that will be used in the eject area. A little later in this article, you'll see other built-in options you can use.<br />
<br />
==== Fire Resistant Wadding and Blankets ====<br />
<br />
The simplest way to protect the 'chute is to put something flameproof between the eject charge and the recovery hardware. In small rockets, this can take the form of "Flameproof ejection wadding", as packaged with Estes motors, or flame-retardant recycled cellulose insulation (nicknamed "Dog Barf" in the hobby community). Of the two, "Dog Barf" makes much less of a mess on the field, and is recommended by some clubs. If you do use "Estes Flameproof ejection wadding", please try and recover as much of the discarded paper as possible before leaving your launch site.<br />
<br />
When using wadding, try and put in a minimum depth of 1.5 tube diameters of wadding. Wadding may be poked gently into a rocket with a pencil or stick, but don't pack it down.<br />
<br />
You can also buy a reusable 'chute protector, called a "Nomex blanket" or a "'Chute bag" (also made of Nomex). Nomex blankets are typically square, often orange, and usually have a buttonhole sewn into the corner, to pass the shock cord through. One wraps up the parachute and as much of the shock cord as is practical with the Nomex facing the eject charge. This author was instructed to wrap the 'chute in Nomex "Like a burrito", but in reality there are several ways to pack a chute protector that will work well. Ensure that the Nomex faces the eject charge, so it takes the heat of ejection, and not your recovery device.<br />
<br />
Nomex can be re-packed with the 'chute immediately after a flight. Nomex is machine-washable (and you'll probably want to wash it at some point).<br />
<br />
<strong>A rule of thumb for sizing a Nomex blanket</strong>: <em>The blanket should be a square, with a width that's 3 times the body diameter.</em><br />
<br />
==== Piston Ejection ====<br />
<br />
Another way of insulating the recovery material from the heat of ejection is with a Piston Ejection system.<br />
<br />
In a typical piston ejection system, a piston is inserted into the body tube, and is free to slide up and down the tube's length. The eject charge is on one side of the piston, and the recovery material on the other. The body tube, the piston and the recovery material are all connected together, so as not to lose any parts.<br />
<br />
At ejection charge firing, expanding gases push the piston (and the recovery material) up the tube and out of the rocket, without exposing the recovery material to the heat of the eject charge. The piston should leave the rocket body, in order to vent the ejection gases.<br />
<br />
Pistons are often made of tube couplers, which have been sanded down a bit to smoothly slide in the body tube. One end of the coupler is closed by a bulkhead. The closed end is called the "face" of the piston. The rounded wall of the coupler is called the piston's "skirt".<br />
<br />
The attachment shock cord runs from the eject charge end of the rocket, attaches to the piston at the face (or is threaded through it and sealed) and more shock cord runs from the other side of the piston face and to the recovery material. The attachment cord needs to be long enough for the piston to escape the body tube so exhaust gases are vented. The piston <em>must</em> move smoothly and without sticking; if the piston sticks, the parachute may not be deployed.<br />
<br />
Opinions differ on whether the "face" of the piston should face the 'chute or the ejection charge. According to one theory, if the piston face is on the nose cone side of the piston, exhaust gases could make the piston skirt swell and cause the piston to stick in the body tube, while if instead the piston faces the eject charge, eject gases that travel between the piston skirt and the inside of the body tube form a "gaseous lubricant" which should prevent the piston from getting stuck. Others beg to differ, and have had successful real world experience with the piston facing upward.<br />
<br />
=== Ejection Gas Cooling ===<br />
<br />
Another approach to protecting the recovery material is to cool the ejection gases before they contact the 'chute.<br />
<br />
==== Cooling Mesh ====<br />
<br />
Aerotech sells a metal cooling mesh for model rockets. The mesh looks like a tiny tangled slinky, or perhaps like twisted tinsel from a Christmas tree. Installing a metal cooling mesh in the rocket body allows cooling of the exhaust gases, which transfer much of their heat to the metal mesh as they pass. The configuration of the mesh also makes it something of a particle filter, so chunks of burning material from the ejection charge get filtered out, instead of passing their heat to your parachute.<br />
<br />
==== Baffles ====<br />
<br />
Still another approach is to install a baffle in the rocket, above the eject charge, and below the recovery system. A baffle is often made from a coupler with two bulkheads, one in each end. Designs differ, but basically there's a hole pattern in the top, and a hole pattern in the bottom, such that ejection gas will pass through, but because the holes don't align, it will need to make a detour through the baffle. Meanwhile, heavier burning solid material from the eject charge has much higher inertia, and won't be able to divert to the top set of holes. Much of it will be stopped by the top bulkhead.<br />
<br />
==== Servicing ====<br />
<br />
Both baffles and cooling mesh will have limited lifespans, and need to be cleaned, serviced, or replaced. Cooling mesh in particular can become clogged with particles from many flights, and may be placed in a difficult-to-reach position. Baffles may burn, break, or get filled with particles. When this happens, the best service option may be to "poke out" the cooling mesh or baffle, and go over to recovery wadding or a Nomex blanket.<br />
<br />
One way to avert the "poke out" problem is to use screws to attach a baffle through the wall of the body tube. Nylon screws may be used to avoid placing "ductile metal" in the airframe. Screw attachment allows the baffle to be removed for servicing or replacement.<br />
<br />
=== CO<sub>2</sub> Ejection Devices ===<br />
<br />
Another approach to eject is pioneered by [https://www.tinderrocketry.com/ Tinder Rocketry], who offer a CO<sub>2</sub> ejection system. Because a minimal pyro device is used to trigger the CO<sub>2</sub> ejection, there's not a lot of hot material flying around inside the airframe, and no need for wadding or a Nomex blanket. The CO<sub>2</sub> is cold as it's released.<br />
<br />
The CO<sub>2</sub> ejection system is claimed to operate more reliably than black powder at extreme altitude (above 20,000 feet ASL), due to black powder's incomplete or non-existent burn at these altitudes.<br />
<br />
= Tube Fins and Ring Tails =<br />
<br />
== Tube Fins ==<br />
<br />
A tube fin is just that, a fin made using a shorter section of body tube, adhered to the main body tube, with or without other flat fins. This type of rocket is easy enough to build, and OpenRocket helps you make an accurate simulation.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:TubeFins.png|thumb|250 px|right|<em>A simple model rocket</em> - now with tube fins.]]<br />
</div><br />
Let's convert <em>A Simple Model Rocket</em> from 3 flat fins, to 4 tube fins, just because we can.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open Example</strong> and open <strong>A simple model rocket</strong>.</li><br />
<li>Left-click on the <strong>Trapezoidal fin set</strong> in the upper-left panel, and delete it.</li><br />
<li>Left-click on the <strong>Body tube</strong>.</li><br />
<li>Note that <strong>Tube fins</strong> is now enabled in <strong>Body components and fin sets</strong>. Click it.</li><br />
<li>The number of fins defaults to 6. These look a little long. Drag the <strong>length</strong> slider until the fins are about 7cm long.</li><br />
<li>Drag the <strong>plus</strong> slider (under <strong>Position relative to:</strong>) to move the fins forward just a little.</li><br />
<li>Leave the <strong>Tube fin set configuration</strong> window open, and click on the <strong>View Type</strong> menu on the main window. Choose the <strong>Back view</strong>.</li><br />
<li>Notice that OpenRocket has defaulted to an exact solution for wrapping 6 tube fins around your rocket body tube. In the <strong>Tube fin set configuration</strong> window, drag the <strong>Fin rotation</strong> slider until they line up with the launch lug. (<em>Passing the launch rod through one of the tube fins to reach the launch lug is simpler than arranging the tube fins for the rod to pass between the tubes</em>)</li><br />
<li>Notice that you can adjust the Outer Diameter of the fins to create designs that are harder to build, or perhaps impossible to build due to overlaps between tube fins.</li><br />
<li>Click the <strong>Automatic</strong> check box beneath <strong>Outer diameter</strong>. The tubes conform once more to the body tube and touch each other. Because the contact surfaces are in the right place to adhere to each other, this is probably the easiest type of fin configuration to build.</li><br />
<li>Reduce the <strong>Number of fins</strong> to 5, then to 4. As long as <strong>Automatic</strong> is checked and the solution makes sense, the fins will wrap the body tube. At 4 fins, the tubes would have to dwarf the body tube to wrap it, and OpenRocket gives up on wrapping.</li><br />
<li>Re-adjust the <strong>Fin rotation</strong> slider to line the 4-fin set up with the launch lug, either within, or beside a tube fin.</li><br />
</ol><br />
<br />
Our fin conversion is complete, but before we leave the <strong>Tube fin set configuration</strong> window, note a few other details:<br />
<ul><br />
<li>You can select preset tube components from the <strong>Select preset</strong> menu in the upper-right. If you choose <strong>From database...</strong> you can pick from a wide variety of components for your tube preset. <em>Note that these components represent what was available at the time this version of the OpenRocket component database was released - some may no longer be available</em>. Some details of the components will fill fields of the <strong>Tube fin set configuration</strong> window, but <em>Diameter</em> is not one of them - at least in OpenRocket 15.03.</li><br />
<li>It's not possible to use the <strong>Tube fins</strong> component to create tube fins sliced at an angle, or to create semi-circular fin sections (tubes cut in half, lengthwise).</li><br />
<li>Though you might imagine lots of cool tube fin scenarios, this Tube fin tool will require your tubes to be in side-to-side contact with a body tube.</li><br />
<li>OpenRocket won't apply your specified color to the inside of the tube fins. They'll have the default color inside.</li><br />
</ul><br />
<br />
== Ring Tails ==<br />
<br />
It's easy to add a ring-tail to an OpenRocket model, though there's one catch: the ring tail must start at the exact aft end of the body tube it surrounds, and fins must trail to support it. Unlike many components in OpenRocket, body tubes follow a strict linear pattern: Nose cone, then a body tube, then perhaps another, and perhaps another, etc.<br />
<br />
<div style="float:right;margin .5rem .5rem .5rem 1.5rem;"><br />
[[File:RingTail.png|thumb|250 px|right|<em>A simple model rocket</em> - with added Ring Tail.]]<br />
</div><br />
Let's add a ring tail to <strong>A simple model rocket</strong> to demonstrate.<br />
<br />
<ol><br />
<li>From the <strong>File</strong> menu, choose <strong>Open example...</strong> and choose <strong>A simple model rocket</strong>.</li><br />
<li>Click the <strong>Body tube</strong> component to add a new body tube. <em>Note that it's added at the aft end of the main body tube, and is initially the same diameter as that tube</em>.</li><br />
<li>Increase the tube's <strong>Outer diameter</strong> to 8.6cm, to let it just sit on the top fin. Yes, this will look strange for a moment or two.</li><br />
<li>Reduce the <strong>Body tube length</strong> to 2.5cm, so the back of the ring tail just touches the back of the fin points.</li><br />
<li>Set the appearance, if you'd like. Good choices for this model are White, and 50% <strong>Shine</strong>. <em>Note that since OpenRocket thinks this is a regular body tube, the inside of the ring tail won't receive your selected color.</em></li><br />
<li>Close the Body tube configuration window, and switch the <strong>View Type:</strong> menu to <strong>Back view</strong>. You should see the ring tail surrounding and touching the fins.</li><br />
<li>You can look at the rocket in a <strong>3D</strong> View, or in <strong>Photo studio</strong> to see how it will look in the real world.</li><br />
</ol><br />
<br />
Our ring tail is complete.<br />
<br />
It's important to note that the ring tail <em>will probably not be accurately simulated</em> in OpenRocket's flight simulations. The aerodynamic effects of the ring tail won't be taken into account correctly, and the simulation will give you a "Discontinuity in rocket body diameter" warning beside each simulation status indicator.<br />
<br />
= <em>Through-the-Wall</em> Fin Mounting =<br />
<br />
Model rocket fins are usually glued to the surface of an airframe. However, when higher thrust motors are used (E and above) the increased thrust can literally rip fins off or shoot a motor up through the airframe. Instead, "through-the-wall" (TTW) mounting refers to fins that protrude through a slot in the airframe and are glued to the motor mount tube, one or more centering rings, and the airframe surrounding the slot. This construction technique significantly strengthens fin joints and motor mounts.<br><br><br />
<br />
<p>There are three measurements necessary to create a fin tab: tab length, tab height, and tab position.</li><br />
<li><strong>Tab length</strong> is the distance from one side of the fin tab to the other. This is also the length of the slot that is cut through the airframe, the distance between the inside edges of the outermost centering rings.</li><br />
<li><strong>Tab height</strong> is the distance from outside of the airframe to the outside of the motor mount tube. This is calculated as follows: (BT OD - MMT OD) / 2, where BT is the airframe body tube and MMT is the motor mount tube diameters.</li><br />
<li><strong>Tab position</strong> is the distance from the root chord reference point to the fin tab reference point. <em>OpenRocket</em> features three choices:</li><br />
Relative to:<br />
<ul><br />
<li>the chord root leading edge &#8211; the tab position is the distance from the fin chord root leading edge to the fin tab leading edge. </li><br />
<li>>the chord root midpoint &#8211; the tab position is the distance from the fin chord root midpoint to the fin tab midpoint.</li><br />
<li>the chord root trailing edge &#8211; the tab position is the distance from the fin chord root trailing edge to the fin tab trailing edge. </li><br />
</ul><br />
</ul><br />
<em>OpenRocket</em> will automatically calculate fin tab dimensions, within the following constraints:</li><br />
<ul><br />
<li>If there are no centering rings beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the fin chord leading edge.</li><br />
<li>If only one centering ring is beneath a fin, the trailing edge of the fin tab is the fin chord trailing edge and the leading edge of the fin tab is the trailing edge of the centering ring.</li><br />
<li>If two centering rings are beneath a fin, the trailing edge of the fin tab is the leading edge of the trailing centering ring and the leading edge of the fin tab is the trailing edge of the leading centering ring.</li><br />
<li>If more than two centering rings are beneath a fin, referring to the centering rings in order from the trailing edge to the leading edge of the fin chord, the trailing edge of the fin tab is the leading edge of the first centering ring and the fin tab leading edge is the trailing edge of the second centering ring. <em>OpenRocket</em> supports only one fin tab on each fin.</li><br />
</ul><br />
<br />
Converting a simple rocket to through-the-wall design:<br />
<ol><br />
<li>At the <em>OpenRocket</em> <em>main window</em>, left-click the <em>File</em> menu, then left-click <em>Open example design</em> in the drop-down menu.</li><br />
<li>In the pop-up <em>Open example design</em> box, left-click the "<em>A simple model rocket</em>" selection, then left-click the <em>Open</em> button.</li><br />
<li>In the <em>Rocket design</em> view, double left-click the <em>Trapezoidal fin set</em> component.</li><br />
<li>Left-click the <em>Fin tabs</em> tab.</li><br />
<li>Left-click the <em>Calculate automatically</em> button.</li><br />
</ol><br />
And, a through-the-wall fin tab is automatically created between the two motor mount centering rings.<br />
<br />
= Electronic and Dual Deployment =<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
= Clustering and Multi-staging =<br />
<br />
Complex rockets fall into two basic categories, a rocket that is propelled by a cluster of motors intended to be simultaneously ignited or multi-staged (massively-staged), propelled by a series of motors that successively ignite the next in line when the prior motor burns out.<br />
<br />
[[File:xkcd_whatif_24_model_suborbital.png|thumb|392 px|left|From [https://what-if.xkcd.com/24/ xkcd 'what if' #24]: <em>How many model rocket engines would it take to launch a real rocket to space?</em>, a 65,000 motor staged-and-clustered rocket. Recommended reading for all rocketeers.]]<br />
<br />
== Motor Clustering ==<br />
Clustering refers to launching a rocket with more than one simultaneously-ignited rocket motor. Clustering is common in "real" aerospace programs. Familiar American examples include: the [https://en.wikipedia.org/wiki/Titan_II_GLV Gemini Titan] - a two-motor cluster, the [https://en.wikipedia.org/wiki/Saturn_V#S-IC_first_stage Saturn V] - a cluster of five Rocketdyne F-1 motors driving the first stage, and the [https://en.wikipedia.org/wiki/Falcon_9#Launcher_versions Falcon 9] - a cluster of 9 Merlin motors driving the main stage.<br />
<br />
In model and high-power rocketry, typical clusters seen are <strong>2-motor</strong>, always side-by-side, due to the geometry, <strong>3-motor</strong>, in a triangle or straight line, <strong>4-motor</strong>, in a square, and <strong>5-motor</strong>, typically arranged with one central motor surrounded by 4 in a square - though other arrangements are possible. There's nothing preventing much larger ones, but 2, 3, 4 and 5 are most-often seen.<br />
<br />
In three- and five-motor clusters, it's not uncommon to see a larger or higher-power central motor, surrounded by smaller or weaker motors. This may be done for effect, or due to modeling constraints, or to more closely resemble its full-scale inspiration, or possibly for reasons of cost. Clustered motors may be "canted" - that is, pointed to the outside of the rocket fuselage's circumference, for effect, stability, or spin.<br />
<br />
<div style="clear: both;overflow: auto"></div><br />
<br />
=== Designing a Rocket with Clustered Motors ===<br />
<br />
OpenRocket makes it easy to design motor clusters. To begin with, add an <strong>Inner Tube</strong> to your aft-most <strong>Body Tube</strong>. On the <strong>Motor</strong> tab, check the "This component is a motor mount" box. Set its inner diameter to one of the standard motor sizes, unless you have a unique need: 13, 18, 24, 29, 38, 54, 75 or 98mm. Next, click on the <strong>Cluster</strong> tab.<br /><br /><br />
<br />
[[File:ClusterTab.png|thumb|800 px|center|OpenRocket's <strong>Cluster</strong> tab]]<br /><br />
<br />
The <strong>Cluster</strong> tab lets you choose a common cluster configuration, and adjust it in your model. When you make an <strong>Inner Tube</strong> a cluster, you treat every tube in the cluster identically with each addition. If you add an <strong>Engine block</strong> or a <strong>Mass component</strong>, all of the tubes in the cluster will receive one.<br />
<br />
First, pick a cluster configuration from the image tiles on the left side of the tab. Realize that depending upon the sizes of your motor tube and body tube, not every cluster that you can make will fit.<br />
<br />
Next, adjust the <strong>Tube separation</strong>. This value controls how close the clustered motors are to each other. A value of 1 places the tubes in contact with each other. You can enter decimals like "1.25" in the separation field. In addition to potentially affecting your rocket's stability, the <strong>Tube separation</strong> you choose may influence the difficulty of wiring your clustered motors for ignition, and your ability to place adhesive and parts around tightly-packed tubes during construction.<br /><br /><br />
<br />
[[File:ClusterAft.png|thumb|800 px|center|Clustered motor mounts, viewed from aft.]]<br /><br />
<br />
The <strong>Rotation</strong> setting rotates your cluster around the major axis of your rocket (the Up <--> Down one). It's used to line up the motors with other decorative and structural components of your rocket. This alignment may be critical if you're creating a design that ducts eject gasses from one part of the rocket to another.<br />
<br />
The <strong>Split cluster</strong> button changes this component from a clustered motor component that can be handled as a unit, to individual motor tubes, which may be positioned and edited independently of each other. Once you split the cluster, items and settings you change for each tube will not automatically be added to the other tubes in the cluster. You may want this option if you have motor mount tubes of different lengths or diameters in the cluster. <em>Once split, a cluster cannot be recombined</em>. You must re-create the cluster as a unit if you'd like to revert to that approach.<br />
<br />
=== Igniting a Cluster ===<br />
<br />
Important to the stability of the rocket's flight is that all the motors ignite more or less simultaneously. The initial concerns here are that all the motors' igniters are wired to take a single application of voltage from the launch controller, and that the controller be able to provide adequate voltage and current to ignite all the motors.<br />
<br />
Estes Rockets used to advise that igniter wires be twisted together in either [https://en.wikipedia.org/wiki/Series_and_parallel_circuits series or parallel configurations]. Each has its advantages: with a series connection, any burnt igniter will show an open circuit upon arming, while with a parallel connection, the launch controller can use the same voltage as always, but supply more current to ignite multiple motors at once. Today, most clusters are wired in parallel, and the rocketeer must ensure that ample current is available for launch.<br />
<br />
Some cluster igniter wiring schemes use a <strong>buss bar</strong> - a short length of regular conductive wire, typically non-insulated, for ease of connecting to it as needed - as a way of bridging what can be complex connections in a tight space, into an easier connection plan. For example, you can twist one end of each igniter together in a bundle, and the other end of each to the buss bar. The launch micro-clips then connect one to the bundle, and the other to the buss bar, for a parallel connection.<br />
<br />
A convenient tool for igniting a cluster is a <strong>cluster whip</strong> - a set of wires and micro-clips that allows the single pair of clips at the launch pad to be easily broken into multiple sets of clips, to attach to multiple igniters, and providing a parallel connection. The cluster whip connects to the igniters, and the launch controller's micro-clips connect to conductors on the cluster whip.<br />
<br />
=== Igniting Clustered APCP motors ===<br />
APCP (<em>Ammonium Perchlorate Composite Propellant</em>) motors typical of Aerotech, Cesaroni, and Loki, are slower to ignite than Black Powder motors (typical Estes motors). They may unpredictably "chuff", sit quiet for a moment and then ignite, or even "spit" the igniter out. Because of this difference, and the unpredictability of APCP motor ignition, it's more than a little likely that clustered APCP motors won't ignite simultaneously, if at all. When designing for an APCP cluster (if you decide to roll these dice...), take into account what will happen to the rocket if not all motors ignite before it pulls away from the pad. The safety of observers, and of your airframe hang in the balance.<br />
<br />
== Using Clustering for Body Tubes With, or Without Motors ==<br />
It's possible to create imaginative designs, or mimic scale rockets of yesteryear by using OpenRocket's clustering capability. One limitation of doing so is that regular <strong>Body tube</strong> components have no Cluster tab. To add Clustered tubes (which are, by OpenRocket's definition always <strong>Inner Tubes</strong>) using OpenRocket's clustering features, you must first have a regular <strong>Body tube</strong>.<br />
<br />
You can use your regular <strong>Body tube</strong> as strapping around your clustered tubes, as a <strong>Nose cone</strong> mount, as an eject gas manifold, or even create a "Vestigial" body tube. To do this, add a regular <strong>Body tube</strong> then set its length to something like .0001 cm. The <strong>Body tube</strong> will be in the hierarchy and can have <strong>Inner tubes</strong>, but will barely be seen in the renderings.<br />
<br />
There are some limitations, as <strong>Inner tubes</strong> are not meant to be used in this way. They can't take a <strong>Nose cone</strong> nor some other components. They won't affect aerodynamics, even if you're trying to make them into tube-fin-like things. And whether as a unit or as a <strong>Split cluster</strong>, you can't convert <strong>Inner tubes</strong> to <strong>Body tubes</strong>.<br />
<br />
== Conventional Staging ==<br />
<br />
A "closed-hull" design with a separating airframe in which finned-stages holding motors are stacked up, and lower stages holding burned-out casings separate under pressure as upper stages ignite. Conventional staging is inherently limited to three stages because of the "Pisa Effect" which results in an increasing arcing trajectory with each stage.<br />
<br />
In designing multi-staged rockets, it's important to realize that the center of mass will tend to start well toward the rear of the rocket, based on the booster stage(s) weighted with the loaded motors. As booster motors are spent and the spent stage(s) ejected, the center of mass will tend to move forward. Careful design ensures that the center of mass remains forward of the center of pressure throughout the flight. Weighting and weight redistribution can move the center of mass forward, while larger fin area tends to move the center of pressure aft. Ensure at least 1.0 airframe caliber of separation between the (forward) center of mass and (aft) center of pressure. This is a rule of thumb, not a hard-and-fast stability solution.<br />
<br />
== Rack Staging ==<br />
<br />
An "open-hull" design with a non separating airframe in which motors are staked up, end-to-end, in a frame, and only the burned-out casings are ejected under pressure as higher stages ignite, stage-after-stage. So long as high average impulse lower stage motors are used to ensure adequate initial velocities, rack staging is not inherently limited because this design overcomes the "Pisa Effect." <br />
<br />
Here's a [https://sites.google.com/site/theskydartteam/projects/model-rocketry/rack-rocket-design 2007 video demonstrating rack staging].<br />
<br />
The BPS Aerospace thrust-vectoring design uses this approach to move a new motor into position for a landing burn.<br />
<br />
= Regulatory Concerns =<br />
<br />
Rocketry is subject to regulation by federal, state, and local governments, and most of the regulations that rocketeers must follow are promulgated by the National Fire Protection Association (NFPA) and the Federal Aviation Administration (FAA). The NFPA divides rockets into two major classifications, model rockets (NFPA &sect; 1122) and high power rockets (NFPA &sect; 1127), the difference primarily being weight and power, as follows:<br />
<ul><br />
<li>Model Rocket. A rocket vehicle that weighs no more than 1500 g (53 oz) with motors installed, is propelled by one or more model rocket motors having an installed total impulse of no more than 320 N-sec (71.9 lb-sec), and contains no more than a total of 125 g (4.4 oz) of propellant weight. (NFPA &sect; 1122, subd. 3.3.7.2.)</li><br />
<li>High Power Rocket. A rocket vehicle that weighs more than 1500 g (53 oz) with motors installed and is either propelled by one or more high power rocket motors or by a combination of model rocket motors having an installed total impulse of more than 320 N-sec (71.9 lb-sec). (NFPA &sect;1127, subd. 3.3.13.1.)</li><br />
</ul><br />
Within the high power rocket classification, a subclassification for &#8220;complex&#8221; rockets is defined as a high power rocket that is multi-staged or propelled by a cluster of two or more rocket motors. (NFPA &sect;1127, subd. 3.3.13.1.1.) And, a high power rocket launched with an installed total impulse greater than 2,560 N-sec (576 lb-sec) must have an electronically actuated recovery system. (NFPA &sect;1127, subd. 4.10.2.)<br><br />
<br />
== National Association of Rocketry ==<br />
National Association of Rocketry pursuits the goal of safe, fun and educative sport rocketry. It is the oldest and largest sport rocketry organization in the world. Visit dedicated [http://en.wikipedia.org/wiki/National_Association_of_Rocketry Wiki page] or [http://www.nar.org/ NAR official website] for more information. <br />
<br />
The major work of the NAR includes, but not limited to:<br />
<ul><br />
<li>Certification of Rocketry-Related products and establishment of safety codes</li><br />
The NAR is a recognized authority for safety certification of consumer rocket motors and user certification of high- power rocket fliers in the U.S. It plays a major role in establishment of safety codes for the hobby used and accepted by manufacturers and public safety officials nationwide.<br />
<li>Certification of experienced rocketeers</li><br />
NAR issues three levels of High Power Rocketry (HPR) certificates, Level 1 (L1) through Level 3 (L3). Certificates are necessary to purchase powerful rocket motor components.<br />
<li>Communication with public officials</li><br />
The NAR helps in communication with local public safety officials, and government regulatory agencies such as the Department of Transportation, Federal Aviation Administration, Bureau of Alcohol Tobacco Firearms and Explosives, and Consumer Product Safety Commission.<br />
<li>Other work</li><br />
The NAR publishes the bimonthly color magazine Sport Rocketry (sent to each member and selected libraries and newsstands around the nation). The NAR provides a wide range of other services to its members, including: education programs; national and local competitions; grants to teachers and scholarships for student members; flight performance record recognition; liability insurance; and publication of technical literature.<br />
<br />
== Tripoli Rocketry Association ==<br />
<br />
&lt;&lt;INSERTION POINT&gt;&gt;<br />
<br />
<br><br />
<br />
----<br />
<div style="text-align: center;"><br />
<div style="float: left;">[[Basic Flight Simulation|&larr; Basic Flight Simulation]]</div><br />
<div style="float: right;">[[Advanced Flight Simulation|Advanced Flight Simulation &rarr;]]</div><br />
[[User's Guide|&uarr; Back to Contents]]<br />
</div></div>Jddj