• Aucun résultat trouvé

Analyse, séance 4 : exercices LA MISE EN OEUVRE

N/A
N/A
Protected

Academic year: 2021

Partager "Analyse, séance 4 : exercices LA MISE EN OEUVRE"

Copied!
4
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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

Références

Documents relatifs

Dans de nombreux domaines, sont recueillies des données présentant une structure en plusieurs tableaux dont il convient de tenir compte à la fois pour le traitement

[r]

Les résultats obtenus que ce soit pour la modélisation scalaire ou vectorielle confirment le bien fondé de cette nouvelle approche physique ou tout au moins, ils montrent que tout

In our study, we retrospectively analyzed serum samples from 4 renal transplant patients with BKVN [2] and showed that BK virus DNA appeared in blood weeks to months before

Noter qu’en utilisant les commandes particuli`eres de MatLab pour traiter les matrices on peut ´ecrire le programme d’assemblage de mani`ere plus condens´ee :..

On choisit des points, que nous appel- lerons nœuds, bien répartis dans Ω et sur son bord ; on découpe Ω en petits triangles ayant ces points pour sommets (fig. On obtient ce

• Montrer que les seuls termes K i,j non nuls de la matrice K sont tels que i et j sont reliés par un segment, en déduire le nombre maximal de termes non nuls sur une ligne de K dans

• Soit un domaine Ω carré, découpé en 4 triangles rectangles isocèles à partir de son centre.. ∇v