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 proximity constraints #229

Closed anilyil closed 6 months ago

anilyil commented 9 months ago

Purpose

This PR adds "proximity constraints", which are regular thickness constraints but they can be added between different surfaces, and the points tracked on each surface can have a custom set of argument when they are added to the DVGeo object. This enables us to have a bit more control over thickness constraints that are added in areas where multiple surfaces might be kicking around.

This feature was developed on a branch fron "children_dict", so the commit history is long, but the changes should be minor. I added tests for the expected behavior.

Expected time until merged

1-2 weeks

Type of change

Testing

Checklist

codecov[bot] commented 9 months ago

Codecov Report

Attention: Patch coverage is 80.68182% with 17 lines in your changes are missing coverage. Please review.

Project coverage is 65.44%. Comparing base (6f179fb) to head (710ec2b).

Files Patch % Lines
pygeo/constraints/thicknessConstraint.py 76.00% 12 Missing :warning:
pygeo/constraints/DVCon.py 86.84% 5 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #229 +/- ## ========================================== + Coverage 65.30% 65.44% +0.13% ========================================== Files 47 47 Lines 12124 12211 +87 ========================================== + Hits 7918 7991 +73 - Misses 4206 4220 +14 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

anilyil commented 6 months ago

Thanks for the review @hajdik and @lamkina. I addressed your changes. This is ready for another round of reviews.

lamkina commented 6 months ago

As long as the CI tests come back clean this is ready to roll.