1 / 28

Soutenance du stage au 27/06/2006

Soutenance du stage au 27/06/2006 Méthodes de résolution de systèmes linéaires pour un prototype de calcul de l’injection de CO2 dans des milieux poreux. Plan. Stockage des matrices creuses Red and Black (R&B) Compressed Sparse Row (CSR) Résolution des systèmes linéaires

abedi
Download Presentation

Soutenance du stage au 27/06/2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Soutenance du stage au 27/06/2006 Méthodes de résolution de systèmes linéaires pour un prototype de calcul de l’injection de CO2 dans des milieux poreux

  2. Plan • Stockage des matrices creuses • Red and Black (R&B) • Compressed Sparse Row (CSR) • Résolution des systèmes linéaires • Préconditionnement par factorisation incomplète (ILU(0)) • Méthodes itératives (BICGSTAB) • Résolution du système transformé obtenu par R&B • Tests et résultats • Comparaison de la qualité des résultats sur un exemple • Comparaison de la vitesse de convergence • Conclusion

  3. Stockage des matrices creuses

  4. Red and Black (R&B)(1) • Numérotation des mailles en ordre ascendant: • Numérotation des mailles en échiquier avec lescouleurs rouge et noir:

  5. Red and Black (R&B)(2) • Forme de la matrice A après numérotation par R&B: où B et R sont des matrices bandes par bloc, D1 et D2 des matrices diagonales par bloc:

  6. Red and Black (R&B)(3) • Multiplication de la totalité du système linéaire par une matrice contenant les inverses des blocs diagonaux de D1 et D2: • Il reste à résoudre un nouveau système linéaire: où Id1 et Id2 sont des matrices unités

  7. Compressed Sparse Row (CSR)(1) • Exemple: • Stockage des données en trois parties: • AA: • contient les valeurs non nulles de la matrice A stockées colonne par colonne • taille correspond au nombre des valeurs non nulles • JA: • contient les numéros de colonnes des éléments non nuls de A • taille correspond au nombre des valeurs non nulles • IA: • tableau de pointeurs où le i-ème pointeur pointe sur le numéro de la valeur dans AA et JA qui contient le premier élément non nul de la ligne i dans A • taille correspond au nombre de lignes (=nbln) +1 • IA[nbln+1] indique la fin des valeurs non nulles dans AA et JA

  8. Compressed Sparse Row (CSR)(2) • Adaption du stockage CSR pour profiter de la structure par bloc:chaque valeur du tableau AA contient une matrice de la taille d’un bloc où au moins une valeur est non nulle • Exemple:

  9. Résolution des systèmes linéaires

  10. Préconditionnement par factorisation incomplète(1) • Préconditionnement:Transformation d’un système linéaire qui permet d’appliquer une méthode itérative <<plus facilement>> • Objectif:Trouver une matrice P <<facile à inverser>> telle queEnsuite: résoudre le système linéaire transformé • Préconditionnement par ILU:Calculation d’une matrice triangulaire inférieure creuse à diagonale unité L et d’une matrice triangulaire supérieure creuse U telles que la matrice résidu satisfasse certaines conditions

  11. Préconditionnement par factorisation incomplète(2) ILU(0): • Les valeurs de la matrice résidu R sont nulles à tous les endroits où la matrice A est non nul • Les matrice L et U sont nulles à tous les endroits où A est nulle • La décomposition de A en L et U n’est pas unique • Le système linéaire est préconditionné par le produit de L et U (P=L*U)

  12. Préconditionnement par factorisation incomplète(3) Exemple:

  13. Méthodes itératives (BICGSTAB) • Pour résoudre le système linéaire d’origine ou le système linéaire préconditionné, il faut choisir un solveur qui trouve la solution assez rapidement sans gaspiller trop de mémoire. • Les méthodes de Krylov généralement convergent vite sans être couteuses en temps de calcul. • Pour la résolution de nos systèmes linéaires, on a choisi la méthode du gradient bi-conjugé stabilisé, BICGSTAB. • BICGSTAB normalement converge très rapidement sans utiliser beaucoup de mémoire (en comparaison avec d’autres méthodes de Krylov).

  14. Résolution du système transformé obtenu par R&B(1) • Transformation du système d’origine avec élimination par R&B donne: • Ce système est résolu de la façon suivante:

  15. Résolution du système transformé obtenu par R&B(2) • Finalement, il faut résoudre et ensuite calculer . • La taille du système à résoudre est réduite par 2.

  16. Tests et résultats

  17. Comparaison de la qualité des résultats sur un exemple(1) • Comparaison des résultats de BICGSTAB, BICGSTAB avec préconditionnement par ILU(0) et GAUSS sur un cas 1D horizontal avec une chimie simplifiée en variant la tolérance de BICGSTAB • Le maillage est divisé en 500 mailles. • Nombre maximal d’itérations de BICGSTAB: 50000 • Nombre d’itérations -1:BICGSTAB s’arrête car l’un des critères nécessaire à la bonne continuation de l’algorithme n’est pas vérifié

  18. Comparaison de la qualité des résultats sur un exemple(2)

  19. Comparaison de la qualité des résultats sur un exemple(3) Conclusion: • BICGSTAB et BICGSTAB avec préconditionnement par ILU(0) donne sur cet exemple des très bons résultats. • Par préconditionnement, le conditionnement est amilioré ce qui entraîne une convergence plus rapide. • Attention:Si la tolérance pour BICGSTAB est trop faible, l’algorithme souvent ne converge pas.

  20. Comparaison de la vitesse de convergence(1) • Comparaison des 5 méthodes suivantes sur plusieurs exemples: • GAUSS • BICGSTAB • BICGSTABpre: BICGSTAB préconditionné par ILU(0) • BICRB: BICSTAB après élimination par R&B • BICRBpre: BICSTAB après élimination par R&B et préconditionnement par ILU(0) • Tolérance pour BICGSTAB: 1.0e-10 • Nombre maximal d’itérations: 99999 • Tests sur un cas 1D horizontal (avec écoulement par différence de pression) sur la minéralogie de l’Alberta. La fin du nom des exemples correspond au nombre des mailles. • Le nombre d’équations par maille est 10

  21. Comparaison du nombre d’itérations(1)

  22. Comparaison du nombre d’itérations(2)

  23. Comparaison de la vitesse de calcul(1)

  24. Comparaison de la vitesse de calcul(2)

  25. Comparaison des erreurs relatives(1)

  26. Comparaison de la vitesse de convergence(2) Conclusion: • Comme les matrices des systèmes sont mal conditionnées (p.ex. dans le cas horiz50: K(A) = 9.15766e+13), BICGSTAB ne donne pas de bons résultats. • Les solutions de BICGSTABpre, BICRB et BICRBpre sont très proches de la solution exacte. • Le gain de temps, surtout avec BICRB et BICRBpre, est très grand en comparaison avec GAUSS

  27. Conclusion

  28. Bibliographie

More Related