Implementation of the Spectral Difference method in a Julia code for a comparative study of high order methods
Training | Computational Fluid Dynamics | Computational Fluid Dynamics, Mécanique des fluides, Numerical Methods, Programming
Required Education : Master 2
Start date : 1 February 2024
Mission duration : 6 mois
Deadline for applications : 15 December 2023
Keywords
- Programming (Julia)
- Numerical method
Context
The evolution of aeronautical requirements in terms of performance, fuel consumption and environmental impact (emissions, noise), has led to a need for optimization of industrial applications/processes. Unsteady numerical simulations are a central asset to face these new challenges. Current calculation programs are CPU-oriented but nowadays supercomputers architectures promotes GPU-oriented computations in order to take advantage of their high performance and low energy consumption. This recent changing in supercomputer architecture requires computational portability in order to run computation on hybrid systems. In this context, CERFACS aims to assess the technological readiness of the different available solutions.
Missions
The objective of this internship is to assess Trixi [1] (Julia module) capabilities by implementing the spectral difference method, currently developed in CERFACS computing programs. This high order method shares similarities with the DGSEM which is available in Trixi. Performances of both methods is to be studied on several reference test cases from literature (convected vortex, Kelvin Helmoltz instability, Taylor Green vortex). First, the candidate is to become familiar with Julia programming and with high order methods. Then, the spectral difference method will be developed in the Julia module. Finally, the new method will be assessed using academic test cases and compared to the results from DGSEM.
Candidate profile
The candidate has a strong background in programming languages (Python / Matlab and/or C++) in order to get started with the code easily. A first experience in Julia would be highly appreciated but not mandatory. Moreover, the candidate has to be familiar with numerical methods for the resolution of partial differential equations. Finally, basics of programming is mandatory in order to work with the numerical solver. Within a research framework, the candidate, preparing a Master 2 (or equivalent), must be able to present his work to the entire team (written/oral). Working autonomously is also expected (bibliography, choice of developments, validation, etc.).
Aptitudes
· Ability to work in team
· Initiative
· Rigor
· Analysis and synthesis qualities
Contacts
References
[1] https://github.com/trixi-framework/Trixi.jl