Download - Soutenance du stage au 27/06/2006
![Page 1: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/1.jpg)
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
![Page 2: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/2.jpg)
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
![Page 3: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/3.jpg)
Stockage des matrices creuses
![Page 4: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/4.jpg)
Red and Black (R&B)(1)
• Numérotation des mailles en ordre ascendant:
• Numérotation des mailles en échiquier avec lescouleurs rouge et noir:
![Page 5: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/5.jpg)
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:
![Page 6: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/6.jpg)
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
![Page 7: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/7.jpg)
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
![Page 8: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/8.jpg)
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:
![Page 9: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/9.jpg)
Résolution des systèmes linéaires
![Page 10: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/10.jpg)
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
![Page 11: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/11.jpg)
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)
![Page 12: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/12.jpg)
Préconditionnement par factorisation incomplète(3)
Exemple:
![Page 13: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/13.jpg)
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).
![Page 14: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/14.jpg)
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:
![Page 15: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/15.jpg)
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.
![Page 16: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/16.jpg)
Tests et résultats
![Page 17: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/17.jpg)
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é
![Page 18: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/18.jpg)
Comparaison de la qualité des résultats sur un exemple(2)
![Page 19: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/19.jpg)
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.
![Page 20: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/20.jpg)
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
![Page 21: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/21.jpg)
Comparaison du nombre d’itérations(1)
![Page 22: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/22.jpg)
Comparaison du nombre d’itérations(2)
![Page 23: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/23.jpg)
Comparaison de la vitesse de calcul(1)
![Page 24: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/24.jpg)
Comparaison de la vitesse de calcul(2)
![Page 25: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/25.jpg)
Comparaison des erreurs relatives(1)
![Page 26: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/26.jpg)
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
![Page 27: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/27.jpg)
Conclusion
![Page 28: Soutenance du stage au 27/06/2006](https://reader035.vdocument.in/reader035/viewer/2022081506/56814963550346895db6b7da/html5/thumbnails/28.jpg)
Bibliographie