OpenVSP 3.36.0 Released

It has been almost three months since the last release. Tons of work has been going on, but mostly on a big change that still isn’t quite ready yet. While I have been focused on the big stuff, a ton of other features and fixes have accumulated. In fact, some of them are pretty big in their own right. So clearly we’re past due for a release.

If you compile OpenVSP yourself (particularly on antiquated platforms), updating to this version is going to be painful for you. One of the libraries I need for the next round of changes requires we move to C++17 (we’ve been on C++11). In turn, that requires that we move to CMake 3.24 (we previously only required 3.1). These changes cause a nightmarish ripple through the toolchain continuum. I’m sorry.

I’ve stopped builing and packaging for Python 3.6, moving support to Python 3.9 and 3.11.

You can now choose to use your operating system’s native file open/save dialog window instead of OpenVSP’s custom one. Go to File… Preferences… and make the change. You will lose access to your list of favorite folders, but it will act like most every other program on your computer.

There are many improvements to the user experience around advanced links. You can now sort advanced link variables. Variable names can be generated automatically. Unique names are suggested when you try to use conflicting names. You can rename a variable and the code will be updated too. Advanced link actions are now available from the API.

When a circular link loop update is stopped, a warning message is issued.

A spanwise fraction ‘eta’ coordinate has been introduced for wings. This is available for specifying control surfaces, attachment to wings, and conformal components based on wings. This should be more natural than U, R, and L for wings.

A protractor angle measure has been added to the Ruler and Probe measure. It can be used to measure and mark angles and projected angles.

A classical lamination theory (CLT) calculator for composite materials has been added. Now you can build up a ply schedule in OpenVSP for your structures.

Structures can also now include off-body fixed points. These can be used to build connections or to apply boundary conditions and loads. Unlike on-body fixed points, these float in space outside of the FEM mesh.

Several structures tweaks were provided by Bryan S.

There are lots of bug fixes all around. Lots of help from users finding and tracking them down.

Two bugs were fixed that caused long-running API cases to have heavy memory growth. If you still encounter memory-growth please help out with a test case so I can get it fixed.

A subtle problem with IGES and STEP files was fixed. Many downstream programs didn’t seem to care, but perhaps this will improve interoperability for some of you.

OpenVSP should work on Apple Silicon again (still via Rosetta2).


  • Native file dialog
  • Advanced Link UI improvements
    • Sorting variables in link
    • Suggest when conflicting name used
    • Automatic naming
    • Variable renaming w/ code search
    • Advanced Link API
  • Issue warning message when a link loop is stopped
  • Protractor measure
  • Wing eta coordinate for control surface, attach, and conformal
  • Classical laminate theory for materials specification
  • Off-body fixed points for FEA Mesh
  • Write template NASTRAN executive and case control sections
  • Change NASTRAN files to use RBE2 instead of RBAR1
  • Improved error message when OpenGL will not load
  • Various cleanups to build system
  • Build Pyhton 3.9/3.11 instead of 3.6/3.9


  • Pinocchio moved to Libraries
  • Update Pinocchio to C++17 version
  • Update Clipper1 to Clipper2, move to Libraries
  • Update Delabella

Bug fixes:

  • Fix knot values in STEP and IGES files
  • Improve greying-out of 4-digit CLi parameters for prop
  • Improve adherence to 6-series airfoil nomenclature
  • Fix memory leak and growth plaguing long-running API users
  • Fix order of Calculix dependent/independent connected nodes
  • Fix planar slicing behavior with just one slice

Comments are closed.