Ingénieur développement logiciel spécialiste en Calcul Scientifique

Type de contrat : Fixed-term contract

Niveau de diplôme exigé : PhD or equivalent

Fonction : Temporary scientific engineer

Niveau d'expérience souhaité : From 3 to 5 years

Contexte et atouts du poste

Le poste proposé s'intègrera au projet ANR STEERS, Space-Time adaptivE mEthods for subsuRface flow Simulations. L'ingénieur.e recruté.e fera partie de l'équipe projet Inria SERENA. L'équipe SERENA développe et implémente des méthodes numériques avancées pour des problèmes liés à l'environnement. Le projet STEERS a pour objectif la simulation de modèles utilisés dans les écoulements souterrains avec des applications au stockage de CO2.

Le centre de recherche Inria Paris est l’un des dix centres de recherche Inria regroupant 700 personnes réparties dans 32 équipes de recherches et 9 services d’appui à la recherche. Chaque centre de Recherche Inria dispose d’un Service d'Expérimentation et de Développement (SED) qui a pour mission d'animer, de coordonner et de contribuer aux activités de développement et d'expérimentation et de porter avec les scientifiques les actions technologiques.

Mission confiée

L'objectif du poste est le développement d'un logiciel open source permettant la simulation robuste et efficace d'écoulements diphasiques en milieux poreux fracturés. Des estimateurs a posteriori développés dans le projet STEERS permettront de guider l'adaptation espace-temps. La discrétisation en espace se fera par une méthode combinée Hybrid High Order (HHO) - Discontinuous Galerkin (DG), qui présente plusieurs avantages, notamment prendre en entrée des maillages polytopaux et la montée en ordre.

Principales activités

  • Implémentation du logiciel open source (implémentation de la méthode HHO-DG, adaptation de maillages via des estimateurs a posteriori)
  • Validation des résultats obtenus avec le logiciel et mise en place de tests et de benchmarks
  • Rédaction d'une documentation afin de faciliter le développement collaboratif
  • Contribution aux expérimentations et publications scientifiques issues du projet de développement
  • Réflexions, mise en place, et éventuellement coordination du processus de développement entre les différents acteurs du projet
  • Mise en place de supports de présentation du logiciel et des résultats

Compétences

  • Connaissances solides et expérience en développement logiciel
    • Maîtrise d'un langage de programmation tel que Julia, Matlab, la connaissance d'autres langages tels que C++ est un plus.
    • Maîtrise d'un gestionnaire de version type Git et expérience d'un processus de développement collectif via une plateforme type GitLab/GitHub
    • Connaissance des procédures de tests automatiques et de l'intégration continue
    • Connaissance d'outils pour la documentation automatique de code (e.g., Doxygen)
    • Maîtrise des processus de compilation et de liaison de code.
    • Capacité à encadrer un processus de développement collectif (revues de code, analyses de merge requests, ...)
  • Connaissances en calcul scientifique
    • Connaissances en méthodes numériques de résolution d'équations aux dérivées partielles, notamment les méthodes de types Éléments Finis
    • Connaissances et expérience d'utilisation de clusters de calcul
    • Expérience significative d'usage de bibliothèques de calcul scientifique (PETSc, deal.II, ...)
  • Intégration dans un environnement de recherche
    • Capacité à rédiger, à publier et à présenter en français et en anglais
    • Capacité à proposer et réaliser des mises en œuvre de référence, des prototypes et démonstrateurs : autonomie, créativité, veille proactive, écoute des besoins
    • Capacité à comprendre les contextes et besoins scientifiques, et à les traduire dans des implémentations technologiques
    • Maîtrise de la démarche scientifique associée à l'expérimentation (science reproductible, état de l'art scientifique, état de l'art technologique d'un domaine, publication logicielle, contribution à la publication scientifique sur l'aspect méthodologique et la mesure de performance)
  • Savoir être : ténacité, ouverture d'esprit, capacité à travailler en équipe

Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Sécurité sociale