Implemented a multi-section custom mesh generator
Purpose
Multi-section custom mesh generator for intuitively defining multi-section wing meshes in terms of taper, root chord, span, and other parameters.
Expected time until merged
This is still a work in progress. I plan to improve the user input style and add support for dihedral. This code will be used later to implement support for multi-section wing geometries OpenMDAO for section optimization, control surfaces, and wing warping. Looking for feedback. The commits should be squashed before merging.
Type of change
This is new feature and is independent from from most of OAS. Will allow users to quickly create a multi-section user specified geometry.
- [ ] Bugfix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (non-backwards-compatible fix or feature)
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no API changes)
- [ ] Documentation update
- [ ] Maintenance update
- [ ] Other (please describe)
Testing
Completed the unit and regression test. File contains some built in tests with a few different planforms. Would be interested in a trying a few other platforms.
Checklist
- [x] I have run
flake8andblackto make sure the Python code adheres to PEP-8 and is consistently formatted - [x] I have formatted the Fortran code with
fprettifyor C/C++ code withclang-formatas applicable - [x] I have run unit and regression tests which pass locally with my changes
- [x] I have added new tests that prove my fix is effective or that my feature works
- [x] I have added necessary documentation
Codecov Report
Attention: Patch coverage is 0% with 225 lines in your changes are missing coverage. Please review.
Project coverage is 89.45%. Comparing base (
def4df0) to head (e9914aa).
| Files | Patch % | Lines |
|---|---|---|
| openaerostruct/geometry/geometry_user_mesh_util.py | 0.00% | 225 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #422 +/- ##
==========================================
- Coverage 94.51% 89.45% -5.06%
==========================================
Files 104 105 +1
Lines 6470 6695 +225
==========================================
- Hits 6115 5989 -126
- Misses 355 706 +351
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Thanks, @sabakhshi, this is a great addition. Do you plan on adding new OM components to manipulate a multi-section wing for optimization (e.g., we'd define the tapers and ARs for each section as design variables), or would it be enough for your purpose to apply the "global" mesh manipulation OAS currently has to an initial multi-section wing?