couplage de codes hydrogeologie couplage de codes j. erhel – inria / rennes É. canot - inria /...

35
Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul numérique intensif TUNIS - Mars 2004

Upload: laure-michaux

Post on 04-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

HYDROGEOLOGIE

COUPLAGE DE CODES

J. Erhel – INRIA / RENNES

É. Canot - INRIA / RENNES

A. Ribes – INRIA / Rennes

Chaire UNESCO - Calcul numérique intensif

TUNIS - Mars 2004

Page 2: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Plan

Introduction

Modèles de programmation sur une grille de calcul

Application en hydrogéologie

Conclusion

Page 3: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Couplage de code

Thermique

Transport

Chimie

Ecoulement

Mécanique

Page 4: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Caractéristiques

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

Page 5: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Exemple : insertion d’eau salée

écoulementpression et vitesse

liées à la concentration de sel

transportconcentration de sel

liée à la vitesse

Page 6: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Grille de calcul

Homogeneous cluster

SAN

SAN

Homogeneous cluster

LAN

WAN

SupercomputerVisualisation

Page 7: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Couches logicielles d’une grille

Page 8: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Support de l’exécutif

Réseaux hétérogènes

Machines hétérogènes et structure dynamique

Plusieurs modèles de programmation

Parallélisme et distribution

Page 9: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Applications en hydrogéologie

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

Page 10: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Programmation d’une grille de calcul

Introduction

Couplage et distribution de composants logiciels

Composants logiciels en hydrogéologie

Conclusion

Page 11: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Les composants logiciels

Unité logique indépendante

Unité de déploiement

Interfaces spécifiées

facette

puits d’évènement

FOU

RN

IR

EQ

UIS

attributs

réceptacle

Page 12: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Assemblage de composants

component C1 : uses I1component C2 : provides I1

C1 C2

I1 I1

I1

connect_I1(C1,C2)

C1 C2

Page 13: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composants et grilles de calcul

Code modulaire

Distribution des composants

Modèle de composant CORBA

Modèle de composant parallèle GridCCM

Homogeneous cluster

Homogeneous cluster

Homogeneous cluster

Homogeneous cluster

Un composant par grappe

Mécanique

Ecoulement

Transport

ChimieThermique

Homogeneous cluster

Page 14: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composants parallèles

Redistribution des données

Flux de communications parallèles

Page 15: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Hydrogéologie et grilles de calcul

Introduction

Couplage et distribution de composants logiciels

Composants logiciels en hydrogéologie

Conclusion

Page 16: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composants et hydrogéologie

un code = un composant logicielCouplage numérique

= distribution des

composants

Composants parallèles

Page 17: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

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)

Page 18: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

EcoulementTransport

temps

t = 0

t = Δt

contrôleur

(schéma itératif à chaque pas de temps )

Intrusion d’eau salée

Page 19: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Intrusion d’eau salée

composantEcoulement

composantTransport

composantContrôleur

vitesse

(scalaires)(scalaires)

concentration

Page 20: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Transport réactif en milieu poreux

u

Convection

u Dispersion

Echange liquide-gaz

Réactions en solution

Dissolution

Précipitation

Sorption

Relargage

Biologie

Page 21: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

ChimieTransp.

1

temps

t = 0

t = Δt

contrôleur

Transp. 2

...

...

(schéma itératif à chaque pas de temps)

N espèces

Transport réactif

Page 22: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Transport réactif

composantChimie

composantTransport

concentration(i)

composantTransportcomposant

TransportcomposantTransportcomposantTransport (i)

i : espèce

composantContrôleur

Page 23: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Réseau de fractures

Très grand nombre de fracturesMéthode de sous-domaines

Page 24: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Réseau de fractures

composantEcoulementfracture(i)

vitesse pression

i : fracture

composantEcoulementfracture(i)

composantEcoulementfracture(i)

composantEcoulementfracture(i)

composantEcoulementfracture(i)

composantEcoulementfracture(i)

composantEcoulementfracture (i)

composantréseau de liens

composantContrôleur

Page 25: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Couplage de composants

composantChimie

composantEcoulement

composantTransport

Transportréactif

Réseau de fractures

Eau salée

Page 26: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant écoulement

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

Page 27: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant écoulement

Calcul des matrices : METISMinimiser les interfaces et équilibrer les tâches

proc #0

proc #1

proc #2

Page 28: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant écoulement

Résolution des systèmes linéaires

maillage (64x40)

132 143 172 3

1300390

6287

52356 20 56 0

0

1000

2000

3000

4000

5000

6000

7000

TP, BiCG TP, Mumps P+TP, BiCG P+TP, Mumps,coefficients calculés

avant

duré

e en m

s

assemblage

resolution et calcul P

calcul Q

Page 29: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant écoulement

Ordre du système = O(n)

Améliorer les performances ?3D ?

Page 30: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant transport

Convection : calcul explicite et limiteur

Dispersion : calcul de la matrice et du second membre

Résolution du système linéaire

Composant parallèle

Page 31: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Composant chimie

Équilibre chimique en chaque point du maillage

Parallélisme trivial

Équilibrage de charge ?

Page 32: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Distribution des données Eau salée : écoulement-transport

Partitions identiques ou différentes

Page 33: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Distribution des donnéestransport-chimie

Un composant transport par espèce avec partition du maillage

Un composant chimie avec plusieurs espèces par points

transport transport

transport

chimie

Page 34: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Distribution des donnéesréseau de fractures

Un composant écoulement par fracture avec partition de maillage

Structure locale à la fracture / structure globale du réseau

Page 35: Couplage de codes HYDROGEOLOGIE COUPLAGE DE CODES J. Erhel – INRIA / RENNES É. Canot - INRIA / RENNES A. Ribes – INRIA / Rennes Chaire UNESCO - Calcul

Coupla

ge d

e c

odes

Conclusion et perspectives

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