soutenance du stage au 27/06/2006

28
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

Upload: abedi

Post on 15-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: Soutenance du stage au 27/06/2006

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

Stockage des matrices creuses

Page 4: Soutenance du stage au 27/06/2006

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

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

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

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

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

Résolution des systèmes linéaires

Page 10: Soutenance du stage au 27/06/2006

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

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

Préconditionnement par factorisation incomplète(3)

Exemple:

Page 13: Soutenance du stage au 27/06/2006

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

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

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

Tests et résultats

Page 17: Soutenance du stage au 27/06/2006

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

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

Page 19: Soutenance du stage au 27/06/2006

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

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

Comparaison du nombre d’itérations(1)

Page 22: Soutenance du stage au 27/06/2006

Comparaison du nombre d’itérations(2)

Page 23: Soutenance du stage au 27/06/2006

Comparaison de la vitesse de calcul(1)

Page 24: Soutenance du stage au 27/06/2006

Comparaison de la vitesse de calcul(2)

Page 25: Soutenance du stage au 27/06/2006

Comparaison des erreurs relatives(1)

Page 26: Soutenance du stage au 27/06/2006

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

Conclusion

Page 28: Soutenance du stage au 27/06/2006

Bibliographie