360 likes | 564 Views
HYDROGEOLOGIE COUPLAGE DE CODES. J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul numérique intensif TUNIS - Mars 2004. Introduction Modèles de programmation sur une grille de calcul Application en hydrogéologie Conclusion. Plan.
E N D
HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul numérique intensif TUNIS - Mars 2004
Introduction Modèles de programmation sur une grille de calcul Application en hydrogéologie Conclusion Plan
Couplage de code Ecoulement Transport Mécanique Chimie Thermique
Echange de données Volumes importants et échanges assez fréquents Temps de calcul et espace mémoire Simulations 3D, calcul transitoire, systèmes linéaires creux Caractéristiques
Exemple : insertion d’eau salée écoulement pression et vitesse liées à la concentration de sel transport concentration de sel liée à la vitesse
Grille de calcul Visualisation LAN SAN Homogeneous cluster WAN SAN Supercomputer Homogeneous cluster
Réseaux hétérogènes Machines hétérogènes et structure dynamique Plusieurs modèles de programmation Parallélisme et distribution Support de l’exécutif
Couplage de phénomènes physiques Un code = un phénomène physique Codes parallèles Intrusion d’eau salée Transport réactif Milieux fracturés Projet Hydrogrid, de l’ACI-GRID Applications en hydrogéologie
Introduction Couplage et distribution de composants logiciels Composants logiciels en hydrogéologie Conclusion Programmation d’une grille de calcul
Unité logique indépendante Unité de déploiement Interfaces spécifiées Les composants logiciels facette réceptacle FOURNI REQUIS puits d’évènement attributs
Assemblage de composants I1 C2 C1 connect_I1(C1,C2) I1 I1 component C1 : uses I1 component C2 : provides I1 C2 C1
Code modulaire Distribution des composants Modèle de composant CORBA Modèle de composant parallèle GridCCM Composants et grilles de calcul Un composant par grappe Ecoulement Mécanique Homogeneous cluster Transport Homogeneous cluster Thermique Chimie Homogeneous cluster Homogeneous cluster Homogeneous cluster
Redistribution des données Composants parallèles • Flux de communications parallèles
Introduction Couplage et distribution de composants logiciels Composants logiciels en hydrogéologie Conclusion Hydrogéologie et grilles de calcul
Composants et hydrogéologie un code = un composant logiciel Couplage numérique = distribution des composants Composants parallèles
Intrusion d’eau salée Écoulement : vitesse et pression fonction de la densité Densité fonction de la concentration en sel Transport du sel par convection (vitesse) et diffusion-dispersion (vitesse)
Intrusion d’eau salée contrôleur Transport Ecoulement t = 0 t = Δt (schéma itératif à chaque pas de temps ) temps
Intrusion d’eau salée composant Contrôleur (scalaires) (scalaires) vitesse composant Transport composant Ecoulement concentration
Transport réactif en milieu poreux Echange liquide-gaz Relargage u Dissolution Convection u Dispersion Sorption Précipitation Biologie Réactions en solution
Transport réactif Transp. 1 Transp. 2 Chimie ... ... t = 0 t = Δt contrôleur temps N espèces (schéma itératif à chaque pas de temps)
Transport réactif concentration(i) composant Contrôleur composant Transport composant Transport composant Transport composant Transport composant Chimie composant Transport (i) i : espèce
Réseau de fractures Très grand nombre de fractures Méthode de sous-domaines
Réseau de fractures vitesse pression composant Contrôleur composant Ecoulement fracture(i) composant Ecoulement fracture(i) composant Ecoulement fracture(i) composant Ecoulement fracture(i) composant Ecoulement fracture(i) composant Ecoulement fracture(i) composant Ecoulement fracture (i) composant réseau de liens i : fracture
Couplage de composants composant Chimie composant Ecoulement composant Transport Eau salée Transport réactif Réseau de fractures
Calcul de la densité Calcul de la matrice et du second membre Résolution du système linéaire Calcul de la vitesse Composant parallèle Composant écoulement
Composant écoulement Calcul des matrices : METIS Minimiser les interfaces et équilibrer les tâches proc #0 proc #1 proc #2
Résolution des systèmes linéaires Composant écoulement
Composant écoulement Ordre du système = O(n) Améliorer les performances ? 3D ?
Convection : calcul explicite et limiteur Dispersion : calcul de la matrice et du second membre Résolution du système linéaire Composant parallèle Composant transport
Équilibre chimique en chaque point du maillage Parallélisme trivial Équilibrage de charge ? Composant chimie
Partitions identiques ou différentes Distribution des données Eau salée : écoulement-transport
Un composant transport par espèce avec partition du maillage Un composant chimie avec plusieurs espèces par points Distribution des donnéestransport-chimie transport chimie transport transport
Un composant écoulement par fracture avec partition de maillage Structure locale à la fracture / structure globale du réseau Distribution des donnéesréseau de fractures
Composants logiciels adaptés au couplage multi-physique Distribution de composants indépendants Parallélisation des composants par METIS et MUMPS Améliorer les performances Développer les composants avec Corba et GridCCM Simulations 3D Conclusion et perspectives