Stage - Développement d'Interfaces pour des Codes de Calcul Scientifique H/F

CEA
Postée il y a 18 jours

Les missions du poste

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 coeur 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é
Contexte : Jusqu'à une époque récente, nous nous sommes concentrés sur la construction d'Outils de Calculs Scientifiques qui répondent à une problématique donnée (en l'occurrence la simulation des accidents graves pour un réacteur de 4ème génération) ;
Par exemple, un code de thermohydraulique (CFD) pour calculer la dégradation du coeur (SIMMER), ou un code de neutronique pour calculer la réactivité d'un coeur (PARIS), ou autres.

Les couplages étaient alors résolus avec des interfaces spécifiques (drivers) qui montrent des limites en matière de performance et de robustesse.
Le CEA a récemment développé des techniques et des standards d'encapsulation de codes de calculs dans le but de favoriser leur intégration au sein d'une plateforme multiphysique (cf. en particulier SALOME, la plateforme de référence
thermohydraulique et neutronique CEA-EDF https://www.salome-platform.org).

Ces techniques d'intégration reposent sur les principes suivants :

- Le code de calcul doit être doté d'une API Python qui offre les services décrits par le standard de couplage ICoCo (https://pypi.org/project/icoco/).
Cette interface comprend deux types de service :
- Qui assurent le pilotage de la boucle en temps (lecture du jeu de données, initialisation du calcul, exécution d'un pas temps, etc.)
- Qui assurent des échanges normalisés entre les codes, en l'occurrence des champs MEDCoupling

(https://docs.salomeplatform.org/latest/dev/MEDCoupling/tutorial/index.html)
Par ailleurs, le CEA a développé une librairie Python qui offre une structure objet adaptée à l'écriture d'applications de couplage entre des codes équipés de l'interface ICoCo. Il s'agit de la librairie Objet C3PO décrite ici :

https://www.sciencedirect.com/science/article/pii/S.

Au LMAG, nous appliquons cette technologie pour notre plateforme SEASON. Cette plateforme porte principalement le couplage entre SIMMER et PARIS et elle sera le cadre de réalisation du sujet proposé :

Travail prévu : L'API Python de SIMMER a déjà été équipé des méthodes ICoCo.
Cette implémentation n'est pas tout à fait complète car les méthodes d'échange ne sont fonctionnelles que pour les données situées sur les frontières du calcul et ne permettent pas des échanges sur les parties internes au domaine.
Votre mission sera d' étendre ces échanges (développement Fortran). Une fois cette extension réalisée, vous développerez des cas tests de couplage sous la forme de scripts Python qui exploitent la structure C3PO.
On commencera avec des tests homogènes (couplages SIMMERSIMMER) et selon la progression, on s'intéressera à des couplages hétérogènes (SIMMERCATHARE, ce second code étant lui aussi équipé de son interface ICoCo).
Dans la limite de durée de stage, on s'intéressera à des questions particulières comme la mise en oeuvre de schémas en temps particuliers, la gestion des hétérogénéités entre les codes couplés, et autres questions.
Vous préparez un Bac +5 (Master 2 ou équivalents) en calcul scientifique et génie logiciel et/ou en simulation de processus physiques.

Doté d'un esprit d'initiative, vous proposez des solutions et des actions de façon autonome. Vous savez vous adapter aux demandes formulées et y répondre dans un souci de satisfaction client.

Bon communicant, vous appréciez le travail d'équipe et savez dialoguer avec différents interlocuteurs.

En intégrant nos équipes, vous mettrez vos compétences et votre enthousiasme au service de projets sociétaux majeurs.

Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes en situation d'handicap, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation.

Le profil recherché

Vous préparez un Bac +5 (Master 2 ou équivalents) en calcul scientifique et génie logiciel et/ou en simulation de processus physiques.

Doté d'un esprit d'initiative, vous proposez des solutions et des actions de façon autonome. Vous savez vous adapter aux demandes formulées et y répondre dans un souci de satisfaction client.

Bon communicant, vous appréciez le travail d'équipe et savez dialoguer avec différents interlocuteurs.

En intégrant nos équipes, vous mettrez vos compétences et votre enthousiasme au service de projets sociétaux majeurs.

Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes en situation d'handicap, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation.

Lieu : Marseille 13ème
Contrat : Stage
Salaire estimé : 42 000 € par an
Partager l'offre à un ami
Accueil / Emploi / Emploi Marseille 13ème / Emploi