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.

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.
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.
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.
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 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.
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.
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.