February 7, 2025, 17:51
|
|
#2
|
|
Senior Member
bigfoot
Join Date: Dec 2011
Location: Netherlands
Posts: 833
Rep Power: 23
|
For completeness, the complete project description has been copied below. Note that the most up to date description can be found in the link to the document above
Project 1: Adding pressure-based solver
- Project Description (max. 5 Sentences)
The pressure-based solver has been requested for a long time. This solver is an important addition to the CFD solvers, especially for low Mach and incompressible flows. People have worked on it (detailed documentation available), and there is a branch that contains a working version, but this was never finalized and added to the main SU2 branch. Hence, the project's objective is to evaluate the current status of attempts, and propose a strategy for getting the pressure-based solver in the latest version of SU2. - Expected Outcome (deliverables): Finalize pressure-based solver, validate with test cases, tutorial and merge the PR.
- Skills Required: C++, experience with CFD and numerical methods
- Possible Mentors: Nitish Anand and Edwin van der Weide
- Expected Project Size: 175 hrs/medium
- Difficulty rating: medium-hard (needs experience with Computational Fluid Dynamics)
Project 2: Using data-driven, physics-informed machine learning to model fluid properties in computational fluid dynamics.
- Project Description (max. 5 Sentences)
The properties of complex fluids can be modeled in SU2 by using a data-driven method that uses physics-informed neural networks (PINNs). This method is very efficient and accurate, but is sometimes not robust when it comes to inverse regression. The main goals of this project are:
- Develop and implement a smart method for choosing the starting point of inverse regression.
- Indicate in the flow solution where predictions of the fluid properties may be unreliable (due to phase transition or inaccurate inverse regression).
- Improve the efficiency of the neural network evaluation algorithm.
- Expected Outcome (deliverables): Validation of regression algorithm robustness and validation study of algorithmic efficiency of neural network evaluation algorithm. Addition of tutorial to SU2 tutorial library and merge changes with a PR.
- Skills Required: C++, python, SU2
- Possible Mentors: Evert Bunschoten (lead)
- Expected Project Size: 175 hrs/medium
- Difficulty rating: easy-medium (experience in CFD or fluid modeling preferred)
Project 3: Graphical User Interface: coupling to python wrapper and json validation
- Project Description (max. 5 Sentences)
In GSoC 2024 we improved the SU2 GUI and made it suitable for basic use. We would like to keep the momentum and focus in this project on two main things: 1. coupling with the python wrapper so users are able to write python scripts inside the GUI, and export the GUI setup in python format; and 2. Write a json validation for the configuration file. The goal is also that the json validation will replace the hardcoded c++ validation that we have in the main SU2 solver.
- Expected Outcome (deliverables): SU2-GUI (python+trame library), availability on github, json validation scheme, python coupling for initialization and boundary condition.
- Skills Required: Python, Paraview, SU2, Trame, json
- Possible Mentors: Nijso Beishuizen, Ujjawal Agrawal (2024 GSoC Alumnus)
- Expected Project Size: 175 hrs/medium
- Difficulty rating: medium
Project 4: Make it easy to add and update unit tests
- Project Description (max. 5 Sentences)
One of the most important requirements for a CFD code is that users trust the outcome. This trust is gained by performing Unit Tests, as well as Verification and Validation tests. We need more online tests, and these tests should be 1. Easy to add and 2. Complete in their testing. We therefore need to automate the creation, adding and maintaining of these tests.
- Expected Outcome (deliverables) Templated and Automated unit and V&V tests, putting current tests in the new system, regeneration of the results (figures, data, etc.), possible creation of new results.
- Skills Required: python, C++
- Possible Mentors: Nijso Beishuizen (lead)
- Expected Project Size (90 hrs/ small , 175 hrs/medium, 350 hrs/large): 90hrs, small
- Difficulty rating (easy (little experience/background), medium (some experience/background), hard (experienced)): easy
Project 5: Continuation of GPU acceleration in SU2
- Project Description (max. 5 Sentences)
The SU2 code relies heavily on sparse linear algebra. In this area, there is significant speed-up potential with the adoption of GPU-based processing, as was demonstrated in the GSOC 24 project that applied CUDA to sparse matrix-vector multiplications in SU2. The objective of this project is to move more linear algebra operations to GPU in order to avoid host-device communication bottlenecks within the sparse linear system solver.
- Expected Outcome (deliverables) Make SU2’s sparse linear solver GPU-native, i.e. minimal host-device communication after the initial setup of the system.
- Skills Required C++
- Possible Mentors: Pedro Gomes (lead), Ole Burghardt
- Expected Project Size (90 hrs/ small , 175 hrs/medium, 350 hrs/large): 175 hrs (medium)
- Difficulty rating (easy (little experience/background), medium (some experience/background), hard (experienced)): medium
Project 6: Extending turbomachinery geometry handling for mixed-flow applications
- Project Description (max. 5 Sentences)
Mixed-flow turbomachinery components, such as NASA’s High Efficiency Centrifugal Compressor, combine the properties of both axial and radial machines. Such geometries can be difficult to simulate due to their complex geometric dependencies. This project aims to refactor SU2’s current turbomachinery geometry handling and extend it to be able to handle mixed-flow machinery.
- Expected Outcome (deliverables) Merged PR containing the new, flexible axes of rotation, and validation of the NASA HECC testcase
- Skills RequiredC++, SU2
- Possible Mentors: Josh Kelly
- Expected Project Size (90 hrs/ small , 175 hrs/medium, 350 hrs/large):175 hrs (medium)
- Difficulty rating (easy (little experience/background), medium (some experience/background), hard (experienced)): easy/medium
Last edited by bigfootedrockmidget; February 10, 2025 at 16:48.
|
|
|