Méthodes numériques
Codage de Gauss-Seidel et SOR. Résultats et Interprétation.
Schéma à 5 points
On code GS et SOR pour les schémas à 5 points. Voici les lignes écrites dans SciLab :
Gauss-Seidel
T(i,j)=0.25*(T(i-1,j)+T(i,j-1)+U(i+1,j)+U(i,j+1));
SOR
T(i,j)=(1-w)*U(i,j)+w*((1/4)*(T(i-1,j)+U(i+1,j)+T(i,j-1)+U(i,j+1)));
A partir de ces formules, on inscrit dans un tableau la valeur du Temps CPU de calcul en fonction du nombre du d’itération.
Graphique
Interprétation : On voit que le temps de calcul de la méthode SOR est très inférieur aux deux autres. Celle-ci converge donc plus rapidement que les méthodes GS et Jacobi.
Pour les méthodes directes, voici les résultats (graphique peu parlant au vue des valeurs) : N\Temps CPU | Jacobi | GS | SOR | LU géné | LU creuse | 17 | 10,795269 | 5,5536356 | 1,7004109 | 0,3432022 | 0,0780005 | 25 | 51,52713 | 27,081774 | 3,9624254 | 1,6848108 | 0,1872012 | 33 | 159,63582 | 83,710137 | 8,8452567 | 9,204059 | 0,1404009 |
On voit que les méthodes directes sont extrêmement plus rapides que les autres méthodes. Remarque pour la LU Creuse, on a une valeur plus faible de temps CPU pour le calcul avec N=33 que pour N=25.
Schéma à 9 points
On code GS et SOR pour les schémas à 9 points. Voici les lignes écrites dans SciLab :
Gauss-Seidel
T(i,j)=(1./5)*(T(i-1,j)+T(i,j-1)+U(i+1,j)+U(i,j+1))+(1./20)*(T(i-1,j-1)+U(i-1,j+1)+U(i+1,j-1)+U(i+1,j+1));
SOR
T(i,j)=(1-w)*U(i,j)+w*((1./5)*(T(i-1,j)+T(i,j-1)+U(i+1,j)+U(i,j+1))+(1./20)*(T(i-1,j-1)+U(i-1,j+1)+U(i+1,j-1)+U(i+1,j+1)));
A partir de ces formules, on inscrit dans un tableau la valeur du Temps CPU de calcul en fonction du nombre du d’itération.
Graphique
Interprétation : Ici encore, la méthode SOR nécessite moins de temps dans son exécution. Elle converge donc plus rapidement que les méthodes de Jacobi et Gauss-Seidel.
Pour les méthodes directes, voici les résultats