mdolab / pygeo

pyGeo provides geometric design variables and constraints suitable for gradient-based optimization.
https://mdolab-pygeo.readthedocs-hosted.com/en/latest/?badge=latest
Apache License 2.0
122 stars 54 forks source link

Add shape function DVs #202

Closed anilyil closed 1 year ago

anilyil commented 1 year ago

Purpose

This PR adds generic shape function DVs to the DVGeo class. This way, the users can specify shape functions that determine what FFD control point will move in what direction. A single shape function can affect multiple FFD points. A single FFD point can be affected by multiple shape functions; the displacements from each shape function are superposed. This also adds shape function DVs to the MPhys wrapper.

No tests yet, but wanted to create the PR to get the ball rolling.

Expected time until merged

2 weeks

Type of change

Testing

Checklist

codecov[bot] commented 1 year ago

Codecov Report

Merging #202 (830c329) into main (45be339) will decrease coverage by 0.03%. The diff coverage is 62.96%.

@@            Coverage Diff             @@
##             main     #202      +/-   ##
==========================================
- Coverage   64.78%   64.76%   -0.03%     
==========================================
  Files          47       47              
  Lines       11969    12018      +49     
==========================================
+ Hits         7754     7783      +29     
- Misses       4215     4235      +20     
Impacted Files Coverage Δ
pygeo/mphys/mphys_dvgeo.py 0.00% <0.00%> (ø)
pygeo/parameterization/designVars.py 78.64% <72.22%> (-0.62%) :arrow_down:
pygeo/parameterization/DVGeo.py 68.78% <75.00%> (+<0.01%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

anilyil commented 1 year ago

This one is ready to be reviewed @hajdik, @sseraj. Maybe also @bernardopacini because you guys used this for the aviation paper.

hajdik commented 1 year ago

I added the MPhys wrapper function from my branch.