Design Variables Constraints in Adjoint Optimizer

37 views
Skip to first unread message

Julien

unread,
Feb 16, 2026, 11:09:51 AM (7 days ago) Feb 16
to OpenVSP
Hello everyone!
I started looking at how to use the new adjoint driven optimization feature and managed to run a basic wing optimization. However I don't know (if it's possible) how to impose design variables constraints during the optimization. 
So for example I run this command vspaero_opt -omp 4 Most_Basic_Wing and I have this optimization formulation:

Optimization_CL_Weight   = 5.
Optimization_CD_Weight   = 1.
Optimization_CS_Weight   = 0.
Optimization_CL_Required = 0.55
Optimization_CD_Required = 0.
Optimization_CS_Required = 0.
Optimization_CML_Weight   = 0.
Optimization_CMM_Weight   = 1.
Optimization_CMN_Weight   = 0.
Optimization_CML_Required = 0.
Optimization_CMM_Required = 0.
Optimization_CMN_Required = 0.

and this .des file:
2
EEQBNXFRSUM:WingGeom:XSec_1:Sweep: 10
ZMDVLABRBAE:WingGeom:XSec_1:Tip_Chord: 0.4

and would like to impose a tip_chord < 1
Would that be possible? Also I tried to find out by myself this kind of information on the github but I am not familiar with reading source code from other people so I guess I should read it somewhere here: https://github.com/OpenVSP/OpenVSP/blob/6697aab6759317aaa5d7666cee18faf9e0d0336c/src/vsp_aero/Solver/vspaero.C#L5779 but cannot find anything related to constraints.

Thanks for your help!

Rob McDonald

unread,
Feb 16, 2026, 12:46:30 PM (7 days ago) Feb 16
to OpenVSP
At present, there is no way to constrain design variables.

Right now, the embedded optimizer is extremely simple -- essentially pure gradient descent with a line search.

I would like to see us move to a more sophisticated optimizer, but so far we have not found one that we are enthusiastic about using.

We also expect that in many situations, people will integrate VSPAERO into a larger / more sophisticated framework and consequently will use their own optimizer.

Rob
Reply all
Reply to author
Forward
0 new messages