Open
Description
[WIP]
Because we can only pin up to 3 issues in GitHub, I'm creating this one to track major aspects we need to fix or implement in SU2.
This issue shall only contain the list and a brief description, with links to associated issues and pull requests.
To propose major issues / development areas please use discussion #1486
The purpose of this list is two fold:
- Direct the efforts of the SU2 Foundation towards addressing these issues, by efforts I mean funds (as they become available).
- Try to enlist help from the community to start addressing these issues, as much as possible we will try to break these down into "bite sized" chunks.
To be clear, all contributions are welcome, even if they do not fit in one of the categories below.
The main objective here is consolidation, making SU2 do more things well (v&v'd, unit-tested, documented, etc.)
Documentation
- Tutorials, trying to cover all areas of SU2 (key priority according to the community).
- Developer documentation (common "how to's",
update/simplify the info in these pages(done), etc.).
Turbulence models
- Precise documentation of fluid and turbulence models as implemented in SU2, i.e. link to an authoritative reference and highlighting any deviation from it. SA and SST turbulence model consistent implementation with literature, and handling more options #1364 SST(m) implementation is inconsistent with literature #1551
- Code refactoring to simplify adding turbulence model variants. Refactor SA source terms to modularize the specification of model variants and correction terms #1413
- V&V
- Scale resolving methods [WIP] Wall Model LES #1120
- Transition (documentation, tutorial, implementation of additional models) [WIP] Develop for transition model. #1496
- Wall functions (documentation, tutorial testcase) Fix SA and SST wall functions #1204
Validation and Verification
- V&V of features that lack coverage (i.e. a particular fluid model, design variable, etc.), followed by regression test and ideally tutorial Validation Suite for SU2 #581
- Put the V&V cases under regression to ensure they are up to date (similar to what is done with tutorials).
Testing and test cases
- More unit tests Add Unit Testing to SU2 #698
- Cleanup of TestCases to make them "Minimum working examples" (no redundant options, no duplication of descriptions from the config template, etc.).
- "Obscure" features ("things that SU2 does" to some extent but are: incomplete, not validated / regression-tested, not documented) cleanup obsolete examples in TestCases, and identify features lacking test coverage, decide what to do with those features.
Code maintenance
- Better support / documentation for building SU2 directly on Windows. Issues with compiling SU2 on Windows 10 #1468
- Replacing the legacy output [WIP] Feature turbomachinery restruct singlezone #1316
- General C++ cleanup C++ Core Guidelines #1218
- Deprecate legacy build system.
Robust convergence
- Multigrid issues on unstructured grids and less robust with MPI in general e.g. Solve segmentation faults for FULLMG_CYCLE #1362 restart for multigrid not correct for turbulence #1549
- Reduced stability of fluid-fluid interfaces Divergence when using fluid interface #1414
- Reduced stability of periodic boundary conditions Instability in BL with Periodic Boundary Conditions #1467
- Convergence in poor quality meshes, or anisotropically adapted.
Customization
- More flexible outputs (user-defined Custom objective function (e.g. 'DRAG + LIFT') #1478, consistent SCREEN and HISTORY HISTORY_OUTPUT only accepts groups, not fields #1493, file output frequency file writing for dual_time_stepping_2nd_order #1539)
- Python wrapper: expose more inputs to allow e.g. time-dependent boundary conditions; tutorials.
Optimization
- Add SU2_DOT to python wrapper, refactor to use CMeshSolver Refactorization of SU2 Grid Deformation for Python #1300
- Allowing more inputs as design variables.
- Overhaul the entire optimization framework Shape Optimization #733
- Try to use FADO in more cases to assess the impact of removing the existing shape_optimization.py
- Improve mesh deformation method (maintain quality, prevent intersections, etc.)
Completely new development areas
- Overset meshes.
- GPU.
- Polygonal meshes.
- Adaptive mesh refinement (some external possibilities possible, e.g. PyAMG Error during SU2-PyAMG run #948).