12.07.2015 Views

Solveurs de Krylov - Mécanique Matériaux Structure

Solveurs de Krylov - Mécanique Matériaux Structure

Solveurs de Krylov - Mécanique Matériaux Structure

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

26 –30 novembre 2007 - ENSMPMétho<strong>de</strong>s <strong>de</strong>s Éléments FinisRésolution <strong>de</strong>s systèmes linéairesVincent Chiaruttini–DMSE / LCMEvincent.chiaruttini@onera.fr


Simulation d'un problème <strong>de</strong> mécanique• Démarche <strong>de</strong> résolution d'un problème d'évolutionobjet dans son environnementmodélisationmathématique MMC½ div ¾ = 0¾ = K "équations localesformulation faiblediscrétisations temporelleet spatialeProblème linéaire ?ouimodèlediscrétisénonmétho<strong>de</strong> <strong>de</strong> Newton-Raphsonà résoudre : [A] [x] = [b]Comment résoudre efficacement un système linéaire <strong>de</strong>gran<strong>de</strong> dimension (10 4 à 10 7 ) dans un contexte EF ?


Métho<strong>de</strong>s pour la résolution <strong>de</strong>s systèmes linéaires•Métho<strong>de</strong>s <strong>de</strong> résolution directes• Gauss-Jordan• Décomposition LU• Cholesky•Métho<strong>de</strong>s itératives• Point fixe : Gauss-Sei<strong>de</strong>l, Relaxation, Jacobi• <strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong> : Gradient-conjugué et GMRes•Spécificités <strong>de</strong>s problèmes éléments finis• Matrices creuses• Largeur <strong>de</strong> ban<strong>de</strong> et renumérotation• <strong>Solveurs</strong> frontaux•Parallélisme–• Métho<strong>de</strong> primale et dual• Préconditionneursdécomposition <strong>de</strong> domaine


• Métho<strong>de</strong>s directes• Gauss-Jordan• Décomposition LU• CholeskyMétho<strong>de</strong>s <strong>de</strong> résolutiondirectes• Métho<strong>de</strong>s itératives• Point fixe• <strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong>• Problèmes éléments finis• Matrices creuses• Largeur <strong>de</strong> ban<strong>de</strong>• <strong>Solveurs</strong> frontaux• Décomposition <strong>de</strong> domaine• Métho<strong>de</strong> primale et dual• Préconditionneurs


Métho<strong>de</strong>s <strong>de</strong> résolution directes•Objectif• Trouver la solution <strong>de</strong> A x = b•A matrice n x n inversible•x vecteur inconnu <strong>de</strong> dimension n•b "second membre" <strong>de</strong> dimension nCoût <strong>de</strong>s métho<strong>de</strong>s directes : nombre d'opérationsStabilité : sensibilité à la propagation <strong>de</strong>s erreurs d'arrondi


Métho<strong>de</strong> <strong>de</strong> Gauss-Jordan•Principe : opérations sur une matrice augmentée pour transformer lebloc <strong>de</strong> gauche en l'i<strong>de</strong>ntitéSystème AugmentationTransformation[A] [x] = [b] [Ajb] [I n jx][A] [x i ] = [b i ]inversion[Ajb i ] [I n jx i ]£[AjI n ] In jA ¡1¤


Métho<strong>de</strong>s <strong>de</strong> résolution directes•Objectif• Trouver la solution <strong>de</strong> A x = b•A matrice n x n inversible•x vecteur inconnu <strong>de</strong> dimension n•b "second membre" <strong>de</strong> dimension n• Se ramener à la résolution <strong>de</strong> systèmes triangulaires[0] [] = []ou[ ] [] = []0Coût <strong>de</strong>s métho<strong>de</strong>s directes : nombre d'opérationsStabilité : sensibilité à la propagation <strong>de</strong>s erreurs d'arrondi


Résolution d'un système triangulaire•Écriture du système•Résolutiona 11 x 1 = b 1a 21 x 1 + a 22 x 2 = b 2...a n1 x 1 + a n2 x 2 + ¢ ¢ ¢ + a nn x n = b nb 1a 11x 1 =1x 2 =a 22(b 2 ¡ a 21 x 1 )...1x n =a nn(b n ¡ P nk=1 a nkx k )[0] [] = []<strong>de</strong>scente du système•De même pour un système supérieurremontée du système[ ] [] = []0•Coût : n² opérations


Décomposition LU•Principe• Décomposition en produit d'une matrice triangulaire inférieure (Lower)et supérieure (Upper)A=LU (dans cadre général A=PLU où P matrice <strong>de</strong> permutation)•Démarche <strong>de</strong> résolution• FactorisationnXk=1L ik U kj = A ij½Lik = 0; 8i > kU kj = 0; 8j < kManque <strong>de</strong> relations : n² relations pour n²+n inconnues=> termes <strong>de</strong> la diagonale <strong>de</strong> L sont fixés à 1• Résolution après factorisation•1 montée + 1 <strong>de</strong>scenteL U x = b ,½ y = U xL y = bL y = b <strong>de</strong>scente pour trouver yU x = y remonte pour trouver x


Décomposition LU•On se place dans le cas où il n'y a pas besoin d'échanges ligne/colonne•Pour effectuer la factorisation, il suffit d'étudier le résultat <strong>de</strong> lamultiplication LUSoit à vérifier :nXk=1L ik U kj = A ijA ij = U ij +A ij = L ij U ij +Xi¡1k=1Xj¡1k=1L ik U kj ; i · jL ik U kj ; i > j


Algorithme <strong>de</strong> Crout pour la décomposition LUBoucle sur j <strong>de</strong> 1 à nBoucle sur i <strong>de</strong> 1 à jU ij à A ij ¡Boucle sur i <strong>de</strong> j+1 à nXi¡1k=1L ij à 1U ijÃA ij ¡L ik U kjXj¡1k=1L ik U kj!Coût <strong>de</strong> la décomposition en n 3


Métho<strong>de</strong> <strong>de</strong> Choleski•Hypothèses : A matrice carrée symétrique définie positive• Symétrique• Positive• DéfinieA T = A8x 2 R n ; x T Ax ¸ 0x T Ax = 0 ) x = 0•Théorème• A est carrée symétrique définie positive ssi il existe une matrice L triangulaire inférieureinversible telle que A=LL TSi on ajoute la condition L ii>0 alors la matrice L est unique.•AlgorithmeBoucle surqi <strong>de</strong> 1 à nL ii ÃBoucle sur j <strong>de</strong> i à nA ii ¡ P i¡1k=1 L2 ikL ji à 1L ii³A iJ ¡ P i¡1k=1 L ikL jk´


Métho<strong>de</strong> <strong>de</strong> Choleski•Hypothèses : A matrice carrée symétrique définie positive• Symétrique• Positive• DéfinieA T = A8x 2 R n ; x T Ax ¸ 0x T Ax = 0 ) x = 0•Théorème• A est carrée symétrique définie positive ssi il existe une matrice L triangulaire inférieureinversible telle que A=LL TSi on ajoute la condition L ii>0 alors la matrice L est unique.•AlgorithmeBoucle surqi <strong>de</strong> 1 à nL ii ÃBoucle sur j <strong>de</strong> i à nA ii ¡ P i¡1k=1 L2 ikL ji à 1L ii³A iJ ¡ P i¡1k=1 L ikL jk´Coût <strong>de</strong> la décomposition1/3 n 3 +1/2 n²+1/6 n


• Métho<strong>de</strong>s directes• Gauss-Jordan• Décomposition LU• CholeskyMétho<strong>de</strong>s <strong>de</strong> résolutionitératives• Métho<strong>de</strong>s itératives• Point fixe• <strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong>• Problèmes éléments finis• Matrices creuses• Largeur <strong>de</strong> ban<strong>de</strong>• <strong>Solveurs</strong> frontaux• Décomposition <strong>de</strong> domaine• Métho<strong>de</strong> primale et dual• Préconditionneurs


Métho<strong>de</strong>s <strong>de</strong> résolution itératives•Principe• Construction d'une suite <strong>de</strong> vecteurs tels que :• En pratique on se donne une initialisation x 0•Définitionslimn!1 xn = A ¡1 b• Convergence : une métho<strong>de</strong> itérative est convergente ssi la suite x n converge vers A -1 bquel que soit le choix <strong>de</strong> x 0• Rayon spectral :½(A) = sup vap(A) j¸j• Norme matricielle vérifie : kABk < kAkkBk ex :kAk = sup kxk=1 kAxk•Théorème - A carré <strong>de</strong> dim n, équivalence entre :• La série converge• La suite converge vers 0• ½(A) < 1•RemarqueP 1k=0 AkA ksi kAk < 1 alors ½(A) < 1 et (I ¡ A) ¡1 = P 1k=0 Ak


Métho<strong>de</strong>s <strong>de</strong> point fixe•PrincipeA = M ¡ N• Décomposition <strong>de</strong> A : avec M facilement inversible• Construction <strong>de</strong> la suite :Mx n+1 = Nx n + bavec x 0 donné• Convergence (avec A inversible) si½(M ¡1 N) < 1• Cas particulier : si A et M T +N sym. <strong>de</strong>f. positives alors convergence•Propriété• si B= M -1 Nkx ¡ x n k · kB n kkx ¡ x 0 k


Métho<strong>de</strong>s <strong>de</strong> point fixe• A s'écrit sous la forme-L-UDMétho<strong>de</strong> Décomposition ConvergenceGauss-Sei<strong>de</strong>l M = D - L ; N = U si A sym. <strong>de</strong>f. pos.si A à diagonale strict. dominanteRelaxation M = 1/ω D - L Condition nécessaire : 0 < ω < 2successive N = (1-ω)/ω D - U si A sym. <strong>de</strong>f. pos. et 0 < ω < 2Jacobi M = D ; N = L+U si A à diagonale strict. dominante• Critère d'arrêtkb ¡ Ax n+1 kkbk· ´• Fiable : courant :kx n+1 ¡ x n kkx n+1 k· ´Métho<strong>de</strong>s applicables en utilisant <strong>de</strong>s décompositions par blocsJacobi est directement parallélisable


<strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong>• Résidu si x i approximation <strong>de</strong> Ax=b après i itérations, r i=b-Ax i• Espace <strong>de</strong> <strong>Krylov</strong>K m (A; r 0 ) = Vect ¡ r 0 ; Ar 0 ; : : : ; A m¡1 r 0¢• Principe du solveur recherche <strong>de</strong> x msous contraintes½xm 2 x 0 + K m (A; r 0 )r m ? ? K m (A; r 0 )• La relation d'orthogonalité permet <strong>de</strong> définir plusieurs approches• GMRes• Gradient conjugué pour les matrices SDP


GMRes–General Minimun Residual•Pour une matrice quelconque, principe <strong>de</strong> recherche :½xm 2 x 0 + K m (A; r 0 )r m ? AK m (A; r 0 )•Soit trouver•Algorithmex m 2 x 0 + K m (A; r 0 ) minimisant kr m k 2r 0 à b ¡ Ax 0 v 0 à r 0 =kr 0 k 2pour j <strong>de</strong> 0 à m-1 fairew j à Av jpour i <strong>de</strong> 0 à j faireh ij à (v i ; w j )w j à w j ¡ h ij v ih (j+1)j à kw j k 2si kr j k 2 · ´ alors stopsinon v j+1 à w j =h (j+1)jy m à argmin y kkr 0 k 2 e 1 ¡ h ykx m à x 0 + v y mfinsisi m=n la métho<strong>de</strong> convergeen au plus n itérationsla métho<strong>de</strong> ne calcule pasl'approximation <strong>de</strong> la solutionà chaque itération


Métho<strong>de</strong> du gradient conjugué•Pour une matrice SDP, principe <strong>de</strong> recherche :½xm 2 x 0 + K m (A; r 0 )r m ? K m (A; r 0 )•Soit trouver :x m 2 x 0 + K m (A; r 0 )minimisantkx m ¡ xk A•Algorithmer 0 à b ¡ Ax 0 w 0 à r 0si m=n la métho<strong>de</strong> converge en• pour j <strong>de</strong> 0 à m faireau plus n itérations® j à (r j ; w j )=(w j ; Aw j )base <strong>de</strong>s résidus orthogonalex j+1 à x j + ® j w jbase <strong>de</strong>s directions <strong>de</strong> <strong>de</strong>scente est A-orthogonaler j+1 à r j ¡ ® j Aw j en pratique réothogonalisation complètesi kr j k 2 · ´ alors stop¯j à ¡(r j+1 ; Aw j )=(w j ; Aw j )w j+1 à r j+1 + ¯jw j


Convergence du gradient conjugué•Résultat <strong>de</strong> convergence du GCkx ¡ x m k A · 2Ãpk ¡ 1pk + 1! mkx ¡ x 0 k A•k : conditionnement <strong>de</strong> la matrice A :k = j¸maxjj¸min j: rapport entre les |valeurs propres| min et max <strong>de</strong> AConditionnement 100 1 000 10 000Nombre d'itérations 70 218 690


Préconditionnement• Mauvais conditionnement• Effets <strong>de</strong> structures élancées• Discrétisations éléments finis défaillantes• Propriétés physiques trop différentes• non-linéarités• ...• Préconditionnement• remplacer le système <strong>de</strong> sorte que le conditionnement <strong>de</strong> P -1 A soit meilleur que celui <strong>de</strong> A(idéalement P -1 proche <strong>de</strong> A -1 )P ¡1 Ax = P ¡1 b• Exemple préconditionneur diagonalP ii = K ii ; P ij = 0


• Métho<strong>de</strong>s directes• Gauss-Jordan• Décomposition LU• CholeskySpécificités <strong>de</strong>s problèmeséléments finis• Métho<strong>de</strong>s itératives• Point fixe• <strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong>• Problèmes éléments finis• Matrices creuses• Largeur <strong>de</strong> ban<strong>de</strong>• <strong>Solveurs</strong> frontaux• Décomposition <strong>de</strong> domaine• Métho<strong>de</strong> primale et dual• Préconditionneurs


Spécificités <strong>de</strong>s problèmes éléments finis•Fonctions <strong>de</strong> forme à support compact• équations usuelles relient les <strong>de</strong>grés <strong>de</strong> liberté qui appartiennent à un même élément• les systèmes sont <strong>de</strong> type « ban<strong>de</strong> »•Largeur <strong>de</strong> ban<strong>de</strong>maxe2EF•Applicationmax (indice(ddl i ) ¡ indice(ddl j ))(ddl i ;ddl j )2DDL e• ex: pour les solveurs directscomplexité en : n BW²Comment réduire la largeur <strong>de</strong> ban<strong>de</strong> ?264o o oo o ovaleurs nulleso o o oo o oBW=5o o oo o oo o oo oo oo375


Largeur <strong>de</strong> ban<strong>de</strong> sur un problème EF2223242526272815816917101811191220132114Mauvais !1234567


Renumérotation15913172125236710111415181922232627Optimale481216202428


<strong>Solveurs</strong> creux• Objectif - ne prendre en compte que les valeurs non nulles• Gain <strong>de</strong> mémoire et <strong>de</strong> temps calcul• Mise en oeuvre• Renumérotation pour minimiser le remplissage• Calcul du remplissage induit par la factorisation• Factorisation <strong>de</strong>s seuls termes non nuls


Solveur frontal•Objectif : assembler et factoriser en même temps1215649101314171821222526327511151923274381216202428ÉlémentMatrice frontale DDL éliminés• IntérêtsLien avec le co<strong>de</strong> EF121 2 5 62 5 6 3 712Optimisation du cache3 5 6 3 7 4 8 3 44 5 6 7 8 9 10 55 6 7 8 9 10 11 6• <strong>Solveurs</strong> multifrontaux...Dissection emboîtéeProgression <strong>de</strong> plusieurs fronts simultanément


• Métho<strong>de</strong>s directes• Gauss-Jordan• Décomposition LU• CholeskyParallélismedécomposition <strong>de</strong> domaine• Métho<strong>de</strong>s itératives• Point fixe• <strong>Solveurs</strong> <strong>de</strong> <strong>Krylov</strong>• Problèmes éléments finis• Matrices creuses• Largeur <strong>de</strong> ban<strong>de</strong>• <strong>Solveurs</strong> frontaux• Décomposition <strong>de</strong> domaine• Métho<strong>de</strong> primale et dual• Préconditionneurs


Calculateurs à architecture parallèleArchitectures• Cluster• SMP• Cluster <strong>de</strong> SMP" Exemple - Onera DMSE « petit » cluster" 182 processeurs (Opteron, Xeon)" 460 Go RAM" environ 15 To DD•" performance crête environ 800 GflopsRed Storm–Sandia National Labs


Supercalculateurs parallèles212 992 processeurs !596 378 milliards d'opérations par secon<strong>de</strong> !


Décomposition <strong>de</strong> domaine sans recouvrement8


Construction d'un problème con<strong>de</strong>nséaux interfaces•Choix du type d'inconnue et <strong>de</strong> CL d'interface• Variable d'interfaceMétho<strong>de</strong> primale (BDD)Métho<strong>de</strong> duale (FETI)u 12 = u 1j¡3 = u 21 = u 2j¡3¸12 = ¾ 1j¡3n 1 = ¡¸21 = ¡¾ 2j¡3n 2• Nature du problème localConditions <strong>de</strong> type DirichletConditions <strong>de</strong> type Neumann•Choix associé du type <strong>de</strong> condition <strong>de</strong> raccord• Problème con<strong>de</strong>nsé sur l'interface¾ 1j¡3n 1 + ¾ 2j¡3n 2 = 0 u 1j¡3 = u 2j¡3EFUtilisation <strong>de</strong>s compléments <strong>de</strong> Schurprimaux pour éliminer les DDL internesUtilisation <strong>de</strong>s compléments <strong>de</strong> Schurduaux pour éliminer les DDL internes


Préconditionneurs classiques•Mise en oeuvre <strong>de</strong> solveurs itératifs <strong>de</strong> type <strong>Krylov</strong>• Problèmes <strong>de</strong> petites dimensions• Opérateurs <strong>de</strong> Schur généralement mieux conditionnés par rapport aux tailles <strong>de</strong> mailles•Préconditionneurs efficaces• Idée : remplacer l'inverse <strong>de</strong> la somme <strong>de</strong>s contributions locales par la somme <strong>de</strong>sinverses <strong>de</strong>s contributions localesex : approche primalecomplément <strong>de</strong> Schur primal du domaine sP ¡1 S p u b = P ¡1 b pon propose :P ¡1 = X sS (s)davecS p = X sS (s)pcomplément <strong>de</strong> Schur dual du domaine s


Performances <strong>de</strong>s métho<strong>de</strong>s<strong>de</strong> décomposition <strong>de</strong> domaine• Solveur mixte direct/itératif• Direct en local (réponse <strong>de</strong>s sous-domaines)• Itératif sur le problème con<strong>de</strong>nsé• Parallélisme à « gros grains »• Calculs locaux importants (par domaine)• Peu <strong>de</strong> communications• Gradient conjugué efficace• Peu d'inconnues (vs nombre <strong>de</strong> total <strong>de</strong> DDL)• Préconditionneurs performants•(indépendants du nombre <strong>de</strong> sous-domaines)• Accélérations <strong>de</strong> convergence pour les problèmes non-linéaires• Réutilisation <strong>de</strong>s espaces <strong>de</strong> <strong>Krylov</strong> précé<strong>de</strong>mment générés par les itérationsNewton-Raphson


ExempleDemi roue115 239 <strong>de</strong>grés <strong>de</strong> libertésSolveurT (s)Mém. (Mio)# itér.Direct 93 725 0Itératif GC 244 81 504DD 4 SD 130 159 82DD 8 SD 58 82 117DD 12 SD 40 50 133


Fin

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!