OpenAeroStruct icon indicating copy to clipboard operation
OpenAeroStruct copied to clipboard

Implemented a multi-section custom mesh generator

Open sabakhshi opened this issue 1 year ago • 2 comments

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 flake8 and black to make sure the Python code adheres to PEP-8 and is consistently formatted
  • [x] I have formatted the Fortran code with fprettify or C/C++ code with clang-format as 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

sabakhshi avatar Feb 23 '24 21:02 sabakhshi

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.

codecov[bot] avatar Feb 23 '24 21:02 codecov[bot]

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?

kanekosh avatar Feb 26 '24 22:02 kanekosh