0% ont trouvé ce document utile (0 vote)
60 vues8 pages

Méthode des Éléments Finis: TD1

Transféré par

Louis-Clément Genlot
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
60 vues8 pages

Méthode des Éléments Finis: TD1

Transféré par

Louis-Clément Genlot
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

La Méthode des Éléments Finis: TD1

Ibrahim ALAME

8/11/2021

1 Problème de Dirichlet
Considérons le problème de Dirichlet

d2 u

 − 2 + 4u = 4 sur Ω,

dx (1)


u(0) = u(1) = 0
où Ω =]0, 1[.
1. — Équation sans second membre : −u′′ + 4u = 0 donc u0 = A ch(2x) + B sh(2x).
— La solution particulière constante : up = 4/4 = 1
— D’où u = 1 + A ch(2x) + B sh(2x)
— Les conditions initiales donnent : A = −1 et B = th1.
— La solution est donc
2
u= shx sh(1 − x)
ch1
y

2. Multiplions les deux membres de l’équation différentielle par une fonction v ∈ V :

d2 u
− · v + 4u · v = 4 v
dx2
intégrons les deux membres sur Ω :
Z 1 2 Z 1 Z 1
d u
− 2
· v dx + 4 u · v dx = 4 v dx
0 dx 0 0

1
Faisons une intégration par partie de la première intégrale :
1 1 Z 1 Z 1
d2 u
Z 
du du dv du dv
2
· v dx = · v − · dx = − · dx
0 dx dx 0 0 dx dx 0 dx dx

car v(0) = v(1) = 0. Donc


Z 1 Z 1 Z 1
du dv
· dx + 4 u · v dx = 4 v dx
0 dx dx 0 0

Si on pose Z 1 Z 1
a(u, v) = (u′ v ′ + 4uv) dx et ℓ(v) = 4 v dx (2)
0 0
Alors
∀v ∈ V, a(u, v) = ℓ(v) (3)

3. Une fonction v ∈ Vh est affine par morceaux elle est donc complètement déterminée par ses n
valeurs aux points xj , 1 ≤ j ≤ n. Donc dim Vh = n.
y

v2

v1 vj

x
0=x0 xj 1=xn+1

La famille (φi )1≤i≤n est libre. En effet ;


n
X n
X n
X
λi φi = 0 =⇒ λi φi (xj ) = 0 =⇒ λi δij = λj = 0
i=1 i=1 i=1

Donc (φi )1≤i≤n est une base de Vh .


4. Pour 1 ≤ i ≤ n, fonction φi est donnée analytiquement par

1 − |x−x i|

si x ∈ [xi−1 , xi+1 ]
φi (x) = h (4)
0 sinon

y
φj

x
0=x0 xj 1=xn+1

2
5. On a uh ∈ Vh , donc uh s’écrit comme combinaison linéaire des vecteurs de base :
n
X
uh = λ i φi
i=1

On identifie les coefficients λj en évaluant cette dernière égalité en xj pour 1 ≤ j ≤ n :


n
X n
X
uh (xj ) = λi φi (xj ) =⇒ uj = λi δij = λj
i=1 i=1

D’où
n
X
uh = ui φi
i=1

Le problème approché s’écrit :



Trouver uh ∈ Vh solution de
(5)
∀vh ∈ Vh , a(uh , vh ) = ℓ(vh )

On fait vh = φi :
a(uh , φi ) = ℓ(φi ) , 1≤i≤n
n
X
a( uj φj , φi ) = ℓ(φi ), 1≤i≤n
j=1

Par linéarité de a par rapport à la première variable :


n
X
uj a(φj , φi ) = ℓ(φi ), 1≤i≤n
j=1

La méthode d’approximation variationnelle du problème de Dirichlet se ramène donc à un sys-


tème linéaire :

I
X
a(φj , φi )uj = ℓ(φi ), 1≤i≤n
j=1

En tenant compte du seul fait que le support d’une fonction φj , est l’intervalle [xj−1 , xj+1 ], ce
système prend la forme


 a(φ1 , φ1 )u1 + a(φ2 , φ1 )u2 = ℓ(φ1 )
a(φ1 , φ2 )u1 + a(φ2 , φ2 )u2 + a(φ3 , φ2 )u3 = ℓ(φ2 )




···


 a(φi−1 , φi )ui−1 + a(φi , φi )ui + a(φi+1 , φi )ui+1 = ℓ(φi )
···




a(φn−1 , φn )un−1 + a(φn , φn )un = ℓ(φn )

— si |i − j| > 1

3
y
φi φj

x
0=x0 xi xj 1=xn+1

alors a(φi , φj ) = 0.
— si j = i + 1
y
φi φj

x
0=x0 xi xj 1=xn+1

alors xj       
x − xi x − xi
Z
1 1
a(φi , φi+1 ) = − +4 1− dx
xi h h h h
x−xi
On fait le changement de variable t = h :
Z 1  
1 1 2
a(φi , φi+1 ) = h − 2 + 4 (1 − t) t dt = − + h
0 h h 3

— si i = j

y
φi =φj

x
0=x0 xi =xj 1=xn+1

alors " 2 2 #
xi+1 
|x − xi |
Z
1
a(φi , φi ) = ± +4 1− dx
xi−1 h h
Z 1  Z 1 
1 2 1 2 2 8
a(φi , φi ) = h 2
+ 4(1 − |t|) dt = 2h 2
+ 4(1 − t) dt = + h
−1 h 0 h h 3
pour le second membre, on peut utiliser l’aire du triangle
Z xi+1
2h × 1
ℓ(φi ) = 4 φi (x)dx = 4 · = 4h
xi−1 2
Le système s’écrit matriciellement

4
2 + 83 h2 −1 + 23 h2 ···
 
0 0    
.. .. u1 1
 −1 + 2 h2 2 + 38 h2 −1 + 23 h2
 
 3
. . 
 u2 


 1 

.. .. .. .. 2 ..
 = 4h 
   

 0 . . . 0 
 .   . 

 .. ..    
 . . −1 + 32 h2 2 + 38 h2 2 2 
−1 + 3 h
un 1
0 ··· 0 −1 + 23 h2 2 + 83 h2
Pour n = 3, h = 14 , le système s’écrit :
2 + 16 1
    
−1 + 24 0 u1 1
 −1 + 1 1 1  1
24 2+ 6 −1 + 24 u2  =  1 
1 1 4
0 −1 + 24 2+ 6 u3 1
En multipliant par 24, on obtient le système simplifié
    
52 −23 0 u1 6
 −23 52 −23   u2  =  6 
0 −23 52 u3 6
225 294
D’où u1 = u3 = 823 ≃ 0.273 et u2 = 823 ≃ 0.357.
y

u2 ≃0,357

u1 ≃0,273 u3 ≃0,273

x
0=x0 x1 =0,25 x2 =0,50 x3 =0,75 x4 =1

2 Problème de Neumann
1. Multiplions les deux membres de l’équation différentielle par une fonction v ∈ V puis intégrons
les deux membres sur [0, 1] :
Z 1   Z 1 Z 1
d du
− (1 + x) v dx + uv dx = v dx
0 dx dx 0 0

5
Après une intégration par partie on obtient :
Z 1 Z 1 Z 1
du dv
(1 + x) · dx + uv dx = v dx
0 dx dx 0 0

car u′ (0) = u′ (1) = 0. Si on pose


Z 1 Z 1
′ ′
a(u, v) = ((1 + x)u v + uv) dx et ℓ(v) = v dx (6)
0 0

Alors
∀v ∈ V, a(u, v) = ℓ(v) (7)
2. Le problème approché s’écrit :

Trouver uh ∈ Vh solution de
(8)
∀vh ∈ Vh , a(uh , vh ) = ℓ(vh )
Pn+1
On fait v = φi et uh = j=0 uj φj , on obtient grâce à la bilinéarité de a :

n+1
X
a(φj , φi )uj = ℓ(φi ), 0≤i≤n+1 (9)
j=0

Compte tenu du support des fonctions de la base (φi )i le système linéaire prend la forme


 a(φ0 , φ0 )u0 + a(φ1 , φ0 )u1 = ℓ(φ0 )
a(φ0 , φ1 )u0 + a(φ1 , φ1 )u1 + a(φ2 , φ1 )u2 = ℓ(φ1 )




···


 a(φi−1 , φi−2 )ui−1 + a(φi , φi )ui + a(φi+1 , φi )ui+1 = ℓ(φi )
···




a(φn , φn+1 )un + a(φn+1 , φn+1 )un+1 = ℓ(φn+1 )

3. Calcul de a(φi , φj ) :
— si |i − j| > 1
y
φi φj

x
0=x0 xi xj 1=xn+1

alors a(φi , φj ) = 0.
— si j = i + 1
y
φi φj

x
0=x0 xi xj 1=xn+1

6
alors xj       
x − xi x − xi
Z
1 1
a(φi , φi+1 ) = (1 + x) − + 1− dx
xi h h h h
x−xi
On fait le changement de variable t = h :
Z 1  
1 + ih + th 1 1 1
a(φi , φi+1 ) = h − + (1 − t) t dt = − − i − + h
0 h2 h 2 6

— si i = j = 0
y
φi =φj =φ0

x
0=x0 xi 1=xn+1

alors " 2  #
Z x1 
1 x 2
a(φ0 , φ0 ) = (1 + x) − + 1− dx
x0 h h
Z 1 
1 + th 2 1 1 1
a(φ0 , φ0 ) = h 2
+ (1 − t) dt = + + h
0 h h 2 3
— si i = j = n + 1
y
φi =φj =φ0

x
0=x0 xi 1=xn+1

alors  2 " 2 #
xn+1
x − xn
Z
1
a(φn+1 , φn+1 ) = (1 + x) + dx
xn h h
Z 1 
1 + nh + th 2 1 1 1
a(φn+1 , φn+1 ) = h 2
+ (1 − t) dt = + n + + h
0 h h 2 3
— si i = j
y
φi =φj

x
0=x0 xi =xj 1=xn+1

7
alors " 2  2 #
xi+1 
|x − xi |
Z
1
a(φi , φi ) = (1 + x) ± + 1− dx
xi−1 h h
Z 1  Z 1 
1 + ih + th 2 1 + ih 2 2 2
a(φi , φi ) = h 2
+ (1 − |t|) dt = 2h 2
+ (1 − t) dt = +2i+ h
−1 h 0 h h 3

Vous aimerez peut-être aussi