Analyse, séance 4 : exercices LA MISE EN OEUVRE
Question 1
Un exemple en dimension 1
• Définir une formulation variationnelle et un principe du minimum pour le problème aux limites
suivant :
−d2u
dx2 +u = q(x) sur]0,1[
u(0) =u(1) = 0
(1)
•Définir une solution approchéeuh dans l’espaceVh des fonctions continues affines par morceaux sur un découpage de pashde l’intervalle[0,1]et nulles sur le bord.
•Décrire les fonctions de la base naturelle deVhet calculer complètement la matrice de raideur du système qui définituhdans cette base (on calculera les intégrales de fonctions du second degré par la formule de Simpson). Comparer avec les équations obtenues par différences finies.
Noter le caractère automatique de la construction du système d’équation, dès que l’espaceVhet une base ont été choisis, cela sera mis à profit pour construire des logiciels très généraux.
Question 2
Un exemple en dimension 2
Nous considérons ici un problème un peu plus général que le problème de la membrane introduit à la séance 3. SoitΩun domaine du plan dont le bordΓest supposé polygonal.k,c,λsont des constantes réelles,q(x)etu0des fonctions continues définies surΩ.
SoitWhest l’espace des fonctions continues affines par morceaux sur un maillage en triangles deΩ; on considère le problème
−k∆u+cu=q
u=u0 sur Γ (2)
Soit
U0 ={v∈C2(Ω)/ v|Γ=u0} et
V0={v∈C1(Ω)/ v|Γ= 0}
1
Mathématiques 2 2
Soit
a(u, v) = Z
Ω
k∇u∇v dΩ + Z
Ω
c u v dΩ (3)
L(v) = Z
Ω
q v dΩ (4)
•Montrer l’équivalence du problème (2) et de la formulation faible u∈U0
∀v∈V0 a(u, v) =L(v) (5)
Dans le cas de la membrane les positions des nœuds du bord étaient connues et nulles (u= 0), ce qui fait queuetvétait dans le même espace ce qui n’est plus le cas avec des conditions non homogènes.
Question 3
Approximation
On considère un maillage du domaineΩen triangles et on note :
−Whl’espace des fonctions continues affines par morceaux sur ce maillage.
−Uh ⊂Wh ={v∈Wh/ v|Γ=u0}(ou plutôt une approximation affine par morceaux deu0).
−Vh ⊂Wh={v∈Wh/ v|Γ = 0}
On définit une solution approchéeVh solution du problème u∈Uh
∀v∈Vh a(uh, v) =L(v) (6)
•Rappeler les principes de construction du système : K U=F
qui détermineuh. Question 4
Un programme de calcul
Le maillage comportenpnœuds, dontnbsur le bord, etneéléments. Contrairement aux exemples des séances précédentes, la numérotation ne distingue pas les nœuds du bord des nœuds intérieurs.
On utilise la structure suivante des données du maillage : – le tableau ELEM(ne,3) définit les nœuds des éléments.
– le tableau Q(np,1) définit la valeur de la fonctionqaux nœuds.
– le tableau COORD(np,2) définit les coordonnées des nœuds.
– le tableau FIX(nb) définit les “nb” nœuds du bord qui sont surΓ.
ECP 2006-2007 Analyse
Mathématiques 2 3
Le programme ci-dessous (écrit dans le langage de SciLab) calcule les termes de la matriceKprove- nant deR
Ω cuv dΩ. Pour cela le programme calcule les intégrales Z
Ω
cwiwj :dΩ (7)
par une boucle sur les triangles, les calculs sur un triangle étant faits par la formule d’intégration (exacte pour les polynômes de degré 2)
Z
Te
f(x)dΩ = Se 3
3
X
i=1
f(mi)
où lesmisont les les milieux des côtés du triangleTe. Ke(i, j) =
Z
Te
cwiwjdΩ =cSe
3
3
X
l=1
wi(ml)wj(ml)
C’est à direKe(i, j) = cS12e sii6=jetKe(i, i) = cS6e
function Ke = Raideur_elem(NOEUD,COORD);
% contribution d’un triangle à la matrice de raideur K global c
for i = 1:3,
X(i) = COORD(NOEUD(i),1);
Y(i) = COORD(NOEUD(i),2); % coordonnées des sommets end;
Se = abs((X(2)-X(1))*(Y(3)-Y(1)) - (X(3)-X(1))*(Y(2)-Y(1)))/2;
aux = c *Se/12; % application de la formule d’intégration for i = 1:3
for j=1:3
if i == j, Ke(i,j) = 2*aux;
else Ke(i,j) = aux;
end;
end;
function K = Assemblage(ELEM,COORD);
ne = size(ELEM,1);
np = size(COOR,1);
K = zeros(np,np);
for e = 1:ne,
for i=1:3, % i : numérotation locale
NOEUD(i) = ELEM(e,i); % NOEUD : numérotation globale end;
Ke = Raideur_elem(NOEUD,COORD);
for i=1:3,
ECP 2006-2007 Analyse
Mathématiques 2 4
lig = NOEUD(i);
for j=1:3,
col = NOEUD(j);
K(lig,col) = K(lig,col) + Ke(i,j);
end;
end;
end;
En pratique il est préférable d’initialiser K à 0 hors de cette fonction pour pouvoir assembler différentes contributions.
• Soit un domaineΩcarré, découpé en 4 triangles rectangles isocèles à partir de son centre. On a doncne= 4,np= 5, préciser les tableaux COORD et ELEM .
•Faire “tourner” à la main le programme ci-dessus sur cet exemple.
•Écrire un programme de calcul des matrices de raideur élémentaire associées au terme Z
Ω
k∇u .∇v dΩ
•Écrire un programme de calcul des termes du second membreFassociés àR
Ωqv dΩ.
Remarque
Remarquer l’extrême généralité d’un programme pourtant très simple, mais très bien structuré.
Dans un logiciel d’éléments finis, il suffit de définir les contours de la membrane, la constante de tension k et la densité de forcef(x); le logiciel crée automatiquement le maillage en triangles et il exécute le programme ci-dessus pour calculer les coefficients du système linéaire (représentés de manière condensée), puis il résout ce système, en général par méthode de Gauss-Cholesky. On peut ensuite visualiser la déformée.
ECP 2006-2007 Analyse