Escolar Documentos
Profissional Documentos
Cultura Documentos
Elementos Finitos 2D
10.1 Introdução
O método dos elementos finitos bidimensionais segue paraticamente o mesmo
esquema do unidemensional analisado acima. Ssguindo a mesma metodolo-
gia, vamos iniciar com o problema piloto formado pela equação bidimen-
sional de Poisson
641
642 CAPÍTULO 10. ELEMENTOS FINITOS 2D
Clear[m, n]
coordXY = {{0.5, 0.5}, {1.5, 0.5}, {1., 1.}, {1.5, 1.}, {0.75, 0.75}, {0.5,
1.5}};
funH[x_, y_] := x^2 y
{a, b, mMax, nMax} = {2., 2., 10, 10};
amnC = amn[funH, a, b, m, n] // Simplify;
Table[poissonEq2D[amnC, coordXY[[i, 1]], xy[[i, 2]], a, b, mMax, nMax] ,
{i, Length[coordXY]}]
Clear[x, y, m, n]
{a, b, mMax, nMax} = {2., 2., 5, 5};
funH[x_, y_] := x^2 y
amnC = amn[funH, a, b, m, n] // Simplify;
Plot3D[ poissonEq2D[amnC, x, y, a, b, mMax, nMax], {x, 0, a}, {y, 0,
b},
10.1. INTRODUÇÃO 643
AxesLabel -> {"x", "y", "U"}, BaseStyle -> {FontSize -> 8.}]
Figura 10.1:
<< VectorFieldPlots‘;
2.0
1.5
1.0
0.5
0.0
Figura 10.2:
k = k + 2, {j, nY - 1}];
m = m + nY, {i, nX - 1}]
nosE[[2 nY - 3]] = {nY - 1, nY, 2 nY - 1};
nosE[[2 nY - 2]] = {2 nY, 2 nY - 1, nY};
nosE[[2 (nX - 2) (nY - 1) + 1]] = {(nX - 2) nY + 1, (nX - 2) nY + 2, (n
- 1) nY + 1};
nosE[[2 (nX - 2) (nY - 1) + 2]] = {(nX - 1) nY + 2, (nX - 1) nY + 1, (nX
- 2) nY + 2};]
De posse da numeração dos nós dos trângulos e das coordenadas dos nós
é imediato traçar a malha de interpolação. Com efeito,
2.0
1.5
1.0
0.5
Figura 10.3:
Figura 10.4:
nosElem[nX, nY]
cordElem[nX, nY, a, b]
2.0
1.5
1.0
0.5
Figura 10.5:
Figura 10.6:
(x 3, z 3)
1 2 (x 2 , z 2)
(x 1 , z 1 )
que corresponde a um plano passando pelos três valores nodais (ue1 , ue2 , ue3 )
de u (x, z) no elemento.
650 CAPÍTULO 10. ELEMENTOS FINITOS 2D
em que
a1 = x2 z3 − x3 z2 , b1 = z2 − z3 , c1 = x3 − x2 ,
a2 = x3 z1 − x1 z3 , b2 = z3 − z1 , c2 = x1 − x3 , (10.7)
a3 = x1 z2 − x2 z1 , b3 = z1 − z2 , c3 = x2 − x1 .
10.1. INTRODUÇÃO 651
1
ϕ1 (x, y) = (a1 + b1 x + c1 z) ,
2∆
1
ϕ2 (x, y) = (a2 + b2 x + c2 z) , (10.8)
2∆
1
ϕ3 (x, y) = (a3 + b3 x + c3 z) ,
2∆
µ ¶ µ ¶
∂ ∂u ∂ ∂u
− k(x, y) − k(x, y) + q(x, y)u = h (x, y) (10.10)
∂x ∂x ∂y ∂y
Z Z µ µ ¶ µ ¶
∂ ∂ue ∂ ∂ue
ϕi dxdy = ϕi − k(x, y) − k(x, y)
Ωe Ωe ∂x ∂x ∂y ∂y
e substituíndo em ?? obtemos
µ ¶
∂ϕi ∂ue ∂ϕi ∂ue
ki + dxdy
∂x ∂x ∂y ∂y
Z ∙ µ ¶ µ ¶¸
∂ ∂ue ∂ ∂ue
+ ϕi + ϕi dxdy
Ωe ∂x ∂x ∂y ∂y
Z µ ¶
∂ϕi ∂ue ∂ϕi ∂ue
+ki + dxdy
Ωe ∂x ∂x ∂y ∂y
Z
+qi ϕi ue dxdy
Ωe
Z
= ϕi h (x, y) dxdy
Ωe
Z ∙ µ ¶ µ ¶¸ Z
∂ ∂ue ∂ ∂ue ∂ue ∂ue
ϕi + ϕi dxdy = − ϕi dx − ϕi dy
∂Ωe ∂x ∂x ∂y ∂y ∂y ∂x
Z∂Ω
∂ue
= − ϕi · t̂dl,
∂Ω ∂n
Z µ ¶ Z Z
∂ϕi ∂ue ∂ϕi ∂ue ∂ue
+ dxdy = ϕi h (x, y) dxdy + ϕi · t̂dl,
Ωe ∂x ∂x ∂y ∂y Ωe ∂Ω ∂n
P e
Substituindo ue = uj ϕj nesta expressão obtem-se a matriz e o vetor
e
fonte do elemento Ω .
A matriz do elemento é,
3 ∙ Z
X µ ¶ ¸
∂ϕi ∂ϕj ∂ϕi ∂ϕj
ki + dxdy uei
Ωe ∂x ∂x ∂y ∂y
j=1
3 ∙ Z
X ¸
+ qi ϕi ϕj dxdy uei
j=1 Ωe
Z Z
∂ue
= ϕi h (x, y) dxdy + ϕi · t̂dl,
Ωe ∂Ω ∂n
i = 1, 2, 3, ou simbolicamente,
¡ e e
¢ e
kij + qij ui = hei i, j = 1, 2, 3 (10.11)
sendo
Z µ ¶
e ∂ϕi ∂ϕj ∂ϕi ∂ϕj
kij = ki + dxdy (10.12)
Ωe ∂x ∂x ∂y ∂y
Z
e
qij = qi ϕi ϕj dxdy (10.13)
Ωe
e o vetor fonte,
654 CAPÍTULO 10. ELEMENTOS FINITOS 2D
Z Z
∂ue
hei = ϕi h (x, y) dxdy + ϕi · t̂dl, (10.14)
Ωe ∂Ω ∂n
∂ϕi ∂ϕi
= bi , = ci · · ·
∂x ∂y
⎛ ⎞
b21 + c21 b1 b2 + c1 c2 b1 b3 + c1 c3
£ e¤ ke ⎜ ⎜ b2 b1 + c2 c1
⎟
kij = e ⎝ b22 + c22 b2 b3 + c2 c3 ⎟
⎠ (10.15)
4∆
b3 b1 + c3 c1 b3 b2 + c3 c2 2 2
b3 + c3
Usando a fórmula
Z
α!β!γ!
ϕα1 ϕβ2 ϕγ3 dxdz = 2∆e , (10.16)
Ωe (α + β + γ + 2)!
e toma a forma
a matriz qij
⎛ ⎞
2 1 1
£ e ¤ q e ∆e ⎜ ⎟
qij = ⎜ i 2 1 ⎟ (10.17)
12 ⎝ ⎠
1 1 2
⎛ ⎞
2he1 + he2 + he3
⎜ ⎟
∆e ⎜ he + 2he + he ⎟
h =− e ⎜ 1 2 3 ⎟ (10.19)
12 ⎜ ⎟
⎝ e ⎠
h1 + he2 + 2he3
3
1 4
27 17
21
13 2
14 17
1.5
19 28
12 7
14 24
25 20
20 13 19
1.0 12 6
16 23
26 11
11 8
21 18
15 16
0.5
18
8 7
15 22
10 5
9
4 10 9 3
0.5 1.0 1.5 2.0
Figura 10.9:
(10.1)
Cada uma das nove componentes da matriz do elemento é posicionada
de acordo com a correlação entre a numeração dos nós do elemento e a
nomeração global dos nós na malha conforme a Tabela (10.2)
A Figura abaixo mostra o perfil da matriz global. Observe que a matriz
é simétrica e esparsa. Estas são propriedades importantes da matriz global.
A seguir apresentamos o código em Mathematica para o cálculo das
matrizes dos elementos e a construção da matriz global.
656 CAPÍTULO 10. ELEMENTOS FINITOS 2D
1 2 5 6 7 13 14 17 21
1 1
k22 1
k21 1
k23
2 2
k22 2
k21 2
k23
5 1
k12 1
k11 3
+ k22 3
k21 1
k13 3
k23
6 3
k12 3
k11 3
k13
7 2
k12 2
k11 2
k13
13 28
k11 28
k12 28
k13
14 1
k32 1
k31 1
k33
17 2
k32 2
k31 28
k21 2 + k 28
k33 28
k23
22
21 3
k32 3
k31 28
k31 28
k32 3 + k 28
k33 33
1 5 10 15 21
1 1
5 5
10 10
15 15
21 21
1 5 10 15 21
Figura 10.10:
matG = SparseArray[Flatten[Table[
{{nosE[[k, 1]], nosE[[k, 1]]} -> 0.,
{nosE[[k, 1]], nosE[[k, 2]]} -> 0.,
{nosE[[k, 1]], nosE[[k, 3]]} -> 0.,
{nosE[[k, 2]], nosE[[k, 1]]} -> 0.,
{nosE[[k, 2]], nosE[[k, 2]]} -> 0.,
{nosE[[k, 2]], nosE[[k, 3]]} -> 0.,
{nosE[[k, 3]], nosE[[k, 1]]} -> 0.,
{nosE[[k, 3]], nosE[[k, 2]]} -> 0.,
{nosE[[k, 3]], nosE[[k, 3]]} -> 0.}, {k, nE}]]];
mat211 = {{2., 1., 1.}, {1., 2., 1.}, {1., 1., 2.}};
Do[
bi = elemXY[[k, 2, 2]] - elemXY[[k, 3, 2]];
bj = elemXY[[k, 3, 2]] - elemXY[[k, 1, 2]];
bk = elemXY[[k, 1, 2]] - elemXY[[k, 2, 2]];
ci = elemXY[[k, 3, 1]] - elemXY[[k, 2, 1]];
cj = elemXY[[k, 1, 1]] - elemXY[[k, 3, 1]];
ck = elemXY[[k, 2, 1]] - elemXY[[k, 1, 1]];
areaE =
Det[{{1, elemXY[[k, 1, 1]], elemXY[[k, 1, 2]]}, {1, elemXY[[k, 2, 1]],
658 CAPÍTULO 10. ELEMENTOS FINITOS 2D