TP2 sur Scilab

1er décembre 2003

1

Résolution d'un problème elliptique mixte

On s'interesse ici à la précision du schéma pour des conditions aux limites de type Neuman. On considère le problème
−u (x) = π 2 sin πx − ex dans ]0, 1[ u (0) = 1 u (1) = e + π

(1)

que l'on discrétise par diérences nies. Faites une copie des scripts et fonctions scilab du tp précédent. Sauvegarder le programme principal elliptic.sce sous elliptic-mixte.sce. Le chier de fonctions est le même et va être réutilisé avec quelques modications. Nous allons adapter le programme au problème 1. le :/home/puiseux/elasticite.docs/ 1 est le pas du maillage, Ωh = {xi = ih, 1 ≤ i ≤ n} est le n est un entier donné, h = n+1 maillage, et on approche u” (ih) par
−u” (ih) 1 (−ui−1 + 2ui − ui+1 ) + O h2 h2 = fi =

pour 1 ≤ i ≤ n

(2) (3)

(on a posé fi = f (xi ) = f (ih) = π 2 sin πxi ) 1. Vérier tout d'abord que u (x) = ex + sin πx est la solution (exacte) de (1) 2. Approximation d'ordre 0 (non consistante)
−un (a) On a vu en cours que u (1) = un+1 + O (h) donne u (1) = un+1 = un + hu (1) + h O h2 , que l'on reporte dans (2) avec i = n, pour obtenir la nieme équation

1 (−un−1 + un ) h2

= fi +

u (1) + O (1) h

(4)

(b) Combinant cette dernière équation (4) avec les équations (2) pour 1 ≤ i ≤ n − 1 on obtient le système linéaire
 2 −1  −1 2   ..  0 .   . . ..  . . 0 ··· 0 ··· −1 · · ·  0 u1 0  u2   .  . . . .  .    un−1  −1 un 1
0 f1 + u h2   f2   .   .  =  .     fn−1 (1) fn + u h

      

..

.

..

.

−1 0

2 −1

(c) Modier le programme pour qu'il prenne en compte ces modications. On écrira en particulier une fonction [cl0,cl1]=CLmixte(a,b), qui renvoit les bonnes conditions aux limites (cl0 = u (0) et cl1 = u (1)). 1

. 2 . .. Donc u (1 − h) un h2 f (1) + O h3 2 h2 = un+1 − hu (1) − f (1) + O h3 2 = u (1) − hu (1) − que l'on reporte dans (2) avec i = n.  .3. pour obtenir la nieme équation 1 (−un−1 + un ) h2 = fi + u (1) f (1) + + O (h) h 2 (5) (b) Combinant cette dernière équation (5) avec les équations (2) pour 1 ≤ i ≤ n − 1 on obtient le système linéaire  2 −1  −1 2   . . .  . .  . 0 ··· 0 ··· −1 · · ·  0 u1 0  u2   . . en fonction de n dans les deux cas de gure (consistant et non consistant). . . Tracer l'erreur globale sur la solution calculée. 4. Approximation d'ordre 1 (consistante) (a) Pour améliorer le degré de consistance de l'approximation de la condition u (1) = e − π .. . . on a vu en cours que u (1 − h) = u (1) − hu (1) + h2 u” (1) + O h3 2 et comme u vérie −u” = f . on a u” (1) = −f (1).  . Constatez l'amélioration de la solution approchée.   . −1 0 2 −1        =      . . fn + fn−1 f (1) u (1) h + 2 (c) Modier le programme pour qu'il prenne en compte cette modication.  0 . .   un−1 −1  un 1   0 f1 + u h2 f2        .

Sign up to vote on this title
UsefulNot useful