Adjoint driven optimization in VSPAERO

121 views
Skip to first unread message

Rob McDonald

unread,
Jan 27, 2026, 7:59:58 PMJan 27
to OpenVSP
Recent versions of VSPAERO / OpenVSP support an adjoint driven optimization capability. While this capability is not yet integrated into the GUI for mainstream use, it is possible for a motivated user to play with it now.

This capability was discussed at the 2025 OpenVSP Workshop (videos online), but is otherwise undocumented.

I've pulled together an example case and posted the files on the OpenVSP Wiki. Hopefully this will reduce frustration and help people start playing with this tool.

https://openvsp.org/wiki/doku.php?id=vspaero_opt

wing_opt.gif

Mike Novikov

unread,
Jan 28, 2026, 1:34:38 AMJan 28
to OpenVSP
Thank you very much, Rob!
I will try as soon as possible!

среда, 28 января 2026 г. в 04:59:58 UTC+4, Rob McDonald:

Mike Novikov

unread,
Feb 1, 2026, 4:57:01 AMFeb 1
to OpenVSP
Rob, sorry to bother you with the optimization.
I checked your file, and it works with version 3.47.0!
After that, I decided to update it a bit to see how it compares to common sense. I would like to get an elliptical plan view of the wing. To that end, I updated your case:
1. I made the wing rectangular and added panels to section 8 to refine the wake.
2. I removed the twist and dihedral from the .des file and added a tip chord variable (and a root for section 1).
3. Updated Optimization_CMN_Weight = 0 to avoid CMN decreasing during optimization.

Correct me if I'm wrong, but I expected to get something close to an elliptical shape. However, the results are pretty far off. After four steps, it is still rectangular, and none of the above steps change anything.
Could the problem be with the objective function?
Please check the archive for the results.
Kind regards.

среда, 28 января 2026 г. в 10:34:38 UTC+4, Mike Novikov:
4.zip

Mike Novikov

unread,
Feb 5, 2026, 11:49:39 PMFeb 5
to OpenVSP
VSPAero Team, I apologize for bothering you. It seems you may have missed my message. If that's the case, just let me know that this isn't a priority.
Thank you

воскресенье, 1 февраля 2026 г. в 13:57:01 UTC+4, Mike Novikov:

Rob McDonald

unread,
Feb 6, 2026, 1:20:51 PMFeb 6
to OpenVSP
I didn't miss the message.

I tried your case and saw the same things you've seen.  I made some tweaks and cleanups, but they didn't really change the situation.

Right now, VSPAERO is using an extremely primitive optimizer (essentially pure gradient descent).  My best guess is that it is having a hard time putting together a compound search direction.  I.e. although it has gradients, when it moves in those directions, it is finding solutions that are worse (not better).  Consequently, it doesn't make any progress and stops after 20 major iterations.

I did strip it down to a single tapered wing panel and it seemed to behave a bit more as expected.

I mentioned this to Dave at the start of the week.  He indicated he would take a look -- and that he had tried a chord adjusting case earlier with some success.  He thought he may have played with scaling of some of the variables.  Unfortunately, I have not heard anything back from Dave at this time.

So, I don't really have anything to report.

Rob



Mike Novikov

unread,
Feb 8, 2026, 11:22:30 PMFeb 8
to OpenVSP
Thank you for your time, Rob and Dave!
Sorry for bothering you((

пятница, 6 февраля 2026 г. в 22:20:51 UTC+4, Rob McDonald:
Reply all
Reply to author
Forward
0 new messages