calcul haute performance pour la simulation d'écoulements ... · scientific linux &...

20
Calcul haute performance pour la simulation d’écoulements sanguins dans des géométries complexes V. Chabannes(G), V. Huber(S), M. Ismail(G), C. Prud’homme (S), M. Szopos(S) CeMoSiS, IRMA, Université de Strasbourg / CNRS LJK/Liphy, Université Joseph Fourier / CNRS Laboratoire National des Champs Magnétiques Intenses / CNRS Journée MesoChallenge IHP (Paris), 20 Septembre 2013 C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 1 / 16

Upload: others

Post on 01-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Calcul haute performance pour la simulation d’écoulementssanguins dans des géométries complexes

V. Chabannes(G), V. Huber(S), M. Ismail(G), C. Prud’homme(S),M. Szopos(S)

CeMoSiS, IRMA, Université de Strasbourg / CNRSLJK/Liphy, Université Joseph Fourier / CNRS

Laboratoire National des Champs Magnétiques Intenses / CNRS

Journée MesoChallenge

IHP (Paris), 20 Septembre 2013

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 1 / 16

Page 2: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Collaborateurs et Projets

Écoulements sanguins

S. Bertoluzza, IMATI, CNR, Pavia, Italy.

V. Doyeux, LIPHY, U. Joseph Fourier, Frenoble.

G. Pena, CMUC, Department of Mathematics, Coimbra, Portugal.

R. Tarabay IRMA, Université de Strasbourg / CNRS, France.

ANR Vivabrain http://www.vivabrain.fr

Autres projets

Feel++ community http://www.feelpp.org

Autres projets CHP(MesoStra), Modélisation et Simulation (Feel++ et al.)http://www.cemosis.fr

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 2 / 16

Page 3: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Rhéologie des écoulements sanguinsUn outil de simulation pour les médecins

Compréhension, évolution de certaines pathologies : sténose, anévrisme, ...

Traitements thérapeutiques : stents, valves, ...

Expérimentation in silico pour des patients spécifiques

L’hémodynamique

La circulation du sang (circuit fermé)coeur→ artères→ capillaires→ veines→ coeur

Importance des globules rouges dans la rhéologie• Plasma (Newtonien) + Globules rouges + ...• Fluide complexe non Newtonien : rhéofluidifiant

L’élasticité de la paroi artérielle• Supporter la pression du flux sanguin• Réguler le débit cardiaque pulsé (grosses artères )• Autres propriétés : visco-élasticité, anisotropie

Interactions étudiéesSang / Paroi Artérielle

Plasma / Globules Rouges

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 3 / 16

Page 4: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Rhéologie des écoulements sanguinsUn outil de simulation pour les médecins

Compréhension, évolution de certaines pathologies : sténose, anévrisme, ...

Traitements thérapeutiques : stents, valves, ...

Expérimentation in silico pour des patients spécifiques

L’hémodynamique

La circulation du sang (circuit fermé)coeur→ artères→ capillaires→ veines→ coeur

Importance des globules rouges dans la rhéologie• Plasma (Newtonien) + Globules rouges + ...• Fluide complexe non Newtonien : rhéofluidifiant

L’élasticité de la paroi artérielle• Supporter la pression du flux sanguin• Réguler le débit cardiaque pulsé (grosses artères )• Autres propriétés : visco-élasticité, anisotropie

Interactions étudiéesSang / Paroi Artérielle

Plasma / Globules Rouges

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 3 / 16

Page 5: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Rhéologie des écoulements sanguinsUn outil de simulation pour les médecins

Compréhension, évolution de certaines pathologies : sténose, anévrisme, ...

Traitements thérapeutiques : stents, valves, ...

Expérimentation in silico pour des patients spécifiques

L’hémodynamique

La circulation du sang (circuit fermé)coeur→ artères→ capillaires→ veines→ coeur

Importance des globules rouges dans la rhéologie• Plasma (Newtonien) + Globules rouges + ...• Fluide complexe non Newtonien : rhéofluidifiant

L’élasticité de la paroi artérielle• Supporter la pression du flux sanguin• Réguler le débit cardiaque pulsé (grosses artères )• Autres propriétés : visco-élasticité, anisotropie

Interactions étudiéesSang / Paroi Artérielle

Plasma / Globules Rouges

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 3 / 16

Page 6: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Choix des méthodes numériques

La méthode des éléments finis

Cadre théorique ( optimalité )

Domaines complexesPrécisions numériques• Approximation en espace, géométrie et temps d’ordre élevé

ALE/FSI : interaction sang / paroi artérielle

Modèle de fluide en domaine mobile (ALE)

Modèle de structure (Lagrangien)

Déformations géométriques d’ordre arbitraire

FBM/FSI : interaction plasma / globules rouges

Modélisation d’un fluide en domaine perforé

Couplage FBM - particules élastiques

Description précise des particules

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 4 / 16

Page 7: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Choix des méthodes numériques

La méthode des éléments finis

Cadre théorique ( optimalité )

Domaines complexesPrécisions numériques• Approximation en espace, géométrie et temps d’ordre élevé

ALE/FSI : interaction sang / paroi artérielle

Modèle de fluide en domaine mobile (ALE)

Modèle de structure (Lagrangien)

Déformations géométriques d’ordre arbitraire

FBM/FSI : interaction plasma / globules rouges

Modélisation d’un fluide en domaine perforé

Couplage FBM - particules élastiques

Description précise des particules

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 4 / 16

Page 8: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

FEEL++: Finite Element Embedded Library [Prud’Homme et al., 2012]

Librairie C++ pour la résolution d’EDP

Méthode de Galerkin d’ordre arbitraire (cG, dG) en 1D, 2D et 3D

Supporte les maillages d’ordre élevé (simplex, hypercube)Langage très proche des mathématiques (FreeFem++)• Expressivité : modèles physiques et méthodes numériques (langages de haut niveau)• Efficacité : assemblages et résolutions algébriques (langages de bas niveau)

Trouver u qui vérifie :

−∆u = 1 dans Ω

u = 0 sur ∂Ω

Formulation=⇒

variationnelleTrouver u ∈ Vh tel que∫

Ω∇u · ∇v =

∫Ω

v , ∀v ∈ Vh

// forme lineaire : l(v) =∫

Ωv

auto l = form1(_test=Vh);l = integrate(_range=elements(mesh),

_expr=id(v));

// forme bilineaire : a(u, v) =∫

Ω∇u · ∇v

auto a = form2(_trial=Vh,_test=Vh);a = integrate(_range=elements(mesh),

_expr=gradt(u)*trans(grad(v)) );

// conditions aux limites : u = 0 sur ∂Ωa+=on(_range=boundaryfaces(mesh),

_rhs=l,_element=u,_expr=cst(0.) );

// resolution du systeme algebrique : AU = Fa.solve(_rhs=l,_solution=u);

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 5 / 16

Page 9: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

FEEL++: Finite Element Embedded Library [Prud’Homme et al., 2012]

Librairie C++ pour la résolution d’EDP

Méthode de Galerkin d’ordre arbitraire (cG, dG) en 1D, 2D et 3D

Supporte les maillages d’ordre élevé (simplex, hypercube)Langage très proche des mathématiques (FreeFem++)• Expressivité : modèles physiques et méthodes numériques (langages de haut niveau)• Efficacité : assemblages et résolutions algébriques (langages de bas niveau)

Trouver u qui vérifie :

−∆u = 1 dans Ω

u = 0 sur ∂Ω

Formulation=⇒

variationnelleTrouver u ∈ Vh tel que∫

Ω∇u · ∇v =

∫Ω

v , ∀v ∈ Vh

// forme lineaire : l(v) =∫

Ωv

auto l = form1(_test=Vh);l = integrate(_range=elements(mesh),

_expr=id(v));

// forme bilineaire : a(u, v) =∫

Ω∇u · ∇v

auto a = form2(_trial=Vh,_test=Vh);a = integrate(_range=elements(mesh),

_expr=gradt(u)*trans(grad(v)) );

// conditions aux limites : u = 0 sur ∂Ωa+=on(_range=boundaryfaces(mesh),

_rhs=l,_element=u,_expr=cst(0.) );

// resolution du systeme algebrique : AU = Fa.solve(_rhs=l,_solution=u);

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 5 / 16

Page 10: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Stratégies HPC avec FEEL++

Ressources de calculObjectifs :

Géométries réalistes

Précision des calculs

Conséquences :

Mémoire

Performance

GPU

GPU

GPU

MPI MT GPGPU

maillage

partitionné

processeurs

coeurs

Technologies

MPI : Décomposition de domaines

MT : Assemblage global

GPU : Assemblage local

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 6 / 16

Page 11: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Contexte général: projet ANR VIVABRAIN“De l’IRM réelle à l’IRM virtuelle : modéliser les flux sanguins dans le cerveau humain (ANRMONU 2012)Images MRA =⇒ Modèles vasculaires 3D =⇒ Maillages de calcul

simulation 3D+t d’écoulement sanguins dans des modèles complexes(arteriels et veineux)

⇓Simulation d’acquisition de données angiographiques de modèles 3D+t.

Developpement d’un pipeline pour la génération d’angiographie virtuelle(simulée) du réseauvasculaire cérébral humain associée à des modèles anatomiques (3D) et hémodynamiques (3D+t)

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 7 / 16

Page 12: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

MesoChallenge

Strasbourg

Tests de scalabilité jusqu’à 2048 coeurs

Premiers calculs Navier-Stokes dans le réseau veineux du cerveau

Premiers calculs interaction fluide-structure dans des vaisseaux sanguins

Experience

1 semaine

Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...)

Difficultés: nouveau, ressources humaines dédiées, soucis techniques mineurs

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 8 / 16

Page 13: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Applications FSI aux géométries réalistes (Doct. V. Chabannes)

Aorte

(a) t=0.0032 s (b) t=0.0098 s (c) t=0.0180 s

0.000 0.005 0.010 0.015 0.020 0.025temps

−2

0

2

4

6

8

10

12

debi

t

sortie 0sortie 1sortie 2sortie 3

sortie 0sortie 1sortie 2sortie 3

(d) Débits

0.000 0.005 0.010 0.015 0.020 0.025temps

−500

0

500

1000

1500

2000

2500

3000

pres

sion

prox

imal

e

sortie 0sortie 1sortie 2sortie 3

sortie 0sortie 1sortie 2sortie 3

(e) Pression proximale

Anévrisme cérébral

(f) t=0.0032 s (g) t=0.0077 s (h) t=0.0135 s (i) t=0.0228 s

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 9 / 16

Page 14: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Simulation dans le réseau veineux du cerveau

(a) Pression

(b) Lignes de courant

StokesApproximation P2P1

10 millions de degrés de liberté, maillagenon-structuré

Tests de Scalabilité (forte/faible) beaucoupplus complets (approximation, maillage, ...) surPrace/SuperMuC en cours

nProc Assemblage (t1) Résolution (t2) Temps total (t1 + t2) nIterations

512 2.15219 45.4506 47.6028 2951024 1.33274 17.9034 19.2361 3772048 1.06893 14.6693 15.7382 379

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 10 / 16

Page 15: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Simulation dans le réseau veineux du cerveau

(c) Lignes de courant

(d) Pression

Écoulement sanguin

Quelles conditions aux limites en entrée (29entrées) ? (vitesse constante)

Quelle condition en sortie? (libre)

Modélisation ? (Navier-Stokes, domainefixe)

Peu de données cliniques dans le réseauveineux du cerveau; Exemple: quelquesmm/s dans le sinus

On retrouve les ordres de grandeurs devitesse et débit

[Caldini Queiros et al., 2 12]

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 11 / 16

Page 16: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Ecoulements cerebroveineux

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 12 / 16

Page 17: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Interaction Fluide Particules Déformables

Rhéologie sanguine (V. Doyeux)

Couplage fluide particule déformable,modélisation de globules rouges.

Comprendre/Corroborer des questions dephysique/rhéologie

Comprendre le comportement d’écoulementde globules rouges avec différentes rigidités(saines vs malades)

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 13 / 16

Page 18: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Modélisation multiphysique non linéaire d’aimants a haut champ

C. Daversin(G), C. Trophime(G)

Multi-physique : thermique, élasticité linéaire, magnétostatique, hydraulique, ...

Géométries complexes : poly-helices (solénoides de cuivre)

Modèle Thermo-Electrique

Figure : Aimant poly-hélice

512 procs

8,5 millions de tétraèdres

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 14 / 16

Page 19: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Conclusions

Experience

Déploiement du framework Feel++ et des projets associés automatisé

Prévoir des ressources humaines dédiées à temps pleinDes résultats physiques intéressants, beaucoup de travail reste à faire (Bio-Physique, Math,Info)• Conditions aux limites sur le système veineux et l’interaction fluide-structure• Couplage système artériel et veineux

Merci au Mesocentre de Strasbourg, R. David et M. Ringenbach pour leur support et au ConseilScientifique pour l’opportunité donnée.

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 15 / 16

Page 20: Calcul haute performance pour la simulation d'écoulements ... · Scientific Linux & Modules & Environnement spécifique (C++11, Boost, Gmsh, PETSc...) Difficultés: nouveau, ressources

Bibliographie

Caldini Queiros, C., Chabannes, V., Ismail, M., Pena, G.,

Prud’Homme, C., SZOPOS, M., and Tarabay, R. (2012-12).Towards large-scale three-dimensional blood flow simulations inrealistic geometries.pp. 17, Submitted to ESAIM: Proc, CEMRACS 2012.

Prud’Homme, C., Chabannes, V., Doyeux, V., Ismail, M., Samake,

A., and Pena, G. (2012).Feel++: A Computational Framework for Galerkin Methods andAdvanced Numerical Methods.ESAIM: Proc., 38:429 – 455.

C. Prud’homme et al. (CeMoSiS et al) CHP pour les écoulements sanguins IHP 20/09/2013 16 / 16