Vous êtes ici : Accueil > Présentation Générale > La plateforme informatique TRUST

La plateforme informatique TRUST

Un point fondamental dans la conception de la plateforme TrioCFD est l'utilisation du C++, langage de programmation orienté objet. En effet ce langage standard compilé autorise les relations d'héritages et le polymorphisme. Cette architecture, avec le Framework, rend le logiciel très évolutif et simplifie l'ajout de modèles physiques et de schémas numériques.
Publié le 3 octobre 2020

Framework

genie_logiciel_240.jpgTrioCFD doit résoudre des problèmes thermohydrauliques. Ces derniers sont caractérisés par des équations, des fluides et un domaine. De plus, comme TrioCFD repose sur une résolution approchée des équations, il faut associer au problème des méthodes de discrétisation en temps et en espace.
A chacune de ces notions (problème, équation, domaine, discrétisation), il est naturel d'associer des classes de base (qui seront spécialisées ensuite). L'ensemble de ces classes constitue le Framework.

Parallélisme

TrioCFD devant être capable de simuler finement des écoulements dans des géométries complexes, des maillages de plusieurs millions d'éléments sont utilisés. Pour ces calculs, l'utilisation de machines massivement parallèles à mémoire distribuée s'impose naturellement. Le parallèlisme a été prévu dès la conception du code, l'objectif étant de rendre le parallélisme transparent non seulement pour l'utilisateur mais aussi pour la majorité des développeurs.


Quelques détails sur le parallélisme dans TrioCFD

Le code TrioCFD doit répondre aux critères suivants : Transparence du parallèlisme - Qualité physique des résultats obtenus : les mêmes résultats doivent être obtenus en parallèle et en séquentiel - Efficacité - Portabilité. Pour assurer le point 2, la méthode de parallèlisation de TrioCFD est une décomposition de domaine avec recouvrement. L'efficacité du parallèlisme est assurée par l'utilisation de librairies standards de passages explicites de messages (PVM ou MPI), permettant de tirer au mieux partie des capacités de la machine (car livrée par le constructeur). La transparence du parallèlisme est réalisée par l'encapsulation des appels à ces librairies et par la définition d'une classe pour les tableaux de valeurs distribués.


Chaîne de calcul

  1. Le coeur du code TrioCFD est la résolution d'équations différentielles sur un domaine discrétisé. Mais il est nécessaire d'avoir une chaîne complète pour réaliser des études. La chaîne se divise en trois parties :

  2. 1. Le pre-processing, le calcul et le post-processing
  3. 2. Le pre-processing consiste essentiellemnt en la génération du maillage (découpée ou non) et à l'écriture du jeu de données
  4. 3. Le post-processing consiste à suivre l'évolution du calcul et à visualiser les champs résultats TrioCFD utilise des produits extérieurs pour les étapes de pre et de post-processing

 


  1. Visualisation : l'outil Snorky 3D

    Snorky3D est un outil prototype de visualisation. Il permet une exploration interactive des résultats de simulations en CFD à partir d'un grand nombre de particules qui matérialisent la trajectoire des particules de fluide. Cet outil a été développé dans le cadre du projet TrioCFD et a servi à la réalisation des films stéréoscopiques à haute résolution du mur d'images de la DEN. Pour plus d'informations, visitez la page consacrée aux recherches dans le domaine des énergies.

     

    Mur d'images de la DEN