Due to the lapse in federal government funding, NASA is not updating this website.

Suggested Searches

OpenVSP Stacks

These tutorials will guide you through the basics of modeling with OpenVSP Stack components and show you some of the practices that will enable fast, clean, and robust models.

Encyclopedia
Updated Sep 22, 2025

Stack Introduction

The Stack is one of the fundamental components in OpenVSP and is useful for modeling various geometries requiring a buildup, or stacking, approach rather than setting a known total length. The Stack places cross-sections relative to the preceding section by prescribing translation and rotation for each. By default, Stacks set a free design policy which means that each section may be placed anywhere in your model to create exceptionally complex geometries including engines, flow-through components, fuselages, wings, landing gear, rockets, projectiles, screws, paths, … the applications are almost endless.

One of the most common uses of a Stack is to parametrically vary a body based on the assembly of individual sections. For example, you may begin with a baseline fuselage configuration and wish to vary individual section length or size to examine a design space. A Stack enables the designer to quickly set individual section lengths for the cockpit, cabin, and tail without computing the percent length stations for each as would be required with a Fuselage component.

Stacks are often the recommended component to build fuselages and bodies in OpenVSP. However, that doesn't imply that you will always want to use Stacks. If you want the ability to move a cross-section independent of the others along a body, then a Fuselage component is the better option.

Brandon Litherland
Aerospace Engineer

Adding or Removing Stack Cross-Sections

Adding a section to a Stack is quite simple. All you need to do is choose the cross-section where you want to insert a new following section and click Insert in the XSec tab. A new section identical to the selected section will be concatenated to your model and all following sections will shift accordingly. To remove a section, simply click “Cut”. You also have the option of copying, cutting, and pasting sections in your component.

Adding or removing sections in a Stack will, of course, affect the total length of your component.

Brandon Litherland
Aerospace Engineer

Positioning Stack Cross-Sections

Positioning a Stack section is fundamentally different than with Fuselage sections. Primarily, each placement is based on a shift or delta in translation and rotation relative to the previous cross-section which means that each section’s placement in the component depends on the placement of all preceding sections. So if the preceding cross-section has rotation, a delta-X, delta-Y, or delta-Z shift will be in the corresponding directions of the preceding cross-section orientation.

Complex cross-section placement can become quite tricky to manipulate manually. When you can, keep it simple.

Brandon Litherland
Aerospace Engineer

Rotating Stack Cross-Sections

Rotating Stack cross-sections is similar to positioning in that each rotation is a shift from the orientation of the preceding section. For example, if one cross-section has a Y-rotation of 15 degrees and a following cross-section has a Y-rotation of 10 degrees, the second section will have a total rotation of 25 degrees.

Stack section rotation can be tricky to master but allows for remarkably complex geometries. Understanding that all following sections depend on the orientation of the active cross-section is key.

Brandon Litherland
Aerospace Engineer

Stack Cross-Section Type

Changing Stack cross-section types is fairly straightforward as usual. Just like with Fuselages, simply choose the Type dropdown under the XSec tab and select the desired option. Note that for some section families, such as airfoils, the Chord and T/C parameters or others may be used to set width and height. Also remember that the cross-section normal direction points toward the end of the Stack which means that the leading edge of airfoils or left-side of custom curves will be associated with the left side of the Stack.   Additional information about each section type is found in the Cross-Section Details subject.

Stack Cap Treatment

Cap treatment may be added to Stack components by changing the Nose or Tail Cap Type under the Design tab. Similar to Fuselages, a cap is a different type of closure than manually setting a point or line cross-section. Caps may ensure that the geometry is watertight on each end but may cause point overlap issues in solvers such as VSPAERO.

Some CAD software will prefer the use of caps to close bodies rather than points or lines. If you find that you're having trouble importing OpenVSP geometry into CAD, caps could be a remedy.<br>

Brandon Litherland
Aerospace Engineer

Stack Design Policy

Stack components have a Free design policy by default. However, if you want to enforce a Loop policy simply change the XSec Order under the Design tab from Free to Loop. Notice that Stack Loops are different from Fuselage Loops in that the last cross-section is enforced to coincide with the first section rather than the other way around. This means that the first and last cross-sections are dependent on the translation and rotation set under the XForm tab.

Be aware that Loop design policy does not automatically ensure that your surfaces are "right side out." Check the shaded view and update your Skinning parameters to ensure the positive side of the surface points in the desired direction.

Brandon Litherland
Aerospace Engineer

Repeating Stack Sections

One of the more interesting features of the Stack component is the ability to repeat sections quickly. This enables the user to create interesting or useful patterns of geometry. In this example, we take a wedge section wrapped about a rod and repeat that section to create an auger. In a similar fashion, the user could easily create spirals, coils, springs, chains, etc. Creating an OpenVSP geometry with these features would be extremely difficult (and sometimes impossible) with any other component type in OpenVSP.

Be aware that OpenVSP components with too many sections begin to slow down the update process and, in extreme cases, cause the software to crash. If you find that you need many repeated sections, isolate a block of sections as a single geometry, then repeat that geometry as a new component.

Brandon Litherland
Aerospace Engineer