
Activez les alertes d’offres d’emploi par e-mail !
Une entreprise d'énergie recherche un stagiaire pour développer des outils en mécanique des fluides numériques. Vous serez impliqué dans l'analyse des performances de solveurs numériques et la mise en œuvre de modifications pour améliorer la convergence. Des bases en programmation C++ ainsi qu'en analyse numérique sont essentielles. Ce stage offre une opportunité unique de travailler sur des algorithmes en environnement Linux.
Pour ses besoins importants en mécanique des fluides numériques, EDF développe les outils code_saturne (code_saturne) et neptune_cfd. Ces outils massivement parallèles sont basés sur un schéma numérique à base de schémas volumes finis et une discrétisation sur maillages non structurés. La résolution itérative de systèmes linéaires représente actuellement entre 50 % et plus de 90 % du temps de calcul. Une grande partie de ce temps est liée au solveur de pression et à son préconditionneur multigrille algébrique, dont la combinaison optimale des paramètres dépend du cas traité.
On analysera dans un premier temps les temps de calcul associés à diverses sous-étapes des solveurs mis en œuvre dans le code, notamment multigrille, ainsi que le comportement de convergence associé, sur un échantillon de cas représentatifs, en fonction des paramétrages des algorithmes disponibles, de manière à pouvoir améliorer les heuristiques actuelles et mieux comprendre les interactions entre divers paramètres, afin d’orienter les évolutions à venir. On essayera de manière générale de relier ces éléments aux éléments théoriques connus. Ceci pourra mener à la mise en œuvre de modifications dans les algorithmes actuels pour améliorer les performances et la régularité de la convergence. On évaluera aussi des nouveaux lisseurs décrits dans la littérature. Sur GPU, on pourra être amené à contribuer à l’adaptation et mise en œuvre des algorithmes utilisés pour la construction de l’arborescence multigrille, aujourd’hui effectuée sur CPU.