Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introdu
c
ao
Varios fenomenos da natureza podem ser descritos, utilizando-se leis da fsica, em termos
de equacoes diferenciais. Em algumas situacoes extremamente simples pode-se encontrar
solucoes analticas, nas outras busca-se solucoes aproximadas para o problema.
Os metodos para a obtencao de solucoes aproximadas de equacoes diferenciais podem
ser divididos em duas classes gerais:
(i)Metodo de Diferencas Finitas: As derivadas da funcao sao substitudas pela diferenca
dos valores que a funcao assume em certos pontos do domnio. A equacao diferencial da
origem a um sistema de equacoes algebricas onde as incognitas sao os valores da funcao nos
pontos escolhidos para representar as derivadas. As ideias basicas de Metodos de Diferencas
Finitas sao mostradas no exemplo a seguir:
Exemplo 1:
+ u = 0, para 0 < x < 1,
Resolver: x du
dx
c.c: u(0) = 1.
A solucao sera aproximada atraves do calculo do valor da funcao em um n
umero nito
de pontos do domnio.
Se o domnio for dividido em N 1 intervalos atraves de N pontos (nos), deve-se obter
o valor aproximado de u(x) em cada no, ou seja, um problema com N incognitas. As N
equacoes necessarias para resolver este problema sao obtidas aproximando a derivada em
funcao dos valores nodais desconhecidos nas posicoes dos N nos.
Olhando nas proximidades do no 4:
du
U5 U3
=
.
dx x4
2x
A equacao diferencial no ponto x4 e aproximada como:
U5 U3
x4
x4
x4
+ U4 = 0
U3 + U4 +
U5 = 0.
2x
2x
2x
N
ci i .
i=1
Os coecientes ci sao obtidos de forma que a equacao diferencial seja satisfeita. Para
obter a solucao aproximada atraves de um metodo variacional, deve-se rescrever o problema
em sua forma fraca (integral ou variacional). A necessidade do uso da formulacao fraca
e ilustrada no Exemplo 2. Os diferentes metodos variacionais utilizam diferentes formas
integrais, funcoes base e funcoes peso.
O Metodo de Elementos Finitos se encaixa na classe de metodos variacionais, onde as
funcoes base sao diferentes de zero apenas em uma pequena parte do domnio, como sera
mostrado a seguir.
N
cao diferencial nao
A simples substituicao da aproximacao u(x) =
i=1 ci i na equa
garante a obtencao de N (n
umero de coecientes ci ) equacoes algebricas linearmente independentes, por isso em metodos variacionais utiliza-se a forma integral do problema, como
mostrado no exemplo a seguir.
Exemplo 2:
d du
(x ) + u = 0 para 0 < x < 1,
dx dx
sujeito a`s condicoes de contorno:
u(0) = 1 ; (x
2
du
)x=1 = 0.
dx
u(x) = 0 (x) +
2
ci i (x),
i=1
Para essa expressao ser valida para qualquer x, o coeciente de cada potencia de x deve
ser nulo:
1 + 2c1 + 3c2 = 0,
6c 3c = 0,
1
2
9c
+
c
2
1 = 0,
c2 = 0.
Esse sistema nao tem solucao! Vamos obrigar a solucao aproximada a satisfazer a
equacao diferencial num sentido integral ao inves de no sentido exato.
Podemos obriga-la a satisfazer a seguinte integral ponderada:
1
d du
w(x){ (x ) + u}dx = 0,
dx dx
0
onde w(x) e a funcao peso.
Esta integral pode representar uma medida do erro na aproximacao. O n
umero de
umero de funcoes
equacoes linearmente independentes que envolvam c1 e c2 sera igual ao n
3
1
d
2
2
3
x {x[c1 (2x 2) + c2 (3x 3)]} + 1 + c1 (x 2x) + c2 (x 3x) dx = 0.
dx
0
Entao:
2/3c1 + 5/4c2 = 1,
3/4c1 31/20c2 = 1/2,
Captulo 2
Formula
c
ao Integral
2.1
Formula
c
ao forte e fraca de um problema
du(0)
= h
c.c. de Newman.
dx
A equacao diferencial e imposta em todos os pontos x (0, 1).
A formulacao fraca equivalente a (S) e denida como:
Determine u U , tal que
1
dw du
(W )
f wdx + w(0)h ; para qualquer w V .
dx =
0 dx dx
0
U e o conjunto de funcoes teste denido como:
1
du
U = {u|u(1) = g e
( )2 dx < }
0 dx
V e o conjunto de funcoes peso e e denido como:
1
dw
V = w|w(1) = 0 e
( )2 dx < }
dx
0
** A funcao peso vale zero quando aplicada no contorno onde a condicao e essencial.
Isso porque neste ponto a funcao ja e conhecida.
Antes de continuarmos com a denicao de formulacao fraca e mostrarmos a equivalencia
entre as duas formulacoes precisaremos das denicoes:
Uma funcao f : R pertence ao espaco C k () se
C 0 e o espaco das funcoes contnuas.
O espaco Sobolev de funcoes H k () e denido como:
5
dj f
dxj
e contnua, com 0 j k.
dw
dk w
H k () = {w|w L2 ;
L2 ; ...; k L2 }, onde
dx
dx
L2 () = {f | f 2 d < }.
1
d2 u
w[ 2 + f ]dx = 0 (w H 1 (0, 1))
dx
0
Fazendo uma integracao por partes:
1
du(1)
du(0)
dw du
wf dx = 0.
dx + w(1)
w(0)
+
dx
dx
0 dx dx
0
Como w V w(1) = 0.
Como u e solucao de (S) du(0)
= h.
dx
dw du
dx = w(0)h +
dx dx
wf dx, w V
1
dw du
wf dx, w V
dx = w(0)h +
0 dx dx
0
6
1
d2 u
du(1)
du(0)
w 2 dx + w(1)
wf dx + w(0)h
w(0)
=
dx
dx
dx
0
0
1
du(0)
d2 u
du(1)
+ w(0)[
+ h] = 0.
w[ 2 + f ]dx w(1)
dx
dx
dx
0
Como w V w(1) = 0
1
d2 u
du(0)
w[ 2 + f ]dx + w(0)[
+ h] = 0 ; w V.
dx
dx
0
(2.1)
1
2
du
(x)[ 2 + f ]2 dx = 0
dx
0
d2 u
sendo (x) > 0 (por denicao) e [ 2 + f ]2 0,
dx
d2 u
d2 u
entao a integral sera zero [ 2 + f ]2 = 0 2 + f = 0.
dx
dx
w(x) = (x)[
du(0)
+ h] = 0 ; w V.
dx
Como mencionado anteriormente, o metodo de Elementos Finitos e baseado na formulacao fraca do problema.
A ideia basica e restringir os espacos U e V para espacos de dimensao nita. Isto implica
que qualquer u U pode ser escrito como:
N
u(x) =
ci i ,
i=1
onde os
i s
1
dw du
a(u, w) =
f wdx,
e (f, w) =
0 dx dx
0
logo, a formulacao torna-se:
Achar u U , tal que:
a(u, w) = (f, w) + w(0)h ; w V.
2.2
M
etodo dos Resduos Ponderados
Neste curso vamos nos concentrar no Metodo dos Resduos Ponderados (Weighted Residuals).
Vamos novamente analisar o problema:
2
d u
em (0, 1);
dx2 = f,
u(1) = g = 0 considerar g = 0, apenas para simplicar.
du(0)
= h.
dx
Queremos encontrar uma aproximacao uh para a solucao do problema u.
uh vai pertencer a um espaco de dimensao nita Uh , logo podemos escreve-lo como:
uh (x) =
N
ci i ,
i=1
1
wR = 0
0
Observe que integrando o resduo com o peso w, estamos fazendo com que sua media
ponderada seja 0. Por isso a condicao e dita FRACA, pois nao estamos obrigando ponto a
ponto que u = uh e sim na media (na integral).
Substituindo R, temos:
1
d2 uh
w[ 2 + f ]dx = 0
dx
0
integrando por partes:
1
dw duh
f wdx + w(0)h = 0 Equivalente a` formulacao variacional.
dx +
0 dx dx
0
A integracao por partes alivia as restricoes impostas a` funcao aproximada uh . A ex2
h
e nao mais da segunda ddxu2h .
pressao passa a depender da primeira derivada de uh , du
dx
h
Logo, a restricao sobre uh devera ser que sua derivada pertenca a L2 , du
L2 , isto e, o
dx
duh
quadrado de dx seja integravel. Observe que ate funcoes contnuas com descontinuidades
nas derivadas podem satisfazer a estas condicoes, como ilustrada na gura(??):
N
i=1 ci i .
E entao,
duh
dx
N
di
i=1 ci dx
1
di dj
dx +
cj
f i dx + i (0)h = 0
Ri =
dx
0 dx
0
j=1
1
N
1
di dj
f i dx + i (0)h ; i = 1, ..., N.
dx cj =
dx
dx
0
0
j=1
bi
Aij
Temos matricialmente
Ac = b
Algumas referencias chamam A de matriz de rigidez.
O Metodo dos Resduos Ponderados recebe diferentes denominacoes de acordo com as
funcoes base i e peso i .
METODO
DE GALERKIN
O espaco das funcoes peso e identico ao espaco das funcoes teste i = i
Matriz A e simetrica.
METODO
DE PRETROV-GALERKIN
i = i Matriz A nao e simetrica.
METODO
DOS MINIMOS QUADRADOS
Os coecientes ci da aproximacao uh (x) = N
ao obtidos atraves da minimizacao
i=1 ci i s
da integral do quadrado dos resduos:
1
R
2
R dx = 0
Rdx = 0.
ci 0
0 ci
i =
R
.
ci
METODO
DE COLOCACAO
10
1
wi = (x xi )
(x xi )Rdx = 0 R(xi ) = 0.
0
EXERCICIO #1
Considere o problema:
d2 u
2
dx2 u + x = 0,
u(0) = 0,
u (1) = 1.
onde 0 x 1;
Vamos assumir que uma solucao aproximada uh possa ser escrita como:
u(x) =
N
ci i
onde, i (0) = 0 ;
i=1
1 (x) = x ,
2 (x) = x2 ,
3 (x) = x3 .
Detemine a solucao para o problema utilizando:
Metodo de Galerkin, ou seja , i = i .
Compare a solucao aproximada com a exata do problema:
2cos(1 + x) sen(x)
u(x) =
+ x2 2.
cos(1)
Solucao do Exerccio #1
R(x) =
d2 uh
uh + x 2 .
dx2
Queremos que:
1
w(x)R(x)dx = 0,
i [
0
d2 uh
uh + x2 ]dx = 0
dx2
d2 uh
i 2 dx
dx
i uh dx +
0
11
i x2 dx = 0
1
duh
di duh
(
i uh dx +
i x2 dx = 0
i
)dx
dx 0
dx
dx
0
0
0
Usando que:
uh (1) = 1.
i (0) = 0.
i (1) +
0
Como u(x) =
di duh
)dx
(
dx dx
N
du
dx
ao
i=1 cj j , ent
N
cj
0
i=1
i uh dx +
0
N
j
i=1 cj dx
; substituindo temos:
1
di dj
i j dx = i (1)
i x2 dx
dx dx
0
bi
A=
2
3
3
4
4
5
3
4
17
15
4
3
4
5
4
3
58
35
b=
3
4
4
5
5
6
Fazendo Ac = b
2280
1777
i x2 dx = 0
Aij
Encontramos c(1) =
; c(2) =
203
1777
; c(3) =
12
175
.
7108
c=
2280
1777
203
1777
175
7108
1.2
line 1
line 2
0.8
0.6
0.4
0.2
0
0
0.2
0.4
Figura 2.2:
0.6
0.8
uh e u
O graco mostra a solucao exata e a aproximada. Observe que a solucao aproximada rep evidente que
resenta muito bem a solucao exata, utilizando-se apenas de tres funcoes base.E
a escolha de funcoes base apropriadas e fundamental para o bom desempenho do metodo.
13
Captulo 3
Discretiza
c
ao e Fun
c
oes Base
3.1
Figura 3.1: Exemplo de funcao base diferente de zero apenas em uma pequena porcao do
domnio.
x2
( )i dx =
0
( )i dx
x1
A ideia e dividir o domnio em elementos, denidos por nos. Por exemplo: o domnio de
0 a 1 foi dividido em 8 elementos (9 nos).
14
15
u(xi ) =
N
j=1
cj j (xi ) =
ij
N
cj ij = ci
j=1
ci = u(xi )
O coeciente ci e igual ao valor da funcao u no ponto xi .
Uma outra conseq
uencia importante da denicao das funcoes teste e que varios elementos da matriz A sao iguais a zero, conforme ilustrado na Figura 1.4.
Por exemplo:
A26 =
0
d2 d6
dx = 0
dx dx
16
A=
3.2
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
Ate agora vimos o metodo dos elementos nitos de uma forma global, isto e, cada funcao
i e denida em todo o domnio com a particularidade de ser diferente de zero somente em
uma pequena parte dele.
Como cada funcao i so e diferente de zero em uma pequena parte do domnio, e mais
eciente se a tratarmos nestas opcoes apenas. Isto leva a uma descricao local do metodo
(elementar).
No exemplo mostrado anteriormente (Figura 1.3), existem duas funcoes diferentes de zero
em cada elemento e uma mesma funcao e diferente de zero em dois elementos, conforme
mostrado na tabela a seguir:
elemento
1
2
3
4
5
6
7
8
no inicial
1
2
3
4
5
6
7
8
no nal
2
3
4
5
6
7
8
9
i s = 0
1-2
2-3
3-4
4-5
5-6
6-7
7-8
8-9
Podemos pensar em uma matriz elementar A(e) , de modo que a matriz global A seja
escrita como:
A = 8e=1 A(e)
A maneira com que essa montagem ou uniao e feita sera discutida a seguir.
Como so existem dois i s = 0 em cada elemento, a matriz elementar A(e) sera uma
matriz 2 2.
Por exemplo, a matriz do elemento 3, A(3) , e igual a:
x4 d3 d4
x4 d3 d3
dx
dx
x3 dx dx
x3 dx dx
x4 d4 d3
x4 d4 d4
A(3) =
dx
dx
x3
dx dx
17
x3
dx dx
A forma de cada funcao nos elementos e sempre a mesma, independentemente do elemento em questao. Isto sugere uma troca de coordenadas para que possamos fazer uma
descricao elementar das funcoes.
Descricao Elementar: O elemento se extende de = 1 a = +1 e possui dois nos como
mostrado na gura:
1 () =
Assim
(e)
d1
d
= 12 ;
(e)
d2
d
1
2
(e)
2 () =
1+
2
1
2
(x)
x() =
x = x4 = 1.
18
2x(x3 +x4 )
,
x4 x3
(x4 x3 ) +x3 +x4
,
2
(3)
A12
x4
d3 d4
dx =
dx dx
x3
(e)
d1
(e)
d2
d
dx
=x
(e)
(e)
d1 d d2 d dx
d =
d dx d dx d
d,
2
2
= (e)
4 x3
h
(e)
(e)
d1 d2
d.
d d
1
d1 d1
d
1 d d
1
1
2
= (3)
h
d2 d1
d
d d
1
d1 d2
d
1 d d
1
1
,
d2 d2
d
d d
(3)
A12
(3)
A22
1
2
1 1
2 1
1
= (3)
( )( ) d = (3) 2 = (3)
h
2
h 4
h
1 2
1
2
1 1
1
(3)
= (3)
( )( ) d = (3) = A2,1
h
2
2
h
1
1
2
1 1
1
= (3)
( )( ) d = (3)
h
h
1 2 2
(3)
1
= (3)
h
1 1
1
1
.
ilnodeiele
1
2
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
A=
DomN odeID(1, 3) = 3,
(3)
A11
(3)
A12
(3)
A21
(3)
A22
A33
A34
A43
A44
DomN odeID(2, 3) = 4.
O processo de montagem tambem serve para o vetor f
(3)
f1 f3
(3)
f2 f4
Um algoritmo geral para a solucao por elementos nitos pode ser escrito como:
do iele = 1, N ELE
NELE # de elementos
call getelem A rotina para calcular a matriz A(iele) (local).
call getelem f rotina para calcular o vetor local f (iele) .
do ilnode = 1, N LOCALN ODES
ignode = DomNodeID (ilnode, iele) # global do n
o ilnode
do jlnode = 1, N LOCALN ODES
jgnode = DomNodeID (jlnode, iele)
A(ignode, jgnode) = A(ignode, jgnode) + Aelem(ilnode, jlnode)
end
end
end
20
Nota : Repare que a entrada A55 da matriz global tem contribuicao de 2 elementos
(elementos 4, 5).
(4)
(5)
A55 = A22 + A11
Isto ocorre, pois:
A55 =
0
3.3
d5 d5
dx =
dx dx
x5
x4
d5 d5
dx +
dx dx
x6
x5
d5 d5
(4)
(5)
dx = A22 + A11
dx dx
No exemplo anterior as funcoes base eram lineares. Cada elemento possuia 2 nos e
conseq
uentemente duas funcoes (uma associada a cada no). Isso porque a funcao i foi
denida tal que :
i (xj ) = i,j ,
ou seja, 1 (x1 ) = 1,
2 (x1 ) = 0,
1 (x2 ) = 0,
2 (x2 ) = 1.
dois pontos denem uma reta i e linear.
21
d1 d1
d
1 d d
2
A3 = (3)
h
1
1
1
d2 d1
d
d d
d3 d1
d
1 d d
1
1
3
2
2
3
5
4
3 4 5 6
5 7 9 11
7 9 11 13
6 8 10 12
1
1
1
1
d1 d2
d
1 d d
d2 d2
d
1 d d
1
d3 d2
d
1 d d
22
d1 d3
d
1 d d
1
1
d2 d3
d
d d
d3 d3
d
d d
A=
(3)
A11 A55
(3)
A12 A57
(3)
A13 A56
...
23
3.4
Problema Unidimensional
P e du
= 0, 0 < x < 1;
dx2
dx
du(0)
= u(0) 1;
dx
u(1) = 0.
Formulacao Fraca (Metodo de Galerkin)
d2 u
du
Ri =
Pe
i dx = 0
dx2
dx
0
1
du
du
du di
du
dx + (1) i (1) (0)i (0) P e
i dx = 0
dx
dx
0 dx dx
0 dx
1
du di
du
du
du
+ Pe
i dx =
(1) i (1) (0) i (0)
dx dx
dx
dx
0
dx
Ri =
0
du di
du
+ Pe
i
dx dx
dx
u(0)1
dx =
du
(1) i (1) (u(0) 1)i (0)
dx
=0
u(x) =
N
Ui i
i=1
Ri =
N
j=1
!
N
di dj
dj
(
Uj j (0) 1 i (0); (i = 1, ..., N )
+ Pe
i )dx Uj =
dx dx
dx
j=1
N
j=1
24
i=1
R1
N
j=1
dj
d1 dj
+ Pe
1 )dx Uj = [U1 1]
(
dx dx
dx
i = 2, ..., N 1
N
1
di dj
dj
Ri
(
+ Pe
i )dx Uj = 0
dx
dx
dx
0
j=1
i=N
RN UN = 0
..
.
...
...
0 0 0 0 0 0 0 1
25
U1
U2
U3
U4
U5
U6
U7
U8
U9
1
0
0
0
0
0
0
0
0
Formulacao Fraca:
(
0
du di
du
+ P e i ) dx = [u(0) 1] i (0) .
dx dx
dx
condic
ao de contorno.
1
dj di
dj
2
(e)
Aij = (e)
d + P e
i d;
h
1 d d
1 d
d
2
= (e) .
dx
h
(e)
fi
= 0.
1
d1
1
=
,
2
d
2
d2
1
1+
(e)
= .
2 () =
2
d
2
(e)
1 () =
1
2
1
1 1
1
= (e)
( ) ( ) d + P e
( ) (
) d =
h
2
2
2
2
1
1
1
1
Pe
2
d
(1 ) d =
= (e)
h
1 4
1 4
1
Pe
= (e)
h
2
e assim por diante...
(e)
A11
Apos obter as matrizes elementares, temos que nos preocupar com as condicoes de
contorno.
Os termos correspondentes a`s condicoes de contorno se anulam em todos os termos
menos no primeiro e no u
ltimo.
i (1) = 0 , so para i = N
i (0) = 0 , so para i = 1.
No primeiro elemento, temos que acrescentar:
1
( ) = [U1 1]
0
N
( ) Uj + U1 = +1
j=1
(1)
(1)
A1,1 = A1,1 + 1
(1)
(1)
f1 = f1 + 1
26
No u
ltimo elemento temos uma condicao de contorno essencial.
U9 = 0 Essa e a equacao que se quer impor.
(8)
(8)
A2,1 0 A2,2 1
(8)
f2 0.
(8)
1
F ()d.
1
F ()d =
N
GP
F ()Wi
i=1
onde N GP e o n
umero de pontos utilizados para a integracao. Quanto maior o n
umero de
pontos, melhor a aproximacao.
A tabela a seguir fornece o valor de i e Wi para diferentes N GP .
i
Wi
0.0
2.0
0.57735
+0.57735
1.0
1.0
0.77459
0.0
+0.77459
0.555
0.888
0.555
N GP
PROJETO #1
2
d u
du
dx2 P e dx = 0
du(0)
= u(0) 1
dx
u(1) = 0
27
eP ex eP e
1 P e eP e
28
aprox.
erro %
SUBROTINE SOLUTION
do iele = 1, N ELE
NELE # de elementos
call getelemA rotina para calcular a matriz A(iele) (local).
call getelemb rotina para calcular o vetor local f (iele) .
call BoundCond rotina para impor condi
co
~es de contorno.
do ilnode = 1, N LOCALN ODES
ignode = DomNodeID (ilnode, iele) # global do n
o ilnode
do jlnode = 1, N LOCALN ODES
jgnode = DomNodeID (jlnode, iele)
A(ignode, jgnode) = A(ignode, jgnode) + Aelem(ilnode, jlnode)
end
end
end
CALL SOLVER
SUBROTINE getelmA
A(e) 0
do igp = 1,NGP
XI = XGP (igp)
CALL BASISFUNC (XI(igp), P HI, DP HIdXI )
vetor
29
Captulo 4
Problema Bi-Dimensional Linear
Vamos considerar o problema 2-D de conducao de calor.
(kT ) = 0; x ,
T = 0; x 1 ,
n T = q; x 2 .
w2 T d = 0 , w V ;
onde:
30
U = {T |T |2 d < ; T (1 ) = 0},
V = {w |w|2 d < ; w(1 ) = 0}.
Desenvolvendo a expressao do resduo ponderado:
Observe que:
d
dT
dw dT
d2 T
w
=
+w 2
dx
dx
dx dx
dx
2
d
dT
dT
dw dT
+
w
,
w 2 =
dx
dx dx dx
dx
usando a mesma idea para duas variaveis:
2
w T
T
2T
w T
T
T
dxdy =
w
+
+
dxdy +
w
+
w
dxdy
x2
y 2
y y
x
y
y
x x
x
w T d = w T d + (wT )d.
f d =
n f d
2
w T d = w T d +
n (wT )d
Dividindo o contorno em dois pedacos e como w|1 = 0 (a funcao peso deve ser identicamente nula ao longo do contorno onde e imposta uma condicao de contorno de Dirichlet)
wn T d =
wn
T d1 +
0
wn
T d2
Formulacao Fraca:
Discretizacao Uh U
w T d +
2
w q d2 = 0
Uh de dimensao N .
Th =
N
j=1
31
Cj j ,
i T d =
Sendo Th =
N
j=1
2
i q d2
N
Cj j , entao, T =
j=1
Cj j :
N
i (
Cj j ) d =
i q d2
j=1
Cj
i j d =
i q d2
2
j=1
N
Aij
bi
Aij cj = bi
i j d
Aij =
bi =
i q d2
2
1 se i = j
0 se i = j
32
( 1)( 1)
4
( 1)( + 1)
2 (, ) =
4
( + 1)( + 1)
3 (, ) =
4
( + 1)( 1)
4 (, ) =
4
(e)
Aij =
i j d
1 (, ) =
(e)
Aij
=
(e)
(e)
i j i j
+
d
x x
y y
i
i
;
x
y
Da mesma forma que no caso 1-D, precisamos de um mapeamento do sistema de coordenada local (, ) para o sistema de coordenadas global (x, y).
Uma vez obtida as matrizes elementares, temos que montar a matriz global. O processo de montagem e analogo ao caso unidimensional. Precisamos da matriz
DomNodeID(ilnode, iele) = n
umero global do no local ilnode do elemento iele.
33
Esta matriz e obtida a partir da numeracao dos elementos e nos usados para dividir o
domnio de calculo. A numeracao tanto dos nos como dos elementos e aleatoria. Como essa
numeracao esta diretamente relacionada com a estrutura da matriz global, e interessante
usar uma numeracao otimizada, que minimize a banda da matriz global.
1 2 3
1 2 3
5 6 7
6 7 8
2 3 4
4 5 6 7 8 9
5 6 7 9 10 11
9 10 11 13 14 15
10 11 12 14 15 16
6 7 8 10 11 12
34
A=
(5)
A1 1 A6 6
(5)
A1 2 A6 10
(5)
A1 3 A6 11
(5)
A1 4 A6 7
...
A estrutura da matriz global e funcao direta da numeracao global dos nos, como ja foi
OTIMIZADO pode levar a uma matriz global com banda alta,
dito. Um esquema NAO
como mostrado na Fig.4.5. Existem diversos algoritmos para otimizar a numeracao dos nos.
Estes metodos nao serao tratados neste curso.
Para calcular elementos da matriz elementar, precisamos calcular as derivadas das
funcoes base com relacao a x e y:
i j i j
(e)
Aij =
+
d
x x
y y
(e)
Mas, a funcao (, ) esta denida em termos de e , logo temos que mudar de
coordenadas e para isso vamos usar um mapeamento que escreva x e y como funcao de e
:
x = x(, ) e
y = y(, ).
MAPEAMENTO ISOPARAMETRICO:
35
Figura 4.5: Dois esquemas de numeracao de nos e suas respectivas matriz global.
Requisitos para mapeamento:
Linhas de contorno do elemento sao mapeadas em linhas de contorno.
Nos globais sao mapeados em nos locais.
Um exemplo de mapeamento muito utilizado e denido por:
x(, ) = 4i=1 Xi i (, )
y(, ) = 4i=1 Yi i (, )
Repare que :
x1 = X1 1 (1, 1) +X2 2 (1, 1) +X3 3 (1, 1) +X4 4 (1, 1) = X1
=1
e assim em diante...
=0
=0
=0
A funcao interpolacao ultilizada no mapeamento e a mesma funcao interpolacao ultilizada para aproximar a funcao T elemento isoparametrico.
EXERCICIO #2:
Mostre que o mapeamento isoparametrico satisfaz a condicao que a imagem da linha
= 1 e mapeada no contorno do elemento entre os nos 3 e 4.
36
= x + y
i x
x
i y
y
i
x
i
y
Jacobiano da Transformac
ao
Logo:
i
x
= J1
i
y
|J| =
x y
; J1 = 1
|J|
y x
.
37
Inverso do Jacobiano
i
x
Assim:
i
=
x
i
=
y
x y
x y
y x
y x
y i y i
x i x i
i=1
i
Xi
;
N
i
Xi
; ...
i j i j
Logo, a integral elementar e
+ y y dxdy pode ser reescrita em funcao das
x x
variaveis locais:
(e)
Aij =
(e)
i=1
i j dxdy =
(e)
Aij
(e)
J1 i J1 j |J| d d
1 1 "
1
i
+( x
+
j
y i
y j
)(
y
)+
#
j
j
x i
1
)( x
+ x
) |J|
dd
y i
(
Como a expressao para o calculo da matriz elementar contem |J| no denominador, por
isso e importante que |J| 0. Se o elemento car muito distorcido isto pode acontecer e a
(e)
precisao do calculo de Aij ca comprometida, como no caso mostrado a seguir:
F (, )dd =
1
N GP I N GP J
igp=1
jgp=1
F (i , j ) wI wJ
NUM.PONTOS
INTEGRAC
AO
PESOS
w
COORDENADAS
linear
22=4
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
-0.57735
+0.57735
-0.57735
+0.57735
-0.57735
-0.57735
+0.57735
+0.57735
quadratico
33=9
0.555
0.888
0.555
0.555
0.888
0.555
0.555
0.888
0.555
0.555
0.555
0.555
0.888
0.888
0.888
0.555
0.555
0.555
-0.77459
0.0
+0.77459
-0.77459
0.0
+0.77459
-0.77459
0.0
+0.77459
-0.77459
-0.77459
-0.77459
0.0
0.0
0.0
+0.77459
+0.77459
+0.77459
39
do igp = 1, N GP
XI = XGP (igp)
W I = W (igp)
do jgp = 1, N GP
N ET A = XGP (jgp)
W J = W (jgp)
W = WI WJ
Calcular fun
co
~es base no ponto de Gauss
i
i
(, ) i = 1, ..., N LOCALN ODES
i (, ), (, ),
LN i
= N
i=1 Xi
N LN
i
= i=1 Xi
LN i
= N
i=1 Yi
N LN
i
= i=1 Yi
Calcular
y
x
Calcular
detJ = x
y
i
i
Calcular
= ...
= ...
x
y
do ilnode = 1, N LOCALN ODES
do jlnode = 1, N LOCALN ODES
A(ilnode,$jlnode) = A(ilnode, %
jlnode)+
j
j
i
i
W x x + y y detJ
end do
end do
end do
end do
Para executar os passos de calculo de forma eciente, pode-se utilizar uma estrutura matricial para armazenar e operar as variaveis. Um exemplo de tal estrutura e descrito a seguir.
i i
Armazenar as funcoes i (, ),
,
da seguinte forma:
1 2
1
P HI(i) =
GradP
HI(i,
j)
=
3
1
2
X1
X2
X3
X4
Y1
Y2
Y3
Y4
1
y
2
y
3
y
4
y
1
|J|
1
x
2
x
3
x
4
x
1
y
2
y
3
y
4
y
41
end do
EXERCICIO # 3
Escreva a rotina BASISFUNC 1 para elementos bi-lineares e BASISFUNC 2 para elementos quadraticos.
EXERCICIO # 4
Escreva a rotina MAPPING indicada no algoritmo acima.
42
Captulo 5
Problema N
ao Linear
Vamos considerar o seguinte problema uni-dimensional:
du
d2 u
u = 0;
x = 1.
du d2 u
Ri =
u + 2 + f i dx = 0
dx dx
0
1
du di
du
du
du
dx + (1) i (1) (0) i (0) +
u i dx +
f i dx = 0,
dx
dx
dx
0 dx dx
0
0
=0
=0
1
du
du di
u i dx +
f i dx = 0.
Ri =
dx +
dx
0 dx dx
0
0
Ri =
0
N
1
dj di
Cj
dx +
dx dx
j=1
N
N
Cj j
j=1
j=1
Cj j (x):
N
dk
Ck
dx
k=1
i dx +
f i dx = 0.
0
1
N
N
"
1 d d
#
1
dk
j
i
j i dx =
Cj
Ck
f i dx.
dx +
dx dx
dx
0
0
0
j=1
k=1
bi
Aij
43
5.1
Solu
c
ao de problema n
ao-linear com uma vari
avel
O metodo mais simples de determinar a raiz desta equacao e conhecido como Metodo de
Picard.
METODO
DE PICARD:
A funcao f (x) e reescrita como f (x) = x g(x). A solucao do problema, x , satisfaz a
equacao x = g(x ).
x0 chute inicial
Repetir at
e |xn+1 xn | <
xn+1 = g(xn )
44
METODO
DE NEWTON:
O procedimento iterativo e determinado atraves da expansao da funcao f (x) em serie
de Taylor ao redor da solucao x .
f (x ) = f (x + x) f (x) + xf (x) = 0
x = x x =
f (x)
f (x)
x = x .
f (x)
f (x)
x0 chute inicial
Repetir at
e |xn+1 xn | <
n)
xn+1 = xn ff(x
(xn )
45
46
1
f (x ) = 0 = f (xn ) + (x xn )f (xn ) + (x xn )2 f (); (xn , x )
2
1
2
(x
x
)
f
()
f (xn )
n
+ (x xn ) = 2
f (xn )
f (xn )
1
(x xn )2 f ()
f (xn )
2
=
x xn
f (xn )
f (xn )
xn+1
x xn+1 = n+1 =
1 2
f ()
2 n
f (xn )
1 f ()
n+1 = 2n
.
2 f (xn )
1 2 f (x )
= n ,
2 f (x )
n+1
= C n+1 = C 2n .
n 2
n
lim
Por exemplo, se na quarta iteracao, a aproximacao x4 estiver perto da solucao do problema e 4 = 103 , pela prova acima, 5 = 106 e 6 = 1012 .
5.2
Sistema de Equa
c
oes N
ao-Lineares
i = 1, ..., n.
METODO
DE PICARD:
Como no caso de uma equacao apenas, cada expressao do sistema deve ser reescrita
como
xi = gi (x1 , x2 , x3 , ..., xn );
i = 1, ..., n.
(0)
(0)
Repetir at
e |x(k+1) x(k) | <
(k+1)
(k)
(k)
(k)
xi
= gi (x1 , x2 , ..., xn ); i = 1, ..., n
As propriedades de convergencia sao similares as do caso com uma variavel. O procedimento iterativo converge se:
D(x) 1;
Dij =
gi
.
xj
METODO
DE NEWTON:
Como no caso de uma equacao apenas, cada expressao do sistema deve ser desenvolvida
por serie de Taylor ao redor da solucao do problema x = (x1 , x2 , ..., xn ):
(k)
(k)
(k)
f1
f1
f1
(x1 x1 ) + x
(x2 x2 ) + ... + x
(xn xn ) = 0;
f1 (x ) = f1 (x(k) ) + x
n
1
2
x1
x2
xn
fi
.
xj
(0)
(0)
48
5.3
M
etodo de Newton aplicado a uma Equa
c
ao Diferencial n
ao linear
1
du
du di
Ri =
u i dx +
f i dx = 0.
dx +
dx
0 dx dx
0
0
A solucao pelo Metodo de Newton leva ao seguinte processo iterativo
J(C(k+1) ) = R(C(k) ),
C(k+1) = C(k) + C(k+1) .
Os elementos da matriz Jacobiana, J, representam a sensibilidade da equacao a cada
incognita do problema.
1
#
du di
Ri
"
du
Ji,j =
Ri =
=
u i dx +
f i dx
dx +
Cj
Cj
dx
0 dx dx
0
0
1
du
du
du
di
(u) + u
dx +
i dx.
Ji,j =
dx
Cj
dx
Cj dx
0 dx Cj
0
A derivada da funcao u e de sua derivada du
em relacao aos coecientes Cj sao calculados
dx
da seguinte forma:
N
(u) =
Ck k =
(C1 1 + ... + Cj j + ... + CN N ) = j ,
Cj
Cj k=1
Cj
Cj
du
dx
=
Cj
N
dk
Ck
dx
k=1
=
Cj
d1
dj
dN
+ ... + Cj
+ ... + CN
C1
dx
dx
dx
dj
.
dx
Logo, os elementos da matriz Jacobiana para este problema sao dados por:
1
dj
dj di
du
Ji,j =
j
dx +
+u
i dx.
dx
dx
0 dx dx
0
O algoritmo de solucao de um problema nao linear pelo metodo de elementos nitos
acoplado com o metodo de Newton pode ser escrito como mostrado a seguir:
Ler Chute inicial C(0)
49
do iter = 1, N IT ER
CALL FORMRV (C(iter1) )
Rotina para c
alculo do vetor res
duo global
CALL FORMJM (C(iter1) )
Rotina para c
alculo da matriz Jacobiana global
Resolver o sistema JC = R
C(iter) = C(iter1) + C
Erro = |R| + |C|
if Erro < then STOP (Problema Convergiu)
end do
OBSERVAC
OES
IMPORTANTES:
A cada passo do metodo de Newton, o sistema linear de equacoes JC = R deve
ser resolvido.
Se o problema for linear, o metodo de Newton converge em uma iteracao.
A visao elementar do problema ca inalterada. No lugar de calcular a matriz e o vetor
elementar A(e) e b(e) , deve-se calcular a matriz jacobiana elementar J(e) e o vetor resduo
elementar R(e) .
5.4
No
c
oes de T
ecnicas de Continua
c
ao
50
+
=0 J
=
x d
d
J
f
dx
f
1
=J
x = J1 .
d
Logo, o valor do chute inicial para = i+1 e obtido pela seguinte expressao:
f
.
Observe que se o metodo de Newton tiver sido utilizado para obter a solucao do problema
nao linear para = i , o custo computacional do calculo do chute inicial e bem pequeno,
uma vez que a matriz Jacobiana ja foi invertida para o calculo de x(i ).
A Figura 3.3 ilustra o chute inicial obtido com os dois procedimentos de continuacao
descritos nesta secao.
x(o) (i+1 ) = x(i ) J1
51
Figura 5.3: Chute inicial obtido com continuacao de ordem zero e primeira ordem.
52
Captulo 6
Formula
c
ao Integral da Equa
c
ao de
Navier-Stokes
A equacao de Navier-Stokes para uidos incompressveis :
u u = T, (em regime permanente);
u = 0;
(6.1)
(6.2)
Esta e uma condicao de contorno essencial. Corresponde a`s condicoes de impermeabilidade e nao deslizamento.
u n = V n impermeabilidade,
u t = V t nao deslizamento.
Para x 2 , vamos prescrever a forca supercial
n
T = f
em x 2 .
(6.3)
trac
ao
Esta e uma condicao de contorno natural. Prescreve a forca na fronteira. A forca prescrita f depende da fsica do problema.
Para resolver este sistema de equacoes diferenciais parciais pelo metodo dos resduos ponderados, temos que multiplicar o resduo da aproximacao de cada equacao por um funcao
peso e forcar a integral ao longo de todo o domnio a ser nula.
Rm = { u u T} W d = 0;
{ u}w d = 0.
Rc =
54
{ u u T} W d =
=
(u u) Wd ( T) W d.
Rm =
O termo T apresenta segunda derivadas da velocidade (variavel primitiva do problema). Vamos integrar por partes para transferir a derivada para a funcao peso, conforme
ja feito anteriormente, usando a seguinte igualdade tensorial:
T : W = (T W) ( T) W
( T) W d =
T : W + (T W) d.
Usando o teorema de Gauss podemos escrever: (T W) d = n (T W) d
logo,
( T) W d =
T : W +
n (T W) d.
Finalmente:
(u u) W +
Rm =
T : W
(n T) W d.
Tyx =Txy
Tyy
3) (n T) W = fx W1 + fy W2 .
Cada componente da funcao peso vetorial pode ser escrita como combinacao linear de
funcoes base escalar i . Se cada componente W1 e W2 pertence a um espaco vetorial de
55
W1
W2
1
0
Espacos de dim=2n
,
2
0
, ... ,
n
0
0
0
0
,
, ... ,
.
,
2
n
1
n func
oes
n func
oes
Denindo o espaco das funcoes peso desta forma, as componentes da equacao de conservacao podem ser desacopladas, pois para as primeiras n funcoes base aparecem termos
ltimas n
correspondentes a` primeira componente da velocidade, ja que W2 = 0 e para as u
funcoes base aparecem temos correspondentes `a segunda componente da velocidade, ja que
para estas funcoes base W1 = 0.
Usando o fato do uido Newtoniano, ou seja, T = pI + [u + uT ], as 2n equacoes
algebricas associadas a` equacao de conservacao da quantidade de movimento sao escritas
como:
u
u
i
u
=
i u
+v
+
p + 2
+
x
y
x
x
u v
i
i fx d ; i = 1, ..., n.
(
+
) d
+
y
y x
i
Rmx
v
v
i
u v
=
i u
+v
+
(
+
) +
x
y
x
y x
v
i
i fy d ; i = 1, ..., n.
p + 2
d
+
y
y
i
Rmy
Rc = { u}w d = 0.
u v
i
+
) i d ; i = 1, ..., m.
Rc = (
y
x
Os campos de velocidade e pressao devem ser escritos em termos de funcoes base. Os
diferentes termos dos resduos associados a equacao de conservacao de quantidade de movimento contem pressao ou derivadas da velocidade. Como estes termos devem ter a mesma
56
precisao de discretizacao, as funcoes bases utilizadas para pressao nao precisam ser da
mesma ordem que as usadas para o campo de velocidade. Quando os dois campos de
variaveis pertencem a espacos diferentes, diz-se que a Formulacao e Mista (Mixed Finite
Element).
As variaveis do problema sao escritas em termos de funcoes base como:
n
U
u
i
i
i=1
2 n incognitas;
u=
= n
v
i=1 Vi i
p=
m
Pi i m incognitas.
i=1
Repare que a funcao peso ultilizada na equacao de continuidade e a mesma funcao ultilizada para interpolar a pressao (i ) e assim o n
umero de incognitas (2n + m) e o mesmo
que o n
umero de equacoes.
Como a formulacao nao apresenta derivadas da pressao ou da funcao peso i , o espaco
das funcoes i pode ser menor que o das funcoes i ultilizadas para interpolar a velocidade
ser descontnuas. As funcoes i s devem ser contnuas,
(m < N ) e as funcoes
i s podem
2
pois tem que satisfazer |i | < . Nao existe essa restricao para i s.
Nao e qualquer combinacao arbitraria de i s e i s que leva a formulacoes com bom
desempenho numerico. Uma ma escolha de i s e i s pode levar a metodos instaveis.
Um exemplo simples de um dos problemas que podem ocorrer e discutido a seguir. Para
facilitar a interpretacao geometrica, vamos analisar um problema de elasticidade linear
de materiais incompressveis. As equacoes que descrevem o problema sao identicas ao do
problema de Stokes (Re = 0), sendo u o deslocamento.
T=0 ;
u = 0.
Vamos considerar a situacao de dois elementos triangulares, como mostrado na Figura
4 e funcoes base i linear e i constante.
( u) i d = 0
u d = 0
(e)
(e)
cte
A condicao de incompressibilidade com i constante leva a uma condicao de area constante em todos os elementos.
u d = 0. Area
do elemento I e constante.
I
u d = 0 Area
do elemento II e constante.
II
57
quadratico (n = 4)
c
ubico (n = 4)
linear (m = 3)
quadratico (m = 6)
Existe uma condicao que determina se uma certa combinacao de espacos de funcoes para
DE BABUSKA-BREZZI.
a velocidade e pressao e valida CONDIC
AO
A condicao de Babuska-Brezzi verica a consistencia das aproximacoes das derivadas.
A interpolacao de u e p nao podem ser escolhidas arbitrariamente.
i ; i
sup
i i d
1
{ |i |2 d} 2
1
c { 2i d} 2
9
i=1
p=
Ui i
Vi i
m
i=1
1 (, ) =
( 1)( 1)
4
59
( + 1)( 1)
4
( + 1)( + 1)
3 (, ) =
4
( 1)( + 1)
4 (, ) =
4
2
(1 )( 1)
5 (, ) =
2
( + 1)(1 2 )
6 (, ) =
2
2
(1 )( + 1)
7 (, ) =
2
( 1)(1 2 )
8 (, ) =
2
9 (, ) = (1 2 )(1 2 )
2 (, ) =
61
grau de liberdade
U1
U2
..
.
4
5
6
7
8
9
10
11
12
U8
U9
V1
V2
..
.
13
14
15
16
17
18
19
20
21
V8
V9
P1
P2
P3
..
.
(9) = 9
ivylocaldof (1) = 10
(2) = 11
..
.
(9) = 18
ipresslocaldof (1) = 19
ipresslocaldof (2) = 20
ipresslocaldof (3) = 21
Algoritmo para c
alculo de A(e)
do igp = 1, N GP
XI = XGP (igp)
W I = W GP (igp)
do jgp = 1, N GP
N ET A = XGP (jgp)
W J = W GP (jgp)
W = WI WJ
CALL BASISFUNC (XI, N ET A, P HI, GradP HI, P SI)
CALL MAPPING (XY, P HI, GradP HI, JAC, JACIN V, detJ)
GradP HI XY = JACIN V GradP HI
v
v
, u
, v, x
, y
.
Calcular u, u
x
y
do ilnode = 1, 9
ivx = ivxlocaldof (ilnode)
ivy = ivylocaldof (ilnode)
do jlnode = 1, 9
jvx = jvxlocaldof (jlnode)
jvy = jvylocaldof (jlnode)
JacElem(ivx,jvx) = ...
JacElem(ivx,jvy) = ...
JacElem(ivy,jvx) = ...
JacElem(ivy,jvy) = ...
end do
do jpress = 1, 3
jpress = ipresslocaldof (jlpress)
JacElem(ivx,jpress) = ...
JacElem(ivy,jpress) = ...
63
end do
do jpress = 1, 3
jpress = jpresslocaldof (ilpress)
do jlnode = 1, 9
jvx = ivxlocaldof(jlnode)
jvy = ivylocaldof(jlnode)
JacElem(ipress, jvx) = ...
JacElem(ipress,jvy) = ...
end do
end do
Final do algoritmo JacElem (21 21)
Precisamos agora montar a matriz global. Vamos fazer esse processo para umas malha
simples com 4 elementos.
EXEMPLO
*FIG
Malha com 4 elementos e 25 nos.
Nos A numeracao global segue de acordo com a numeracao DomNodeID (ilnode, iele)
dos elementos.
DomNodeID
ilnode iele
1
2
3
4
5
6
7
8
9
1
1
2
3
4
5
6
7
8
9
2 3
4 2
3 16
10 17
11 3
7 18
12 19
13 20
14 6
15 21
4
3
17
22
10
20
23
24
12
25
ildof iele
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
4
3
22
23
7
24
25
26
27
13
12
28
29
16
30
31
32
33
34
35
36
3
2
37
38
3
39
40
41
6
42
11
43
44
12
45
46
47
15
48
49
50
51
4
3
38
52
22
41
53
54
24
55
12
44
56
28
47
57
58
30
59
60
61
62
METODO
DE NEWTON
C(k+1) = C(k) + C
PROGRAMA PRINCIPAL
CALL FormJM J
- Resolver JC = R
CALL SOLVER (J, R, C)
- Calcular C = C + C
- Calcular o vetor Res
duo global
CALL FormRV R
Gravar a solu
ca
~o C
FormRV C
alculo do vetor de Res
duo global
do iele = 1, N ELE
CALL getelemRV ( elemRV )
do ildof = 1, N DOF ELE
igdof = ASSMtrx (ildof, iele)
RV (igdof ) = RV (igdof ) + elemRV (ildof )
end do
end do
FormJM C
alculo da matriz jacobiana global
do iele = 1, N ELE
CALL getelemJM ( elemJM )
do ildof = 1, N DOF ELE
igdof = ASSMtrx (ildof, iele)
do jldof = 1, N DOF ELE
jgdof = ASSMtrx (jldof, iele)
JM (igdof, jgdof ) = JM (igdof, jgdof ) + elemJM (ildof, jgdof )
end do
end do
end do
u v
i
(
+
) d
+
y
y x
i
Rmx
66
v
v
i
u v
=
Re i u
+v
+
(
+
) +
x
y
x
y x
v
i
p + 2
d
+
y
y
i
Rmy
u u
+
) i d
x
x
Lembrar que vamos usar um mapeamento isoparametrico para transformar as coordenadas x, y em , .
F (x, y) dxdy =
F (, ) |J| dd.
Rci
F (, ) dd =
F (igp , jgp ) Wigp Wjgp .
igp jgp
Estrutura de Dados:
Denir os seguintes vetores / matrizes:
1
GradP HI(i, j)
2
P HI(i)
i = 1, 2
P HI
..
i = 1, ..., 9
.
j = 1, ..., 9
9
P SI(i)
i = 1, 2, 3
P SI
velocity(i, j)
i = 1, 2
j = 1, ..., 9
1
2
3
velocity
GradP HI XY
JAC
dx
d
dx
d
dy
d
dy
d
1
dx
1
dy
!
=
1
d
1
d
67
XY
X1 . . . X9
Y 1 . . . Y9
1
d
1
d
...
9
d
...
9
d
pressure(i)
i = 1, 2, 3
=J
...
...
9
d
9
d
1
d
1
d
...
...
pressure
9
d
9
d
X1 Y1
..
...
.
X9 Y9
9
dx
9
dy
...
...
GradP HI
XY (i, j)
i = 1, 2
j = 1, ..., 9
U1 . . . U9
V1 . . . V9
P1
P2
P3
UV =
P =
U
V
GradU V XY
=
du
dx
du
dy
dv
dx
dv
dy
U1 . . . U9
V1 . . . V9
P1 P2 P3
=
1
dx
1
dy
...
...
...
9
1
2
3
9
dx
9
dy
U1 V1
..
...
.
U9 V9
getelemRV C
alculo do Res
duo elementar
do igp = 1, N GP
XI = XGP (igp)
W I = W GP (igp)
do jgp = 1, N GP
N ET A = XGP (jgp)
W J = W GP (jgp)
W = WI WJ
CALL BASISFUNC (XI, N ET A, P HI, GradP HI, P SI)
CALL MAPPING (XY, P HI, GradP HI, JAC, JACIN V, detJ)
CALL VELOCITY (velocity, P HI, U V )
CALL PRESSURE (pressure, P SI, P )
GradP HI XY = JACIN V GradP HI
GradU V XY = GradP HI XY U V T
do ilnode = 1, 9
ivx = ivxlocaldof (ilnode)
ivy = ivylocaldof (ilnode)
elemRV (ivx) = elemRV (ivx) + W detJ (Re P HI(ilnode)
(U V (1) GradU V XY (1, 1) + U V (2) GradU V XY (1, 2))+
GradP HI XY (1, ilnode) (P (1) + 2 GradU V XY (1, 1))+
GradP HI XY (2, ilnode)(GradU V XY (1, 2)+GradU V XY (2, 1)))
end do
end do
end do
68
i
Rmx
Uj
i
Rmx
Vj
i
Rmx
Pj
i
Rmy
Uj
i
Rmy
Vj
i
Rmy
Pj
Rci
Uj
Rci
Vj
Rci
Pj
i
j
j
Rmx
u
i j
=
+u
+v
+
Uj
x
x
y
e
i
j
i j
+
2
+
de ;
x
x
y y
i
Rmx
=
Vj
i
Rmx
=
Pj
i j
u
i j
+
de ;
y
y x
e
i
i de .
x
i
Jacobiano de Rmy
:
69
i
Rmy
=
Uj
i j
v
i j
+
de ;
x
x y
e
i
Rmy
j
j
v
i u
=
+ j
+v
+
Vj
x
y
y
e
i j
i j
+
+ 2
de ;
x x
y y
i
Rmy
=
Pj
i
i de .
y
Jacobiano da Continuidade :
Rci
=
Uj
Rci
=
Vj
j
i de ;
x
j
i de ;
y
Rci
= 0.
Pj
O mapeamento da matriz elementar para a matriz global e feito de maneira semelhante
aos problemas anteriores. A diferenca e que agora cada no possui mais de 1 grau de liberdade. As linhas e colunas da matriz elementar estao associadas ao grau de liberdade e nao
aos nos. Nos exemplos dos captulos anteriores, as duas numeracoes eram coincidentes. O
mapeamento deixa de ser por nos (usando a matriz DomN odeID) e passa a ser por graus
de liberdade.
Defne-se a matriz:
AssM tx(ildof, iele) = # global do grau de liberdade local ildof do elemento iele
Apos a montagem de todas as matrizes elementares, a matriz jacobiana global ca com
a seguinte forma:
i
Rmx
Uj
i
Rmx
Vj
i
Rmx
Pj
i
Rmy
Uj
i
Rmy
Vj
i
Rmy
Pj
Rci
Uj
Rci
Vj
Rci
Pj
=0
70
CT
+
,
u u = [p + (u + uT )] w d = 0;
Rm =
Rc =
{ u p} m d = 0;
71
u=
9
Ui i ;
v=
i=1
9
Vi i ;
i=1
p=
m
Pi i .
i=1
u
v
i
Rc =
+
p i d;
y
x
j
Rci
=
i d;
Uj
x
j
Rci
=
i d;
Vj
y
Rci
=
i j d.
Pj
K
CT
onde Mij =
i j d.
A diferenca para a formulacao mista usual e que o bloco de zeros na diagonal e substituido por M.
Como M possui inversa, pode-se desacoplar a velocidade e pressao:
CT
U
=
P
Rm
Rc
K U C P = Rm
CT U + M P = Rc P =
1
M1 [Rc CT U].
Substituindo-se P em funcao de U, pode-se chegar a um sistema de equacoes somente para o passo de velocidade:
72
K U C
[K +
1
+1
,
M1 (Rc CT U) = Rm
C M1 CT ] U = Rm
1
C M1 Rc
K+
1
CM
CT
U
=
P
73
Rm
Rc
1
CM
Rc
.
Captulo 7
Condi
c
oes de Contorno
As condicoes de contorno de um problema em mecanica dos uidos podem ser de 2 tipos:
Condicao de contorno em velocidade (Dirichlet) : Especica o valor da velocidade
ou de um de seus componentes na fronteira do domnio.
Condicao de contorno em tracao (Newman) : Especica a forca ou um de seus componentes na fronteira do domnio.
As diversas situacoes fsicas de interesse se enquadram nestas categorias:
i) Paredes solidas condicao de nao deslizamento e impermeabilidade.
u = Vx ,
impermeabilidade n v = n V
v = Vy ;
nao deslizamento t v = t V;
onde t e o vetor tangencial, n o normal a` parede e V a velocidade da parede.
ii) Condicao de entrada do domnio considera-se um perl de velocidade conhecido.
Por exemplo, perl parabolico:
u = u(y),
v = 0.
74
Ft = 0 forca tangencial = 0,
v = 0 velocidade vertical = 0.
y
Linha de simetria
x
Ft = 0 t (T n) = 0,
v n = 0.
Ft = t (T n) = 0,
Fn = n (T n) = 0.
75
v) Condicao em interfaces.
ar
n
t
liquido
tens
ao supercial
nT=
dt
+ n
ds
press
ao atm
pa
curvatura
n (T n) = K
t (T n) = 0.
+ pa ,
Figura 7.6: no 7.
A condicao de contorno e:
76
velocidade horizontal u = 1 u 1 = 0,
velocidade vertical v = 0.
Ri
,
Uj
note que:
J7j = 0, para j = 7 e J77 =
J16j = 0, para j = 16 e J16
16
R7
= 1,
U7
=
R16
= 1.
V7
A procedimento usual e calcular os resduos e as jacobianas elementares independentemente das condicoes de contorno. Se o elemento pertencer a` fronteira do domnio, impoe-se
a condicao de contorno. Se a condicao for de Dirichlet, o resduo associado ao grau de
liberdade e substituido por: Ri = Ui U e a linha da matriz jacobiana associada ao grau
de liberdade e zerada a menos do elemento da diagonal, que e substituido por 1.
No caso do exemplo anterior, onde a condicao de contorno e de Dirichlet, para o elemento 2, a matriz jacobiana ca:
0 0 1 0
0 0 0 1
..
.
...
...
...
...
...
...
0
0
..
.
...
77
2
5
{Re u u T} W d =
=
Re (u u) W + T : W n (T W) d.
Rm =
u
u
i
u
=
Re i u
+v
+
p + 2
+
x
y
x
x
i u v
(
+
) d
+
i (n T)x d.
y
y x
i
Rmx
v
v
i u v
=
Re i u
+v
+
(
+
) +
x
y
x y x
v
i
i (n T)y d.
p + 2
d
+
y
y
i
Rmy
Observe que a integral i (n T)x/y d so sera calculada para os elementos da
fronteira do domnio onde a condicao de contorno de Newman e imposta, pois nos elementos
internos nao temos que nos preocupar com a integral ao longo da fronteira do domnio e
nos elementos da fronteira onde a condicao de Dirichlet e imposta o resduo ponderado e
substituido da forma mostrada anteriormente.
Assim, quando a condicao e de Newman e o elemento esta na fronteira, o valor do
integrando (n T)x ou (n T)y vem da condicao de contorno a ser imposta. Por exemplo,
no caso da tracao nula:
(n T)y = 0;
(n T)x = 0,
no caso de interface:
(n T)x =
dtx
+ nx pa,
ds
(n T)y =
78
dty
+ ny pa.
ds
(u)
= p + u + (
u)
2
=0
= p + u
2
Pode ocorrer condicoes de contorno na sada do escoamento que nao representem uma
forca, apenas sao a derivada da velocidade; como no caso do escoamento desenvolvido, que
a condicao de contorno pode ser escrita como n u = 0.
u
u
nx x + ny y = 0,
Em coordenadas cartesianas:
v
v
nx x
+ ny y
= 0.
***Fig de uma fronteira sintetica
A posicao da fronteira de sada do escoamento e arbitraria. Ela deve ser colocada de
forma que o escoamento na regiao de interesse seja independente de sua posicao (uma
maneira de saber se a fronteira esta o mais proximo possvel, por causa de tempo computacional, mas ja com o escoamento desenvolvido, e avaliar um parametro especco).
Esta condicao sera imposta de uma forma natural:
R = ( ) d i (n T) d,
(?)
n T = n [p I + u + uT ] = p n + n u + n uT ,
79
( ) d
R=
i [p n + n
u +n uT ] d.
0
R = ( ) d i [p n + n uT ] d,
( ) d
Rmx =
u
v
+ ny ].
x
x
i [p ny + nx
u
v
+ ny ].
y
y
( ) d
Rmy =
i [p nx + nx
v
v
, u
, y
na fronteira nao sao conhecidos e as exObserve que os valores de p , u
x
y x
pressoes em termos das funcoes base devem ser usadas no calculo da integral de linha, isto e:
p=
Pj j ,
u
x
j
x
Uj , ...
CALCULO
DA INTEGRAL DE LINHA
i ( ) d :
(n T)x d,
2
R11 = R11 +
(n T)x d,
3
R12 = R12 +
6 (n T)x d,
R15 = R15 +
80
2 (n T)y d,
3 (n T)y d,
6 (n T)y d.
= 1, ) d d,
F(
F(x, y) d =
d
1
-
2
2
dx
dy
d
=
+
.
onde,
d
d
d
Como o valor de esta xo, a funcao so varia com , assim, a intergracao em coordenadas locais e ao londo da direcao .
2 (n T)x d =
Logo,
3
i (GP ) {pnx + nx
IGP =1
u
v
d
+ ny }GP
WGP .
x
x
d
DE CONTORNO DE PRESSAO
CONDIC
AO
Observe que nas equacoes so aparecem as derivadas de pressao e portanto o nvel de
pressao deve ser xado nas condicoes de contorno ou articialmente.
Re u u = P + . . .
Se P satisfaz a equacao de Navier-Stokes, P1 = P + P0 , com P0 constante, tambem satisfaz,
pois, P1 = P + P0 P1 = P.
0
Exemplos:
1) Para problemas com superfcie livre (interface), o nvel de pressao e especicado automaticamente na condicao de contorno da interface:
**Pode ter uma g para ilustrar...
nT=
dt
+ n Patm .
ds
2) A pressao pode ser tambem especicada nas fronteiras de entrada e/ou sada do
escoamanto. Neste caso, o termo de pressao que aparece na integral de linha nao deve ser
calculado e sim especicado. Por exemplo, se a pressao na fronteira for especicada P , a
tracao e igual a:
n T = P n + n u + n uT ,
81
i (n T)x d =
.
/
i P n + n u + n uT x d.
3) No caso de um escoamento sem entrada e nem sada (como o projeto 2), deve-se
especicar o nvel de pressao de um ponto do escoamento. Os resduos associados aos graus
de liberdade de pressao correspondem aos resduos de continuidade. Logo, para especicar
o valor da pressao de um dado elemento, R19 passa a ser R19 = P1 P e J19j = 0, para
j = 19 e J1919 = 1.
**Pode ter uma g para ilustrar...
82
Captulo 8
Problema de Valor Inicial - Regime
Transiente
Vamos comecar analisando o problema de conducao em regime transiente.
u
t
2u
,
x2
u(x, 0) = u0 (x),
condicao inicial.
u
(0, t)
x
= 0.
u
(1, t)
x
condicao de contorno.
Vamos usar a expansao por elementos nitos somente para descrever a variacao de u no
espaco, enquanto que na discretizacao do tempo usaremos diferencas nitas.
u(x, t) =
N
i=1
u
u
i (x)
U i (t)i (x) ;
Ui (t)i (x)
Ui (t)
(x, t) =
(x, t) =
.
t
x
x
i=1
i=1
N
Pode-se tambem utilizar o metodo de elementos nitos para discretizar no tempo, porem
existem poucas evidencias de alguma vantagem.
1
Ri =
[ut uxx ] i dx = 0
0
Ri =
[ut i + ux ix ] dx = 0.
0
Ri =
N
j=1
j=1
U j j i +
N
U j jx ix
dx,
j=1
j i dx Uj +
jx ix dx Uj ,
0
Kij
Mij
N
Mij U j Kij Uj ,
j=1
= KU U
= M1 K U.
MU
M e comumente denotada matriz Massa.
A representacao geral para um problema de valor inicial e :
= f (t, U) ; U(0) = U0 .
U
METODOS
EXPLICITOS f e calculada no tempo anterior, logo e conhecida
(metodo bastante simples, porem instavel).
METODOS
IMPLICITOS f e calculada no instante presente, logo e desconhecida.
Uma outra classicacao usual e devido a`s informacoes utilizadas na integracao do tempo:
Passo-Unico
Toda a informacao utilizada esta no intervalo tn , tn+1 .
Multi-Passo Usa-se mais de uma solucao em tempos anteriores para aproximar a
solucao em tn+1 .
84
METODOS
DE PASSO UNICO
Metodos Explcitos
Diferenca a frente
du
un+1 un
Metodos Implcitos
Diferenca `a Re (Backward Dierence).
du
un+1 un
METODOS
MULTI-PASSO
Formula Geral: un+1 =
k1
i=0
i uni + tn
k2
i=0
i f (un+1i , tn+1i ).
Metodos Explcitos
Adams-Bashforth (ordem q)
un+1 = un + tn+1
q1
i=1
85
i f (un+1i , tn+1i ).
Adams-Moulton
un+1 = un + tn+1
q1
i f (un+1i , tn+1i ).
i=0
Problema modelo:
y = y,
y(0) = y0 .
Solucao analtica: y = y0 et .
Usando que
y(t) = y0 et ,
y(t + 1) = y0 e(t+1) ,
e fazendo
y(t+1)
y(t)
(8.1)
(8.2)
Erro : n = y(tn ) yn
n+1 = y(tn+1 ) yn+1
Substituindo y(tn+1 ) e yn+1 em n+1 e ainda somando e subtraindo (1 t) y(tn ), temos:
n+1 = et y(tn ) (1 t) yn + (1 t) y(tn ) (1 t) y(tn )
n+1 = (1 t) [y(tn ) yn ] +[et (1 t)] y(tn )
n
|n+1 |
|n |
= |1 t| < 1.
FORMULAC
AO
A A RE
Problema Linear:
Ri =
0
du
dt
d2 u
,
dx2
u(x, t = 0) = u0 (x),
du
(x
dx
du
(x
dx
= 0, t) =
du d2 u
[ 2 ] i dx =
dt
dx
u(x, t) =
N
= 1, t) = 0.
du
du dphii
i +
dx.
dt
dx dx
Uj (t)j (x).
j=1
j=1
0
(n+1)
[Uj
j i dx
(n)
Uj ] +
j=1
Mij
0
dj di
(n+1)
= 0.
dx Uj
dx dx
Kij
1
M[U(n+1) U(n) ] = K U(n+1)
t
1
[ t
M K]U(n+1) =
1
t
M U(n) ()
du
dt
+u
du
dx
d2 u
,
dx2
u(x, t = 0) = u0 (x),
du
(x
dx
Ri =
= 0, t) =
[
0
du
(x
dx
= 1, t) = 0.
du
du d2 u
] i dx
+u
dt
dx dx2
87
[
0
du
du
du di
i + u
i +
] dx.
dt
dx
dx dx
u(x, t) =
N
Uj (t)j (x).
j=1
Ri =
0
N
1
j=1
(n+1)
[Uj
(n)
Uj ]
j i +
N
(n+1)
Uj
j=1
N
(n+1) dj di
dk
Uj
i +
dx
dx dx
j=1
N
(n+1)
Uk
k=1
Ri
(j+1)
Uj
(j+1)
Uj
= Rj ,
Uj
1
=
t
0
1
u(n+1)
j i
j
j i dx +
u(n+1)
i +
j i +
dx
x
x
x x
0
M
1
( t
M + J) U(j+1) = R (U(n+1) , U(n) ),
88