OpenMDAO / mphys

Multiphysics with OpenMDAO
Other
48 stars 31 forks source link

Move dvcon to a matrix-based API for partials #69

Closed anilyil closed 2 years ago

anilyil commented 3 years ago

With DVConstraints, and possibly with DVGeometry wrapper as well, we compute and store a full Jacobian internally using complex step or parallel finite differences. However, we have been using the matrix-free Jacobian vector product API in OpenMDAO instead of the matrix-based API.

Our approach is not well suited with the mat-free API; we end up either needing to do full jacobian computations each time mat-free API is called, or we need to keep track of design changes and update the Jacobians once and re-use them for subsequent mat-free API calls.

Matrix-based API is the way to go here: OpenMDAO would automatically update the matrix-based Jacobians when the design is changed. The only work we need to do here is to expose our Jacobians to OpenMDAO in the correct format for each DV and output/constraint.

anilyil commented 3 years ago

See a brief discussion of this here: https://github.com/OpenMDAO/mphys/pull/68#discussion_r636981345

anilyil commented 2 years ago

Moved to the pyGeo repo: https://github.com/mdolab/pygeo/issues/123