Nous recherchons un CDD ou post-doctorat de 18 mois pour réaliser des développements mathématiques et d'implémenter, sur architecture GPU, les librairies logicielles permettant de : 1/ Générer les surfaces spline MBA à partir d'un nuage de points exprimés dans un système de coordonnées génériques curvilignes. 2/ Calculer leur intersection avec des rayons. Au sein de la plateforme CIVA, la simulation de la propagation des ondes ultrasonores est fondée sur un modèle du type rayons, très rapide et fiable, mais est sensible à la régularité des surfaces décrivant les différents milieux de propagation. Ces limites de validité sont notamment atteintes lors de la prise en compte d’organes ou de composants industriels de géométrie complexe 3D, décrites par des maillages. La librairie permet de générer des Spline multi-niveaux (MBA Multi-Level B-Spline Approximation) à partir d’un nuage de points. Du fait de la régularisation introduite par les MBA, cette description permet à la fois de pallier les limitations des modèles rayons appliqués à des descriptions maillées des surfaces tout en permettant une accélération des simulations. Pour l’heure, cette librairie ne traite que des nuages de points exprimés dans un repère cartésien. L’objectif est de l'étendre afin de traiter des nuages de points exprimés dans un système de coordonnées génériques curvilignes. Les principaux développements seront les suivants : · Adaptation de la méthode MBA à des données de type f(u,v) = (x,y,z), où chaque paire de coordonnées (u,v) est associée à un triplet de coordonnées (x,y,z) dans un espace tridimensionnel. · Paramétrisation appropriée des surfaces B-Spline pour tenir compte des coordonnées paramétriques (u,v). · Modification des algorithmes d’ajustement des B-Splines pour traiter les données tridimensionnelles. · Validation sur des données d’entrée s’apparentant à des données cartésiennes f(x,y) = z (par exemple un plan ou une portion de sphère). · Analyse de performances pour déterminer les goulots d’étranglement et le niveau de parallélisation. · Optimisation du code (s’approcher des performances des codes MBA classiques). · Implémentation d’un algorithme de calcul d’intersection entre un rayon et une surface B-Spline multi-niveaux (produite par MBA), s’appuyant sur une méthode itérative de type Newton-Raphson. · Dvlpmt d’un algorithme d’évaluation de la surface B-Spline à partir d’un (u,v) donné (généralisation de l’algorithme de De Casteljau). · Détermination d’un first guess (u0,v0) pour éviter les minima locaux lors des itérations. · Mise en œuvre d’une méthode de subdivision itérative de la surface B-Spline, exploitant la propriété d’enveloppe convexe du polygone de contrôle de la surface (Convex Hull Property) et le stockage de subdivisions pré-calculées. · L’implémentation CPU en C++ suivi d’une étape devalidation, d’une analyse de performances et d’une étape d’optimisation de l’algorithme. · Adaptation des algorithmes #CEA-List
Le Département d'Instrumentation Numérique regroupe les compétences permettant d'adresser l'instrumentation multi-capteur de bout en bout dans les domaines du contrôle, de la mesure de rayonnements ionisants, du jumeau numérique et de l'instrumentation, associant modèles de simulation et Intelligence Artificielle. Ces compétences permettent de fournir des solutions en rupture sur les domaines émergents : contrôle santé des structures (SHM), la maintenance prédictive, le contrôle en ligne pour l'industrie manufacturière et la fabrication additive. Le Laboratoire de Génie Logiciel (LGL) a pour vocation de concevoir, développer et maintenir des plateformes logicielles exploitant la simulation et le traitement de données, en particulier CIVA dédiée à la simulation et à l'analyse de données de contrôle non destructifs multi-techniques.
Master ou Doctorat en Mathématiques Appliquées, Informatique, ou domaine équivalent. Expérience en développement d'algorithmes mathématiques. Expérience en programmation CPU et GPU, avec une attention particulière à l'optimisation des performances et à la parallélisation. Expérience en programmation C++ et CUDA. Capacité à résoudre des problèmes complexes de manière autonome. Bonnes compétences en communication écrite et orale en français et en anglais.
Talent impulse, le site d’emploi scientifique et technique de la Direction de la Recherche Technologique du CEA
© Copyright 2023 – CEA – TALENT IMPULSE – Tous droits réservés