Informations générales
Entité de rattachement
Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.
Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.
Implanté au cœur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.
Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :
• La conscience des responsabilités
• La coopération
• La curiosité
Référence
2026-39326
Description de l'unité
Notre Service dédié au Génie Logiciel pour la Simulation (SGLS) réalise et maintient des plateformes génériques, pérennes et open source dans le but :
- de développer des codes de calcul parallèles en mécanique des fluides à différentes échelles (https://sourceforge.net/projects/trust-platform/)
- d'exploiter les codes de calculs à l'aide d'outils de mise en données, prétraitements et postraitements, standards ou spécifiques ;
- de fournir aux physiciens les méthodes et outils leur permettant d'optimiser leurs conceptions et de traiter les incertitudes de leurs études de sûreté.
Le Laboratoire d'Intelligence Artificielle et de science des Données (autrement nommé le LIAD) réalise et maintient une plateforme générique, pérenne et open source pour fournir à nos physiciens des méthodes et outils leur permettant d'améliorer leurs modèles, d'optimiser leurs conceptions et de traiter les incertitudes de leurs études : la plateforme Uranie.
Uranie ? Oui, notre plateforme permet dans l'approche VVQI (Validation, Vérification et Quantification d'Incertitude) de créer des plans d'expériences adaptés aux besoins d'une analyse de sensibilité, d'un problème d'optimisation ou de la génération d'une base d'apprentissage ou de test pour un modèle de substitution.
Uranie permet de piloter le lancement des codes ou fonctions de manière séquentielle ou avec différentes approches de parallélisation.
Description du poste
Domaine
Administration d'entreprise et communication
Contrat
Stage
Intitulé de l'offre
INTERNSHIP - Software development for a Bayesian optimization framework H/F
Sujet de stage
Transforming a Bayesian Optimisation Prototype into a Production-Ready Framework
Durée du contrat (en mois)
4
Description de l'offre
At the Institute of Applied Sciences and Simulation for Low-Carbon Energies (ISAS) of the CEA, we operate at the interface of theoretical physics, applied mathematics, and computer science. Research at the institute involves the development of computational tools to model complex systems in material science. Bridging the gap between academic prototypes and robust software is essential to translate these models into reliable solutions for applied research.
One specific application concerns additive manufacturing, which enables the creation of metallic components for industrial use. These parts involve complex geometries which need to be engineered to ensure the desired physical and mechanical properties. Designing these structures requires navigating a high-dimensional parameter space to reach arbitrary optimal configurations under constraints. To address this, the Laboratory of Artificial Intelligence and Data Science (LIAD) and the Laboratory of Engineering of Surfaces and Lasers (LISL) have jointly developed a prototype software suite. This tool couples finite element analysis with constrained Bayesian optimisation to automatically identify optimal geometric parameters.
The current Python codebase provides a functional and documented implementation of the mathematical framework, successfully validated on specific use-cases. To extend its utility to broader additive manufacturing applications, the software requires architectural modularisation. The objective is to transform this specialised implementation into a generic, installable library capable of accommodating diverse geometrical constraints and physical models.
The intern will undertake the following tasks, which will provide the opportunity to learn and apply the principles of software engineering best practices, specifically in the areas of architecture, standardisation, and packaging:
- Refactoring and Standardisation: Unify the Command Line Interfaces, implement robust path handling, and standardise argument parsing to abide by Unix/POSIX standards.
- Architectural Decoupling: Separate the core optimisation engine from simulation-specific parameters. This involves building a modular interface to load user-defined constraints and physical models, allowing the package to accommodate new geometries without modifying the internal codebase.
- Robustness and Validation: Implement strict input validation (e.g. using Pydantic or JSON Schema) to prevent runtime errors, and develop a suite of unit and integration tests integrated into a continuous integration (CI/CD) pipeline.
- Documentation and Packaging: Write comprehensive developer and user documentation (Sphinx/MkDocs), create tutorials, and finalise the Python package configuration for standard installation.
Moyens / Méthodes / Logiciels
research software engineering, python packaging, Bayesian optimisation, CI/CD, documentation
Profil du candidat
We are looking for a methodical and precise second-year student of an engineering school (the French M1 level) with a strong background in Computer Science or Applied Mathematics. The ideal candidate values code quality over quick fixes. Prior knowledge of the specific physics and simulation codes (Cast3M, URANIE) is not required and will be taught as needed.
Required Skills:
- Proficiency in Python 3.10+ (Object-Oriented Programming, typing, module structure).
- Experience with git and collaborative workflows.
- Knowledge of modern Python tooling (uv, pip, pytest).
- Basic understanding of mathematical concepts (vectors, bounds) is required; deep knowledge of material science is not necessary.
Localisation du poste
Site
Saclay
Localisation du poste
France, Ile-de-France, Essonne (91)
Ville
Saclay
Critères candidat
Langues
- Français (Courant)
- Anglais (Courant)
Diplôme préparé
Bac+4 - Master 1
Possibilité de poursuite en thèse
Non
Demandeur
Disponibilité du poste
01/04/2026