Você está na página 1de 82

Captulo 1

Introducao

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:

Resolver: x du
dx
+ u = 0, para 0 < x < 1,
c.c: u(0) = 1.

A solucao sera aproximada atraves do calculo do valor da funcao em um numero finito


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 U 3
= .
dx x4
2x

A equacao diferencial no ponto x4 e aproximada como:



U5 U 3 x4 x4
x4 + U4 = 0 U3 + U 4 + U5 = 0.
2x 2x 2x

1
Figura 1.1: Aproximacao da derivada da funcao por diferencas finitas.

O resultado deste procedimento sera um sistema linear N N , onde as incognitas sao os


valores de U nos N nos.

(ii)Metodos Variacionais: A solucao aproximada e escrita como combinacao linear de


funcoes base apropriadamente escolhidas:
N
X
u(x) = ci i .
i=1

Os coeficientes 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. PN
A simples substituicao da aproximacao u(x) = i=1 ci i na equacao diferencial nao
garante a obtencao de N (numero de coeficientes ci ) equacoes algebricas linearmente inde-
pendentes, 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 as condicoes de contorno:
du
u(0) = 1 ; (x )x=1 = 0.
dx

2
Solucao aproximada na forma:

2
X
u(x) = 0 (x) + ci i (x),
i=1
onde as funcoes base escolhidas sao:
0 (x) = 1,
1 (x) = x2 2x,
2 (x) = x3 3x.

Precisamos encontrar os coeficientes c1 e c2 , o problema possui 2 incognitas. Entao


substituindo 0 , 1 e 2 , a solucao aproximada torna-se:

u(x) = 1 + c1 [x2 2x] + c2 [x3 3x], derivando


du(x)
= 2c1 x 2c1 + 3c2 x2 3c2 .
dx
Observe que as condicoes de contorno sao satisfeitas para qualquer valor de c1 e c2 , que
devem ser determinados de forma que a aproximacao satisfaca a equacao diferencial em
algum sentido.
Obrigando a solucao aproximada a satisfazer a equacao diferencial no sentido exato, isto
e, em todos os pontos do domnio:

d
{x[c1 (2x 2) + c2 (3x2 3)]} + 1 + c1 (x2 2x) + c2 (x3 3x) = 0,
dx
2c1 (x 1) 3c2 (x2 1) 2c1 x 6c2 x2 + c1 (x2 2x) + c2 (x3 3x) + 1 = 0,
1 + 2c1 + 3c2 + (6c1 3c2 )x + (9c2 + c1 )x2 + c2 x3 = 0.

Para essa expressao ser valida para qualquer x, o coeficiente de cada potencia de x deve
ser nulo:

1 + 2c1 + 3c2 = 0,

6c 3c = 0,
1 2


9c2 + c1 = 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:
Z 1
d du
w(x){ (x ) + u}dx = 0,
0 dx dx
onde w(x) e a funcao peso.
Esta integral pode representar uma medida do erro na aproximacao. O numero de
equacoes linearmente independentes que envolvam c1 e c2 sera igual ao numero de funcoes

3
peso utilizadas (tambem linearmente independentes). No exemplo escolhemos 2 funcoes
peso linearmente independentes: w = 1 e w = x , teremos:

Z 1
d 2 2 3
1 {x[c1 (2x 2) + c2 (3x 3)]} + 1 + c1 (x 2x) + c2 (x 3x) dx = 0,
0 dx
Z 1
d 2 2 3
x {x[c1 (2x 2) + c2 (3x 3)]} + 1 + c1 (x 2x) + c2 (x 3x) dx = 0.
0 dx

Entao: (
2/3c1 + 5/4c2 = 1,
3/4c1 31/20c2 = 1/2,
e finalmente, c1 = 222/23 e c2 = 100/23.

As funcoes bases utilizadas e a solucao aproximada estao ilustradas na figura (1.2):

Figura 1.2: Representacao das funcoes bases e solucao aproximada.

4
Captulo 2

Formulacao Integral

2.1 Formulacao forte e fraca de um problema


A formulacao forte de um problema de valor de contorno e definida como:
Determine u : [0, 1] R, tal que
2
d u
dx2 + f = 0, em (0, 1);

(S) u(1) = g c.c. de Dirichlet;

du(0)
dx
= h c.c. de Newman.

A equacao diferencial e imposta em todos os pontos x (0, 1).


A formulacao fraca equivalente a (S) e definida como:
Determine u U , tal que
Z 1 Z 1
dw du
(W ) dx = f wdx + w(0)h ; para qualquer w V .
0 dx dx 0
U e o conjunto de funcoes teste definido como:
Z 1
du
U = {u|u(1) = g e ( )2 dx < }
0 dx
V e o conjunto de funcoes peso e e definido como:
Z 1
dw
V = w|w(1) = 0 e ( )2 dx < }
| {z } 0 dx

** 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 definicao de formulacao fraca e mostrarmos a equivalencia


entre as duas formulacoes precisaremos das definicoes:
dj f
Uma funcao f : R pertence ao espaco C k () se dxj
e contnua, com 0 6 j 6 k.
C 0 e o espaco das funcoes contnuas.
O espaco Sobolev de funcoes H k () e definido como:

5
k dw dk w
H () = {w|w L2 ; L2 ; ...; k L2 }, onde
Z dx dx
2
L2 () = {f | f d < }.

Logo podemos escrever U e V como:

U = {u|u H 1 e u(1) = g}

V = {w|w H 1 e w(1) = 0}
Notas:
Se f H 1 f e contnua e limitada.
A condicao de contorno de Dirichlet e imposta na definicao do espaco de funcoes teste
c.c. essencial.
A condicao de contorno de Newman e imposta naturalmente na formulacao c.c.
natural.

Temos que mostrar que as duas formulacoes sao equivalentes:


(i) Se u e solucao de (S) u e solucao de (W ).
(ii) Se u e solucao de (W ) u e solucao de (S).

A demonstracao da parte (i), na realidade, corresponde ao metodo de achar a formulacao


fraca equivalente a uma dada formulacao forte. Se u e solucao de (S), entao u satisfaz a
equacao diferencial em todos os pontos x (0, 1)
Z 1
d2 u
w[ 2 + f ]dx = 0 (w H 1 (0, 1))
0 dx
Fazendo uma integracao por partes:
Z 1 Z 1
dw du du(1) du(0)
dx + w(1) w(0) + wf dx = 0.
0 dx dx dx dx 0

Como w V w(1) = 0.
Como u e solucao de (S) du(0)
dx
= h.
Z 1 Z 1
dw du
dx = w(0)h + wf dx, w V
0 dx dx 0

Logo, se u e solucao de (S), u satisfaz (W ).

Demonstracao da parte (ii):


Se u e solucao de (W ), entao u U u(1) = g e
Z 1 Z 1
dw du
dx = w(0)h + wf dx, w V
0 dx dx 0

6
Integrando por partes obtem-se:
Z 1 Z 1
d2 u du(1) du(0)
w 2 dx + w(1) w(0) = wf dx + w(0)h
0 dx dx dx 0
Z 1
d2 u du(1) du(0)
w[ 2 + f ]dx w(1) + w(0)[ + h] = 0.
0 dx dx dx
Como w V w(1) = 0
Z 1
d2 u du(0)
w[ 2 + f ]dx + w(0)[ + h] = 0 ; w V. (2.1)
0 dx dx
Para provar que u e solucao de (S), temos que mostrar que:

d2 u
(i) + f = 0 , para qualquer x (0, 1) e
dx2
du(0)
(ii) = h.
dx
Como a equacao (2.1) e valida para qualquer w V , vamos escolher um w de forma a
2
concluirmos que ddxu2 + f = 0:

d2 u
w(x) = (x)[ + f ]; com (0) = (1) = 0 e (x) > 0, x (0, 1)
dx2
Assim, w(0) = 0, pois,
d2 u
w(0) = (0)[ 2 + f ], como (0) = 0 w(0) = 0 e a equacao (2.1), torna-se:
Z 1 dx
d2 u
(x)[ 2 + f ]2 dx = 0
0 dx
d2 u
sendo (x) > 0 (por definicao) e [ 2 + f ]2 0,
dx
2
du d2 u
entao a integral sera zero [ 2 + f ]2 = 0 2 + f = 0.
dx dx
Assim temos (i). Vamos ver (ii):

Usando (i) a expressao (2.1) fica simplesmente:


du(0)
w(0)[ + h] = 0 ; w V.
dx
Como o espaco V nao restringe o valor de w(0), entao

du(0) du(0) du(0)


w(0)[ + h] = 0 +h=0 = h
dx dx dx
Com (i) e (ii) verificados, temos que se u e solucao de (W ) entao e tambem solucao de
(S).

7
Como mencionado anteriormente, o metodo de Elementos Finitos e baseado na for-
mulacao fraca do problema.
A ideia basica e restringir os espacos U e V para espacos de dimensao finita. Isto implica
que qualquer u U pode ser escrito como:
N
X
u(x) = ci i ,
i=1

onde os 0i s formam uma base de U .

A fim de simplificar, e comum seguir a notacao:


Z 1 Z 1
dw du
a(u, w) = e (f, w) = f wdx,
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 Metodo dos Resduos Ponderados


Neste curso vamos nos concentrar no Metodo dos Resduos Ponderados (Weighted Resid-
uals).
Vamos novamente analisar o problema:
2
d u
dx2 = f,
em (0, 1);
u(1) = g = 0 considerar g = 0, apenas para simplificar.

du(0)
dx
= h.

Queremos encontrar uma aproximacao uh para a solucao do problema u.


uh vai pertencer a um espaco de dimensao finita Uh , logo podemos escreve-lo como:
N
X
uh (x) = ci i ,
i=1

onde N e a dimensao do espaco e 0i s as funcoes base de Uh . Queremos tambem que


Uh U logo, uh (1) = 0.
2
Como uh e apenas uma aproximacao de u, ddxu2 6= f
Vamos chamar de resduo (R) da equacao, a medida de quanto uh aproxima adequada-
mente o problema.
d 2 uh
R= + f,
dx2
Observe que se uh = u entao, R = 0.

8
Metodos dos Resduos Ponderados sao obtidos atraves da seguinte integral:
Z 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:
Z 1
d 2 uh
w[ 2 + f ]dx = 0
0 dx
integrando por partes:
Z 1 Z 1
dw duh
dx + f wdx + w(0)h = 0 Equivalente a formulacao variacional.
0 dx dx 0

A integracao por partes alivia as restricoes impostas a funcao aproximada uh . A ex-


2
pressao passa a depender da primeira derivada de uh , du dx
h
e nao mais da segunda ddxu2h .
Logo, a restricao sobre uh devera ser que sua derivada pertenca a L2 , dudx
h
L2 , isto e, o
duh
quadrado de dx seja integravel. Observe que ate funcoes contnuas com descontinuidades
nas derivadas podem satisfazer a estas condicoes, como ilustrada na figura(2.1):

Figura 2.1: Funcoes contnuas com derivadas descontnuas.


PN
Como uh Uh uh (x) = i=1 ci i .

9
duh PN di
E entao, dx
= i=1 ci dx

Sendo o espaco Uh de dimensao N precisaremos de N equacoes linearmente indepen-


dentes a fim de determinar os coeficientes ci .
As funcoes peso w devem pertencer a um espaco finito Vh V . Esse espaco pode ser
representado pela base i . Cada equacao esta relacionada com as funcoes peso i .

Deste modo as N equacoes L.I. para determinar os ci sao:


Z 1 N ! Z 1
di X dj
Ri = cj dx + f i dx + i (0)h = 0
0 dx j=1
dx 0

N Z 1 Z 1
X di dj
dx cj = f i dx + i (0)h ; i = 1, ..., N.
j=1 | 0
dx dx 0
{z } | {z }
Aij bi

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 .

V METODO DE GALERKIN

O espaco das funcoes peso e identico ao espaco das funcoes teste i = i


Matriz A e simetrica.

V METODO DE PRETROV-GALERKIN

i 6= i Matriz A nao e simetrica.

V METODO DOS MINIMOS QUADRADOS


P
Os coeficientes ci da aproximacao uh (x) = Ni=1 ci i sao obtidos atraves da minimizacao
da integral do quadrado dos resduos:
Z 1 Z 1
2 R
R dx = 0 Rdx = 0.
ci 0 0 ci

R
i = .
ci

V METODO DE COLOCACAO

10
O resduo R e identicamente nulo em N pontos do domnio.
R(xi ) = 0.
Tambem e um caso particular de metodo dos Resduos Ponderados.
Z 1
wi = (x xi ) (x xi )Rdx = 0 R(xi ) = 0.
0

EXERCICIO #1

Considere o problema:

d2 u 2
dx2 u + x = 0,
onde 0 x 1;
u(0) = 0,


u0 (1) = 1.
Vamos assumir que uma solucao aproximada uh possa ser escrita como:
N
X
u(x) = 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

d 2 uh
R(x) = 2
uh + x 2 .
dx
Queremos que:
Z 1
w(x)R(x)dx = 0, onde w(x) e o vetor das funcoes peso i .
0

Z 1
d 2 uh
i [ 2 uh + x2 ]dx = 0
0 dx

Z 1 Z 1 Z 1
d 2 uh
i 2 dx i uh dx + i x2 dx = 0
0 dx 0 0

11
Integrando por partes, evitando assim a segunda derivada,temos:
1 Z 1 Z 1 Z 1
duh di duh
i ( )dx i uh dx + i x2 dx = 0
dx 0 0 dx dx 0 0

Usando que:

u0h (1) = 1.
i (0) = 0.
Z 1 Z 1 Z 1
di duh
i (1) + ( )dx i uh dx + i x2 dx = 0
0 dx dx 0 0

PN du
PN j
Como u(x) = i=1 cj j , entao dx
= i=1 cj dx ; substituindo temos:
N Z 1 Z 1
X di dj
cj i j dx = i (1) i x2 dx
dx dx
i=1 |0 {z } | 0
{z }
Aij bi

Pelo Metodo de Galerkin i = i ; entao,


R 1 h i dj i R1
Aij = 0 d dx dx
2
i j dx e bi = i (1) 0 i x dx

Assim, usando
1 (x) = x ; d
dx
1
=1
2 d1
2 (x) = x ; dx = x
3 (x) = x3 ; d
dx
1
= 3x2

Calculamos a matriz A e o vetor b:


2 3 4

3 4 5

3 17 4

A=
4 15 3



4 4 58
5 3 35
3

4

4

b=
5



5
6

Fazendo Ac = b

2280 203 175


Encontramos c(1) = 1777
; c(2) = 1777
; c(3) = 7108
.

12
2280

1777

203

c=
1777



175
7108

1.2
line 1
line 2

0.8

0.6

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1

Figura 2.2: uh e u

O grafico mostra a solucao exata e a aproximada. Observe que a solucao aproximada rep-
resenta muito bem a solucao exata, utilizando-se apenas de tres funcoes base.E evidente que
a escolha de funcoes base apropriadas e fundamental para o bom desempenho do metodo.

13
Captulo 3

Discretizacao e Funcoes Base

3.1 Ponto de Vista Global


Podemos perceber que para obter os elementos da matriz A, precisamos integrar as
funcoes teste e peso (e/ou suas derivadas) em todo o domnio.
O metodo dos elementos finitos consiste na escolha apropriada de funcoes i e i , de
tal forma que as funcoes e suas derivadas so sao diferentes de zero em uma pequena parte
do domnio. Deste modo, a integral no domnio fica reduzida a uma integral na parte do
domnio onde a funcao e diferente de zero, como mostrado na figura(3.1) :

Figura 3.1: Exemplo de funcao base diferente de zero apenas em uma pequena porcao do
domnio.

Z 1 Z x2
( )i dx = ( )i dx
0 x1

A ideia e dividir o domnio em elementos, definidos por nos. Por exemplo: o domnio de
0 a 1 foi dividido em 8 elementos (9 nos).

14
Figura 3.2: 8 elem. 9 nos

Uma escolha simples que facilita a computacao e definir i e i de tal forma que:

1 se i = j,
i (xj ) = ij i (xj ) =
0 se i 6= j,
conforme mostrado na Fig.3.3 (Elementos Lagrangeanos).
Desta forma o numero de funcoes base (dimensao do espaco) esta associado ao numero
de nos da malha. Quanto mais refinada a malha, maior sera a dimensao do espaco de
funcoes e desta forma, mais precisa sera a solucao aproximada.

Figura 3.3: i (xj ) = ij

Se as funcoes teste i sao definidas da maneira mostrada anteriormente, os coeficientes


ci passam a ter um significado especial :

15
N
X N
X
u(xi ) = cj j (xi ) = cj ij = ci
| {z }
j=1 j=1
ij

ci = u(xi )
O coeficiente ci e igual ao valor da funcao u no ponto xi .

Uma outra consequencia importante da definicao das funcoes teste e que varios elemen-
tos da matriz A sao iguais a zero, conforme ilustrado na Figura 3.4.

Por exemplo: Z 1
d2 d6
A26 = dx = 0
0 dx dx

Figura 3.4: Calculo de A26 .

A matriz A, do exemplo, passa a ser uma matriz esparsa:

16

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

A=
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

3.2 Ponto de Vista Elementar


Ate agora vimos o metodo dos elementos finitos de uma forma global, isto e, cada funcao
i e definida 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
eficiente se a tratarmos nestas opcoes apenas. Isto leva a uma descricao local do metodo
(elementar).
No exemplo mostrado anteriormente (Figura 3.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 no inicial no final 0i s 6= 0


1 1 2 1-2
2 2 3 2-3
3 3 4 3-4
4 4 5 4-5
5 5 6 5-6
6 6 7 6-7
7 7 8 7-8
8 8 9 8-9

Podemos pensar em uma matriz elementar A(e) , de modo que a matriz global A seja
escrita como:
S
A = 8e=1 A(e)

A maneira com que essa montagem ou uniao e feita sera discutida a seguir.
Como so existem dois 0i s 6= 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:
R x4 d3 d3 R x 3 d4
x3 dx dx
dx x34 ddx dx
dx

A(3) = R x4 d4 d3 R x4 d4 d4

x3 dx dx
dx x3
dx
dx dx

17
A forma de cada funcao nos elementos e sempre a mesma, independentemente do ele-
mento 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 figura:

Figura 3.5: Funcoes base lineares no sistema de coordenadas local.

As funcoes base elementares sao escritas como:

(e) 1 (e) 1+
1 () = 2
2 () = 2

(e) (e)
d1 d2
Assim d
= 21 ; d
= 1
2

Todos os elementos do domnio sao mapeados para esse elemento padrao.

Por exemplo, o mapeamento do elemento 3, que vai de x3 a x4 , para o elemento padrao,


de = 1 a = 1, pode ser escrito como:

x = x3 = 1,
2x(x3 +x4 )
(x) = x4 x3
,

(x4 x3 ) +x3 +x4
x() = 2
,
x = x4 = 1.

18
As integrais sao reescritas como:
Z x4 Z 1 (e) (e)
(3) d3 d4 d1 d d2 d dx
A12 = dx = d =
x3 dx dx 1 d dx d dx d
Z 1 (e) (e)
d1 d2 d
= d,
1 d d dx
|{z}
2 2
=x = (e)
4 x3 h

onde h(e) e o tamanho do elemento.


Z 1 (e) (e)
2 d1 d2
(3) d.
h d d
| 1 {z }
=para todos os elementos

A matriz do terceiro elemento entao fica:


R1 R1
d1 d1 d1 d2
1 d d
d 1 d d
d
2
A(3) =
R
1 d2 d1
R1 d2 d2 ,
h(3) 1 d d
d 1 d d
d

(3)
onde os Aij sao:
Z 1
(3) 2 1 1 2 1 1
A11 = (3) ( )( ) d = (3) 2 = (3)
h 1 2 2 h 4 h
Z 1
(3) 2 1 1 1 (3)
A12 = (3) ( )( ) d = (3) = A2,1
h 1 2 2 h
Z 1
(3) 2 1 1 1
A22 = (3) ( )( ) d = (3)
h 1 2 2 h

(3) 1 1 1
A = (3) .
h 1 1

Montagem da Matriz Global

Precisamos obter a matriz global a partir das matrizes elementares. Para isso, precisamos
saber a correspondencia entre a numeracao local dos nos no elemento com a numeracao
global dos nos no domnio.
#local dos nos
z }| {
Logo, vamos definir a matriz DomNodeID ( ilnode , |{z} iele ) que fornece a nu-
#do elemento
meracao global do no local ilnode do elemento iele.

DomNodeID

19
ilnodeiele 1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7 8
2 2 3 4 5 6 7 8 9
A matriz global e montada segundo a correspondencia entre a numeracao local e a global.
Por exemplo, a matriz local do elemento 3 (2 2) e montada na seguinte posicao da
matriz global:









A=







DomN odeID(1, 3) = 3,
(3)

A11 A33

(3)
A12 A34

A(3)
21 A43

(3)
A22 A44
DomN odeID(2, 3) = 4.

O processo de montagem tambem serve para o vetor f


(3)
f1 f 3
(3)
f2 f 4
Um algoritmo geral para a solucao por elementos finitos 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 no 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:

Z 1 Z x5 Z x6
d5 d5 d5 d5 d5 d5 (4) (5)
A55 = dx = dx + dx = A22 + A11
0 dx dx x4 dx dx x5 dx dx

3.3 Elemento de Segunda Ordem


No exemplo anterior as funcoes base eram lineares. Cada elemento possuia 2 nos e
consequentemente duas funcoes (uma associada a cada no). Isso porque a funcao i foi
definida tal que :
i (xj ) = i,j ,

ou seja, 1 (x1 ) = 1, 2 (x1 ) = 0,


1 (x2 ) = 0, 2 (x2 ) = 1.
dois pontos definem uma reta i e linear.

Figura 3.6: Elemento linear

Se desejamos ter uma aproximacao melhor podemos definir funcoes base quadraticas
dentro de cada elemento. Como para definir uma funcao quadratica sao necessarios 3 pon-
tos, os elementos quadraticos possuem 3 nos.

21
Figura 3.7: Elemento Quadratico

Repare que i (xj ) = i,j .

Nas coordenadas elementares, as funcoes base sao escritas como:

( 1)
1 () = ,
2
( + 1)
2 () = ,
2
3 () = ( + 1)( 1).
Logo, derivando-as temos:
d1 1 d2 1 d3
= ; =+ ; = 2.
d 2 d 2 d
Correspondencia entre descricao global e local:
DomNodeID
ilnodeiele 1 2 3 4 5 6
1 1 3 5 7 9 11
2 3 5 7 9 11 13
3 2 4 6 8 10 12

As matrizes A(e) sao 3 3.


R1 d1 d1
R1 d1 d2
R1 d1 d3

1 d d
d 1 d d
d 1 d d
d

2 R R1 R1
1 d2 d1 d2 d2 d2 d3
A3 = (3) 1 d d
d 1 d d
d 1 d d
d
h

R1 d3 d1
R1 d3 d2
R1 d3 d3
1 d d
d 1 d d
d 1 d d
d

22
Figura 3.8: Correspondencia da numeracao global e local.

A Matriz A(3) e montada na seguinte posicao:















A=










(3)
A11 A55
(3)
A12 A57
(3)
A13 A56
...

23
3.4 Problema Unidimensional
Vamos mostrar todos os passos para a solucao de um problema de conveccao/difusao
usando o metodo dos elementos finitos.
2
d u

dx2
P e du
dx
= 0, 0 < x < 1;





du(0)
dx
= u(0) 1;






u(1) = 0.

Formulacao Fraca (Metodo de Galerkin)

Z 1
d2 u du
Ri = Pe i dx = 0
0 dx2 dx
Z 1 Z 1
du di du du du
dx + (1) i (1) (0)i (0) P e i dx = 0
0 dx dx dx dx 0 dx
Z 1
du di du du du
+ Pe i dx = (1) i (1) (0) i (0)
0 dx dx dx dx |dx{z }
u(0)1
Z 1
du di du du
Ri = + Pe i dx = (1) i (1) (u(0) 1)i (0)
0 dx dx dx dx | {z }
=0

Tendo como c.c u(1) = 0, impoe - se i (1) = 0.

MEF

Usar elementos lineares: 8 elementos / 9 nos (N = 9)

N
X
u(x) = Ui i sem se preocupar com as condicoes de contorno.
i=1

N Z " N #
1
X di dj dj X
Ri = ( + Pe i )dx Uj = Uj j (0) 1 i (0); (i = 1, ..., N )
j=1 0 dx dx dx j=1

Observe que x = 0 e o no 1, entao 1 (0) = 1 e j (0) = 0, j 6= 1. Assim, temos que:


N Z 1
X di dj dj
Ri = ( + Pe i )dx Uj = [U1 1]i (0).
j=1 0 dx dx dx
PN
c.c. essencial u(1) = 0 j=1 Uj j (1) , lembrando que x = 1 e o no N
UN N (1) = 0 UN = 0.

24
Figura 3.9: Discretizacao do domnio atraves de 8 elementos lineares.

i=1
N Z 1
X d1 dj dj
R1 ( + Pe 1 )dx Uj = [U1 1]
j=1 0 dx dx dx

i = 2, ..., N 1
N Z 1
X di dj dj
Ri ( + Pe i )dx Uj = 0
j=1 0 dx dx dx

i=N
RN U N = 0


... U1 1

U2
0


U3 0
.. ...
U4

0



.

U5 =
0


U6
0


U7
0


U8 0
0 0 0 0 0 0 0 0 1 U9 0

Ponto de Vista Local:

25
Formulacao Fraca:
Z 1
du di du
( + P e i ) dx = [u(0) 1] i (0) .
0 dx dx dx | {z }
condicao de contorno.

O ideal e montar as matrizes e vetores elementares sem se preocupar com as condicoes


de contorno e depois modifica-las em funcao destas.

" # " #
(e) (e) (e)
A11 A12 f1 d 2
A(e) = (e) (e) ; f (e) = (e) ; = (e) .
A21 A22 f2 dx h
Z 1 Z 1
(e) 2 dj di dj (e)
Aij = (e) d + P e i d; fi = 0.
h 1 d d 1 d

(e) 1 d1 1
1 () = = ,
2 d 2
(e) 1+ d2 1
2 () = = .
2 d 2

Z 1 Z 1
(e) 2 1 1 1 1
A11 = (e) ( ) ( ) d + P e ( ) ( ) d =
h 1 2 2 1 2 2
Z 1 Z 1
2 1 Pe
= (e) d (1 ) d =
h 1 4 1 4
1 Pe
= (e)
h 2
e assim por diante...
Apos obter as matrizes elementares, temos que nos preocupar com as condicoes de
contorno.
Os termos correspondentes as condicoes de contorno se anulam em todos os termos
menos no primeiro e no ultimo.

i (1) 6= 0 , so para i = N

i (0) 6= 0 , so para i = 1.

No primeiro elemento, temos que acrescentar:


Z 1
( ) = [U1 1]
0
N
X
( ) Uj + U1 = +1
j=1
(1) (1)
A1,1 = A1,1 + 1
(1) (1)
f1 = f 1 + 1

26
No ultimo 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)
se a c.c. fosse u(1) = g f2 g.

Para calcularmos os elementos de cada matriz, temos que integrar funcoes ao longo do
elemento. De um modo geral, temos que calcular:
Z 1
F ()d.
1

Para um problema simples, podemos calcular a integral analiticamente. Porem, e mais


interessante faze-lo numericamente, pois engloba a resolucao nao so de problemas simples
como tambem complicados e ainda temos um programa generico.

Um metodo comumente utilizado e o da QUADRATURA GAUSSIANA, onde


Z 1 N
X GP
F ()d = F ()Wi
1 i=1

onde N GP e o numero de pontos utilizados para a integracao. Quanto maior o numero de


pontos, melhor a aproximacao.
A tabela a seguir fornece o valor de i e Wi para diferentes N GP .

N GP i Wi

1 0.0 2.0

2 0.57735 1.0
+0.57735 1.0

0.77459 0.555
3 0.0 0.888
+0.77459 0.555

PROJETO #1
2
d u du
dx2 P e dx = 0

du(0)
dx
= u(0) 1


u(1) = 0

27
A solucao analtica do problema e dada por:
eP ex eP e
u(x) =
1 P e eP e

Escreva um programa para obter a solucao do problema com:

(a) Malha de 10 elementos lineares uniformemente espacados com P e = 5, P e =


10, P e = 30.
(b) Malha de 5 elementos quadraticos uniformemente espacados com P e = 5, P e =
10, P e = 30.
(c) Malha de 10 elementos lineares concentrados em x = 1, com P e = 30. Utilize a
seguinte funcao para gerar a malha concentrada:
a
(N N ODES i)
xi = 1
(N N ODES 1)
a parametro que regula a concentracao da malha.
(d) Compare as solucoes obtidas com a solucao analtica em cada ponto da malha.

ESTRUTURA SUGERIDA PARA O PROGRAMA

CALL INPUT Rotina para ler os dados do problema.


Pe (
linear
Tipo de Elemento
Quadratico
Numero(de Elementos
Uniforme
Malha
Concentrada

CALL GLOBALPOINTERS rotina para:


Calcular o numero de nos (NNODES).
Gerar a matriz com o mapeamento da numerac~
ao local global
(DomNodeID) para cada tipo de elemento.

CALL MESH Gerar a malha (coordenadas xi ).

CALL SOLUTION Calcular a soluc~


ao por EF.

CALL EXACT Calcular a soluc~


ao exata em cada ponto da malha.

CALL OUTPUT Criar uma tabela com :


xi | sol. exata | sol. aprox. | erro %

28
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 condic~ oes de contorno.
do ilnode = 1, N LOCALN ODES
ignode = DomNodeID (ilnode, iele) # global do no 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 )
| {z }
vetor
do ilnode = 1, N LOCALN ODES
do jlnode = 1, N LOCALN ODES
2
A(ilnode, jlnode) = A(ilnode, jlnode) + (w(igp) h(e)
dP HIdXI(ilnode) dP HIdXI(jlnode) + P e P HI(ilnode)
dP HIdXI(jlnode))
end do
end do
end do

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 .

Figura 4.1: Problema bi-dimensional.

k condutividade termica. Vamos considerar k constante 2 T = 0.

T |1 = 0 c.c. Dirichlet (temperatura prescrita)


n T = q T | = q c.c Newman (fluxo prescrito)
n 2

Formulacao Fraca : Ache T U tal que:

Z
w2 T d = 0 , w V ;

onde:

30
R
U = {T |T |2 d < ; T (1 ) = 0},
R
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

dT dw dT d dT
w 2 = + w ,
dx dx dx dx dx
usando a mesma idea para duas variaveis:
Z 2 Z Z
T 2T w T w T T T
w + dxdy = + dxdy + w + w dxdy
x2 y 2 x x y y x x y y
Z Z Z
w2 T d = w T d + (wT )d.

Usando o Teorema da Divergencia, que diz:


Z Z
f d = n f d

A formulacao fraca fica:


Z Z Z
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 iden-
ticamente nula ao longo do contorno onde e imposta uma condicao de contorno de Dirichlet)

Z Z Z
wn T d = |wn{z
T} d1 + wn T} d2
| {z
1 0 2 q

Formulacao Fraca:
R R

w T d + 2
w q d2 = 0

Discretizacao Uh U Uh de dimensao N .
N
X
Th = C j j ,
j=1

onde Cj0 s sao as N incognitas.

31
As N equacoes linearmente independentes serao obtidas escolhendo-se N funcoes peso
tambem linearmente independentes :
R R
Ri
i T d = 2
i q d2
PN PN
Sendo Th = j=1 Cj j , entao, T = ij=1 Cj j :
Z N
X Z
i ( Cj j ) d = i q d2
j=1 2

N
X Z Z
Cj i j d = i q d2
i=1 2
| {z } | {z }
Aij bi

Aij cj = bi

Z
Aij = i j d

Z
bi = i q d2
2

Metodo dos Elementos Finitos


1 se i = j
Escolher i tal que (xj ) = ij i (xj ) =
0 se i 6= j

Figura 4.2: Funcoes base bi-dimensional (xj ) = ij

Ponto de Vista Elementar

Elemento Bi-Linear

32
Figura 4.3: Funcoes base de elemento bi-linear.

( 1)( 1)
1 (, ) =
4
( 1)( + 1)
2 (, ) =
4
( + 1)( + 1)
3 (, ) =
4
( + 1)( 1)
4 (, ) =
4
Z
(e)
Aij = i j d
(e)
Z
(e) i j i j
Aij = + d
(e) x x y y
A matriz A(e) e uma matriz 4 4 no caso de elementos bi-lineares.
i
Precisamos saber as derivadas das funcoes base, x
;
y
i
, para i = 1..4, ja que os 0i s
sao definidos em termos de e .

Da mesma forma que no caso 1-D, precisamos de um mapeamento do sistema de coor-


denada local (, ) para o sistema de coordenadas global (x, y).
Uma vez obtida as matrizes elementares, temos que montar a matriz global. O pro-
cesso de montagem e analogo ao caso unidimensional. Precisamos da matriz

DomNodeID(ilnode, iele) = numero 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.

Figura 4.4: Exemplo de numeracao dos nos e elementos.

A Fig.4.4 ilustra um exemplo de numeracao dos elementos e nos. A matriz DomN odeID
para este problema e dada por:

DomNodeID
ilnodeiele 1 2 3 4 5 6 7 8 9
1 1 2 3 5 6 7 9 10 11
2 5 6 7 9 10 11 13 14 15
3 6 7 8 10 11 12 14 15 16
4 2 3 4 6 7 8 10 11 12

34
A Matriz A(5) e montada na seguinte posicao:
















A=
















(5)
A1 1 A 6 6
(5)
A1 2 A6 10
(5)
A1 3 A6 11
(5)
A1 4 A 6 7
...

A estrutura da matriz global e funcao direta da numeracao global dos nos, como ja foi
dito. Um esquema NAO OTIMIZADO pode levar a uma matriz global com banda alta,
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:
Z
(e) i j i j
Aij = + d
(e) x x y y
Mas, a funcao (, ) esta definida 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 definido por:


( P
x(, ) = 4i=1 Xi i (, )
P
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


| {z } | {z } | {z } | {z }
=1 =0 =0 =0
e assim em diante...

A funcao interpolacao ultilizada no mapeamento e a mesma funcao interpolacao ul-


tilizada 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
Figura 4.6: Mapeamento isoparametrico

i
Uma vez conhecendo o mapeamento entre as coordenadas, pode-se determinar : x
e
i
y
.
i x i y
= x + y
i


i i x i y

= x
+ y
i x y i
x
=
i x y i
y
| {z }
Jacobiano da Transformacao

Logo:

i y
i
x
y

= J1 ; J1 = 1 Inverso do Jacobiano
i i |J|
y
x

x

x y y x
|J| =

.

37
Assim:

i 1 y i y i
= x y y x

x



i 1 x i x i
= x y y x
+
y

Para um mapeamento isoparametrico temos que:


PN PN
x

= i=1 Xi

i
; x

Xi

=i
; ...
i=1
R h i j i j i
Logo, a integral elementar e
x x
+ y y dxdy pode ser reescrita em funcao das
variaveis locais:
(e) R R
Aij = (e)
i j dxdy = (e)
J1 i J1 j |J| d d

(e) R1 R1 n y i y i y j j
Aij = (

)(
y )+
1 1
o
i x i j j
+( x

+
)( x

+ x
) |J|1
dd

Como a expressao para o calculo da matriz elementar contem |J| no denominador, por
isso e importante que |J| 9 0. Se o elemento ficar muito distorcido isto pode acontecer e a
(e)
precisao do calculo de Aij fica comprometida, como no caso mostrado a seguir:

Figura 4.7: Elemento distorcido.

dA = |J|dd = |dr1 ||dr2 |sen

|dr1 ||dr2 |sen


|J| =
dd
Quando 0 ou 180 graus , |J| 0. Deve-se monitorar o valor de |J|. Se
ficar negativo ou muito pequeno, os calculos devem ser interrompidos e uma nova malha

38
deve ser criada.

Integracao Numerica

Quadratura Gaussiana:
R1 R1 PN GP I PN GP J
1 1
F (, )dd = igp=1 jgp=1 F (i , j ) wI wJ

Figura 4.8: Localizacao dos Pontos de Gauss.

ELEMENTO NUM.PONTOS PESOS COORDENADAS


INTEGRACAO w

linear 22=4 1.0 1.0 -0.57735 -0.57735


1.0 1.0 +0.57735 -0.57735
1.0 1.0 -0.57735 +0.57735
1.0 1.0 +0.57735 +0.57735

quadratico 33=9 0.555 0.555 -0.77459 -0.77459


0.888 0.555 0.0 -0.77459
0.555 0.555 +0.77459 -0.77459
0.555 0.888 -0.77459 0.0
0.888 0.888 0.0 0.0
0.555 0.888 +0.77459 0.0
0.555 0.555 -0.77459 +0.77459
0.888 0.555 0.0 +0.77459
0.555 0.555 +0.77459 +0.77459

39
A Localizacao dos pontos esta representada na Fig.4.8:

Algoritmo para o calculo de A(e)

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 func~ oes base no ponto de Gauss
i (, ),

i
(, ),

i
(, ) i = 1, ..., N LOCALN ODES
P LN i P LN i
Calcular = N
x
i=1 Xi
y

= N i=1 Yi
PN LN PN LN
x

= i=1 Xi

i y

= i=1 Yi

i

y
Calcular detJ = x
y x

i i
Calcular x
= ... y
= ...
do ilnode = 1, N LOCALN ODES
do jlnode = 1, N LOCALN ODES
A(ilnode,jlnode) = A(ilnode, jlnode)+
i j i j
W x x + y y detJ
end do
end do
end do

end do

Para executar os passos de calculo de forma eficiente, pode-se utilizar uma estrutura ma-
tricial para armazenar e operar as variaveis. Um exemplo de tal estrutura e descrito a seguir.

Armazenar as funcoes i (, ), i i
,

da seguinte forma:

1 1 2 3 4
2
P HI(i) = 3
GradP HI(i, j) =
1 2 3 4
4

Armazenar as coordenadas dos pontos nodais de cada elemento da seguinte forma:



X1 X2 X3 X4
XY (i, j) =
Y1 Y2 Y3 Y4

40
A matriz Jacobiana pode ser calculada por:

JAC(i, j) = GradP HI XY T

x y 1 2 3 4 X1 Y1
X2
= Y2

x y 1 2 3 4
X3 Y3
X4 Y4

detJ = JAC(1, 1) JAC(2, 2) JAC(1, 2) JAC(2, 1)




JACIN V (1, 1) = JAC(2, 2)/detJ

JACIN V (1, 2) = JAC(1, 2)/detJ
J1 =


JACIN V (2, 1) = JAC(2, 1)/detJ

JACIN V (2, 2) = JAC(1, 1)/detJ

As derivadas das funcoes base em relacao as coordenadas global sao armazenadas na


matriz
1 2 3 4
x x x x
GradP HI XY (i, j) =
1 2 3 4
y y y y

GradP HI XY (i, j) = J1 GradP HI

y 1 2 3 4

y

1
x
2
x
3
x
4
x
1 =
|J| x x 1 2 3 4 1 2 3 4
y y y y

O algoritmo pode ser escrito como:

CALL BASISFUNC (XI, N ET A, P HI, GradP HI)


CALL MAPPING (XY, P HI, GradP HI, JAC, JACIN V, detJ)
GradP HI XY (i, j) = J1 GradP HI
do ilnode = 1, 4
do jlnode = 1, 4
A(ilnode, jlnode) = A(ilnode, jlnode) + W detJ
(GradP HI XY (1, ilnode) GradP HI XY (1, jlnode)+
GradP HI XY (2, ilnode) GradP HI XY (2, jlnode))
end do

41
end do

EXERCICIO # 3

Escreva a rotina BASISFUNC 1 para elementos bi-lineares e BASISFUNC 2 para ele-


mentos quadraticos.

EXERCICIO # 4

Escreva a rotina MAPPING indicada no algoritmo acima.

42
Captulo 5

Problema Nao Linear

Vamos considerar o seguinte problema uni-dimensional:


du d2 u
u dx + dx2 = f (x); x (0, 1),

u = 0; x = 0,


u = 0; x = 1.

Desenvolvendo a formulacao do Metodo dos Resduos Ponderados (Galerkin), obtem-se:

Z 1
du d2 u
Ri = u + 2 + f i dx = 0
0 dx dx
Z 1 Z 1 Z 1
du di du du du
dx + (1) i (1) (0) i (0) + u i dx + f i dx = 0,
0 dx dx dx | {z } dx | {z } 0 dx 0
=0 =0
Z 1 Z 1 Z 1
du di du
Ri = dx + u i dx + f i dx = 0.
0 dx dx 0 dx 0

PN
Substituindo a expansao da funcao u(x) = j=1 Cj j (x):

Z N Z N
! N
! Z
1X 1 1
dj di X X dk
Ri = Cj dx + C j j Ck i dx + f i dx = 0.
0 j=1
dx dx 0 j=1 k=1
dx 0

Trocando a ordem da integracao e somatorio em j, a expressao pode ser reescrita como:


N nZ 1 d d Z 1 X N
!
o Z 1
X j i d k
Cj dx + Ck j i dx = f i dx.
j=1 0 dx dx 0 dx 0
| {z k=1 } | {z }
bi
Aij

43
A expressao acima representa o produto matricial Ac = b. Porem, como o problema e
nao linear, os elementos da matriz A dependem dos coeficientes Ck , solucao do problema.
A notacao mais precisa de representar o problema acima seria

A(c) c = b.
O sistema de equacoes nao lineares deve ser resolvido por um metodo iterativo.
E importante perceber a diferenca entre metodos iterativos para resolver um sistema de
equacoes nao lineares e metodos iterativos para resolver um sistema de equacoes lineares.
Muitos programas de simulacao numerica utilizam um metodo iterativo para resolver o
sistema linear Ac = b oriundo de um problema linear. A vantagem de metodos iterativos e
a economia de memoria, pois a matriz A nao e armazenada inteira na memoria, e as grandes
desvantagens sao a nao garantia de convergencia e o tempo computacional. O que estamos
analisando neste captulo sao metodos iterativos para resolver um sistema nao linear. A
princpio, neste curso, sistemas lineares sao resolvidos por metodos diretos (alguma variacao
de eliminacao gaussiana).

5.1 Solucao de problema nao-linear com uma variavel


Vamos considerar o seguinte problema de uma variavel:

3
|x {z
2x + 4} = 0
f (x)

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 ate |xn+1 xn | <
xn+1 = g(xn )

A interpretacao geometrica do metodo de Picard e apresentada na Figura 5.1. O metodo


de Picard pode divergir ate quando o valor inicial e bem proximo da solucao do problema,
como no caso 3 da Figura 5.1 O criterio de convergencia do metodo:

CONVERGE |g 0 (x )| < 1,

44
Figura 5.1: Interpretacao geometrica do Metodo de Picard.

DIVERGE |g 0 (x )| > 1.

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 0 (x) = 0

f (x) f (x)
x = x x = 0
x = x 0 .
f (x) f (x)

x0 chute inicial
Repetir ate |xn+1 xn | <
xn+1 = xn ff0(x n)
(xn )

45
A interpretacao geometrica do metodo de Newton e ilustrada na Figura 5.2.

Figura 5.2: Interpretacao Geometrica do Metodo de Newton.

O metodo de Newton possui uma propriedade de convergencia muito forte. Se o valor


inicial do processo iterativo for proximo da solucao, o metodo converge quadraticamente,
isto e, o valor do erro decai seguindo uma funcao quadratica, conforme a prova desenvolvida
a seguir.

Prova

Vamos assumir que x e uma raiz simples: f 0 (x ) 6= 0.

Vamos definir o erro como n = xn x . Logo x = xn n .

Expandindo a funcao f (x) por serie de Taylor ao redor da solucao x :

46
1
f (x ) = 0 = f (xn ) + (x xn )f 0 (xn ) + (x xn )2 f 00 (); (xn , x )
2
1 2 00
f (xn ) (x xn ) f ()
0
+ (x xn ) = 2
f (xn ) f 0 (xn )
1
f (xn ) (x xn )2 f 00 ()
x xn 0 = 2
f (xn ) f 0 (xn )
| {z }
xn+1
1 2 00
n f ()
x xn+1 = n+1 = 2
f 0 (xn )
1 f 00 ()
n+1 = 2n 0 .
2 f (xn )

Logo, tomando o limite quando x x :

1 f 00 (x )
n+1 = 2n 0 ,
2 f (x )
n+1
lim = C n+1 = C2n .
n 2
n
Por exemplo, se na quarta iteracao, a aproximacao x4 estiver perto da solucao do pro-
blema e 4 = 103 , pela prova acima, 5 = 106 e 6 = 1012 .

5.2 Sistema de Equacoes Nao-Lineares


Vamos agora considerar um sistema de equacoes nao-lineares, respresentado por

fi (x1 , x2 , x3 , ..., xn ) = 0; 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.

O processo iterativo e similar ao caso de apenas uma variavel.


(0) (0) (0)
x(0) = (x1 , x2 , ..., xn ) chute inicial

47
Repetir ate |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 procedi-


mento iterativo converge se:
gi
kD(x)k 1; Dij = .
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

f1 (x ) = f1 (x(k) ) + x 1
(x1 x1 ) + x 2
(x2 x2 ) + ... + x n
(xn xn ) = 0;

f2 (x ) = f2 (x(k) ) + f2 (x x(k) ) + f2 (x x(k) ) + ... + f2 (x x(k)

n ) = 0;
x1 1 1 x2 2 2 xn n
.
..



f (x ) = f (x(k) ) + fn (x x(k) ) + fn (x x(k) ) + ... + fn (x x(k) ) = 0.
n n x1 1 1 x2 2 2 xn n n

Reescrevendo a expressao em notacao matricial:

f (x) = 0 = f (x(k) ) + J(x x(k) )


J (x x(k) ) = f (x(k) ).
| {z }
x(k+1)

A matriz J e chamada de Matriz Jacobiana e definida como:


fi
Jij = .
xj

O algoritmo do metodo de Newton para um sistema de equacoes nao-lineares pode ser


escrito como:
(0) (0) (0)
x(0) = (x1 , x2 , ..., xn ) chute inicial
Repetir ate |x(k+1) x(k) | <
J(x(k+1) ) = f (x(k) )
x(k+1) = x(k) + x(k+1)

48
5.3 Metodo de Newton aplicado a uma Equacao Dife-
rencial nao linear
Como mostrado no incio do captulo, no caso da solucao de uma equacao diferencial
nao linear pelo metodo de elementos finitos, a discretizacao leva a um sistema de equacoes
algebricas nao linear:

Ri = Ri (C1 , C2 , ..., CN ) = 0 ; para i = 1, ..., N.


Cada equacao do sistema corresponde a um resduo ponderado:
Z 1 Z 1 Z 1
du di du
Ri = dx + u i dx + f i dx = 0.
0 dx dx 0 dx 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.
Z 1 Z 1 Z 1
Ri n du di du o
Ji,j = = Ri = dx + u i dx + f i dx
Cj Cj 0 dx dx 0 dx 0
Z 1 Z 1
di du du du
Ji,j = dx + (u) + u i dx.
0 dx Cj dx 0 Cj dx Cj dx
A derivada da funcao u e de sua derivada du
dx
em relacao aos coeficientes Cj sao calculados
da seguinte forma:
N !
X
(u) = C k k = (C1 1 + ... + Cj j + ... + CN N ) = j ,
Cj Cj k=1 Cj

N
!
du X dk d1 dj dN dj
= Ck = C1 + ... + Cj + ... + CN = .
Cj dx Cj k=1
dx Cj dx dx dx dx

Logo, os elementos da matriz Jacobiana para este problema sao dados por:
Z 1 Z 1
dj di du dj
Ji,j = dx + j +u i dx.
0 dx dx 0 dx dx
O algoritmo de solucao de um problema nao linear pelo metodo de elementos finitos
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 calculo do vetor resduo global
CALL FORMJM (C(iter1) )
Rotina para calculo 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

OBSERVACOES 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 fica 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 Nocoes de Tecnicas de Continuacao


O raio de convergencia do metodo de Newton e tipicamente menor do que o raio de
convergencia do metodo de Picard. Isto significa que o metodo de Newton somente ira
convergir se o chute inicial for proximo a solucao do problema. Porem, se o chute inicial
for adequado, o metodo de Newton converge quadraticamente, levando poucas iteracoes
ate o calculo da solucao do problema. O metodo de Picard, apesar de possuir um raio de
convergencia maior, tipicamente gasta um numero muito maior de iteracoes para calcular
a solucao do problema e em muitas vezes nao converge, independente do valor do chute
inicial.
Logo, o procedimento mais seguro e eficiente numericamente e utilizar o metodo de
Newton acoplado com tecnicas para procura de chutes iniciais adequados. Este processo de
calculo de chutes iniciais a medida que um parametro do problema e variado e denominado
de Continuacao.
Um sistema de equacoes algebricas originado a partir da discretizacao de uma equacao
diferencial que descreve um determinado fenomeno fsico pode ser representado de uma
forma geral como:

f (x, ) = 0,

50
fi sao as equacoes a serem resolvidas, xi representam a solucao do problema, e um
parametro do problema (numero de Reynolds, por exemplo).
Geralmente a solucao do problema para uma determinada faixa do parametro e bem
simples. Se for o numero de Reynolds, o problema f (x, 0) = 0 e linear, e o metodo de
Newton converge em uma iteracao, independente do valor do chute inicial.
O processo de continuacao consiste em, sabendo-se a solucao do problema para = i ,
determinar o chute inicial para o problema com = i+1 .
O procedimento mais rudimentar e utilizar a solucao anterior (com = i ) como chute
inicial:

x(o) (i+1 ) = x(i )


Este procedimento e conhecido como Continuacao de Ordem 0.

Um chute inicial bem melhor pode ser obtido usando o valor da derivada da solucao
em relacao ao parametro , como descrito a seguir. Este procedimento e denominado
Continuacao de Primeira Ordem.
O sistema a ser resolvido e representado por

f (x, ) = 0.
Diferenciando esta expressao em relacao a , obtem-se:
f dx f dx f
+ =0 J =
x d
|{z} d
J

dx 1 f f
=J x = J1 .
d
Logo, o valor do chute inicial para = i+1 e obtido pela seguinte expressao:
f
x(o) (i+1 ) = x(i ) J1 .

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 5.3 ilustra o chute inicial obtido com os dois procedimentos de continuacao
descritos nesta secao.

51
Figura 5.3: Chute inicial obtido com continuacao de ordem zero e primeira ordem.

52
Captulo 6

Formulacao Integral da Equacao de


Navier-Stokes

A equacao de Navier-Stokes para fluidos incompressveis :


(
u u = T, (em regime permanente);
(6.1)
u = 0;
onde para um Fluido Newtoniano ; T = pI + [u + uT ].

As variaveis do problema sao o campo de velocidade u e o campo de pressao p.

Figura 6.1: Domnio para problema de escoamento.

As condicoes de contorno para a equacao de Navier-Stokes podem ser em velocidade ou


forca agindo no contorno do domnio. A condicao de contorno utilizada depende da fsica
do problema. As fronteiras de um escoamento sao, em geral:

Entrada de fluido.
Sada de fluido.
Paredes solidas.

53
Interface entre dois fluidos.

Vamos assumir que para x 1 , prescrevemos a velocidade; i.e.

u = V em x 1 . (6.2)

Esta e uma condicao de contorno essencial. Corresponde as condicoes de impermeabili-


dade e nao deslizamento.

u n = V n impermeabilidade,
u t = V t nao deslizamento.

Para x 2 , vamos prescrever a forca superficial

T} = f
|n{z em x 2 . (6.3)
tracao

Esta e uma condicao de contorno natural. Prescreve a forca na fronteira. A forca pre-
scrita f depende da fsica do problema.

Para resolver este sistema de equacoes diferenciais parciais pelo metodo dos resduos pon-
derados, 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.

Metodo dos Resduos Ponderados

Como a equacao de consevacao da quantidade de movimento (6.1) e uma equacao veto-


rial, o resduo ponderado correspondente a esta equacao sera calculado atraves do produto
interno do resduo da aproximacao com um funcao peso vetorial W. A equacao da con-
tinuidade e uma equacao escalar e desta forma, a funcao peso utilizada w e uma funcao
escalar, como as utilizadas ate o captulo anterior.
Z
Rm = { u u T} W d = 0;

Z
Rc = { u}w d = 0.

Resduo associado a equacao de quantidade de movimento:

54
Z
Rm = { u u T} W d =

Z Z
= (u u) W ( T) W d.

O termo T apresenta segunda derivadas da velocidade (variavel primitiva do prob-


lema). 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

Z Z Z
( T) W d =
T : W + (T W) d.

R R
Usando o teorema de Gauss podemos escrever: (T W) d = n (T W) d

logo, Z Z Z
( T) W d = T : W + n (T W) d.

Finalmente:
Z Z Z
Rm = (u u) W + T : W (n T) W d.

A funcao peso vetorial W pode ser escrita em termos de suas componentes: W =


[W1 , W2 ] e cada termo do resduo da equacao de conservacao da quantidade de movimento
escrito em termos de suas componentes. No caso particular de sistema cartesiano, cada
termo do resduo ponderado e escrito como:

1) (u u) W = W1 u u x
+ v u
y
+ W 2 u v
x
+ v v
y
.


W1 u W1 u v
2) T : W = p + 2
x
+ y ( + ) +
x y x
| {z } | {z }
Txx Txy

W2 u v W2 v
+ x ( + ) + y p + 2 .
y x y
| {z } | {z }
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
dimensao n, a funcao peso vetorial W pertence a um espaco de dimensao 2n que e gerado
pela seguinte base de funcoes:


W1 1 2 n 0 0 0
W= , , ... , , , , ... , .
W2 0 0 0 1 2 n
| {z } | {z } | {z }
Espacos de dim=2n n funcoes n funcoes

Definindo o espaco das funcoes peso desta forma, as componentes da equacao de con-
servacao podem ser desacopladas, pois para as primeiras n funcoes base aparecem termos
correspondentes a primeira componente da velocidade, ja que W2 = 0 e para as ultimas n
funcoes base aparecem temos correspondentes a segunda componente da velocidade, ja que
para estas funcoes base W1 = 0.

Usando o fato do fluido Newtoniano, ou seja, T = pI + [u + uT ], as 2n equacoes


algebricas associadas a equacao de conservacao da quantidade de movimento sao escritas
como:

Z
i u u i u
Rmx= i u +v + p + 2 +
x y x x
Z
i u v
+ ( + ) d i fx d ; i = 1, ..., n.
y y x

Z
i v v i u v
Rmy= i u +v + ( + ) +
x y x y x
Z
i v
+ p + 2 d i fy d ; i = 1, ..., n.
y y

Resduo associado a equacao da continuidade:


Z
Rc = { u}w d = 0.

Onde w esta no espaco gerado pelas seguintes funcoes base: {1 , 2 , ..., m }. As m


equacoes algebricas associadas a equacao da continuidade sao escritas como:
Z
i u v
Rc = ( + ) i d ; i = 1, ..., m.
x y
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 movi-
mento 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:
Pn
u U i i
u= = Pi=1 n 2 n incognitas;
v i=1 Vi i

m
X
p= Pi i m incognitas.
i=1
Repare que a funcao peso ultilizada na equacao de continuidade e a mesma funcao ul-
tilizada para interpolar a pressao (i ) e assim o numero de incognitas (2n + m) e o mesmo
que o numero 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
0
(m < N ) e as funcoes R i s podem ser descontnuas. As funcoes 0i s devem ser contnuas,
2
pois tem que satisfazer |i | < . Nao existe essa restricao para 0i s.

Nao e qualquer combinacao arbitraria de 0i s e 0i s que leva a formulacoes com bom


desempenho numerico. Uma ma escolha de 0i s e 0i 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
6 e funcoes base i linear e i constante.
Z Z
( u) i d = 0 u d = 0
(e)
|{z} (e)
cte
A condicao de incompressibilidade com i constante leva a uma condicao de area con-
stante em todos os elementos.
Z
u d = 0. Area do elemento I e constante.
I
Observe que em se tratando de um triangulo, se a area e constante , entao o produto
base por altura nao muda, logo o no A so pode deslocar-se na vertical.
Por outro lado,
Z
u d = 0 Area do elemento II e constante.
II

57
Figura 6.2: Exemplo de formulacao instavel - malha truncada.

Para manter a area II fixa o no A so pode deslocar-se na horizontal.

uA = 0 Malha Trancada
Isso se deve a uma ma escolha da funcao peso. A tabela a seguir lista diferentes com-
binacoes de funcoes base i e i que levam a metodos estaveis.
Elementos Retangulares i i

bilinear (n = 4) constante (m = 1)
biquadratico (n = 9) bilinear (m = 4)
biquadratico (n = 9) linear discontnuo (m = 4)
bicubico (n = 16) biquadratico (m = 9)

Elementos Triangulares quadratico (n = 4) linear (m = 3)


cubico (n = 4) quadratico (m = 6)

Existe uma condicao que determina se uma certa combinacao de espacos de funcoes para
a velocidade e pressao e valida CONDICAO DE BABUSKA-BREZZI.

A condicao de Babuska-Brezzi verifica a consistencia das aproximacoes das derivadas.


A interpolacao de u e p nao podem ser escolhidas arbitrariamente.
R R
i i d 1
i ; i sup R

2 1 c{
2i d} 2
{ |i | d} 2

A verificacao e prova se uma determinada combinacao de i e i satisfazem a condicao


de Babuska-Brezzi sao complicados matematicamente e estao fora do escopo do curso, de-
vendo ser tratado em um curso mais avancado de elementos finitos.

A formulacao mista apresentada pode ser interpretada como solucao de uma equacao
diferencial (quantidade de movimento) com uma restricao imposta (continuidade) pelos

58
metodos dos Multiplicadores de Lagrange.

Na apresentacao do metodo de elementos finitos para equacao de Navier-Stokes, vamos


nos concentrar no seguinte elemento : Bi-quadratico para a velocidade e linear discontnuo
para pressao. Neste elemento, cada componente da velocidade possui 9 graus de liberdade
e o campo de pressao e representado por 3 graus de liberdade.

Figura 6.3: Elemento bi-quadratico de 9 nos.

P9
i=1 U i i
9 graus de liberdade para cada componente da velocidade,
P9
i=1 Vi i
Pm
p= i=1 Pi i 3 graus de liberdade para pressao.

Cada elemento possui 21 graus de liberdade. As matrizes elementares sao 21 21.


As funcoes base elementares i utilizadas para expandir o campo de velocidade serao
lagrangeanas, isto e:

i (Xj ) = ij ,
cada funcao base e igual a 1 no associado a funcao e nula nos demais. Cada coeficiente Uj
e Vj representa o valor da velocidade u e v no no j. Em termos das coordenadas locais, as
funcoes base para a velocidade sao:

( 1)( 1)
1 (, ) =
4

59
( + 1)( 1)
2 (, ) =
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 )(1 2 )
2

A figura 6.4 ilustra a forma destas funcoes base.


As funcoes base utilizadas para expandir o campo de pressao nao sao Lagrangeanas. Para
este elemento, elas sao escolhidas de forma que o primeiro grau de liberdade de pressao P1
represente o valor da pressao no centro do elemento; o segundo grau de liberdade P2 , a
derivada da pressao na direcao ; e o terceiro grau de liberdade P3 , a derivada da pressao
na direcao . Para isto, a variacao da pressao em cada elemento deve ser escrita como:
p = P1 + P2 + P3 , consequentemente, as funcao base i sao:

1 (, ) = 1
2 (, ) =
3 (, ) =
Observe que:
p( = 0, = 0) = P1 ;
dp
d = P2 e
dp
d = P3 .

Substituindo as expansoes para o campo de velocidade e pressao nas equacoes dos


resduos ponderados, obtem-se um sistema de 2n + m equacoes algebricas nao lineares.
As nao linearidades vem dos termos convectivos da equacao de Navier-Stokes. Neste curso,
o sistema nao linear sera resolvido pelo metodo de Newton. Para isto, deve-se calcular a ma-
triz Jacobiana que representa a sensibilidade de cada equacao em relacao a cada incognita:
Jij = R
cj
i
Derivada do Resduo i em relacao ao coeficiente cj .

Ate este captulo, a numeracao dos graus de liberdade dos elementos se confundia com
a propria numeracao dos nos. Como agora estamos resolvendo um sistema de equacoes
diferenciais parciais para os campos de velocidade (campo vetorial) e pressao (escalar),

60
Figura 6.4: Funcoes base bi-quadraticas.

o numero de graus de liberdade de cada elemento e maior do que o numero de nos do


elemento. O elemento que estamos trabalhando possui 9 nos e 21 graus de liberdade. Sao
eles: U1 , ..., U9 ; V1 , ..., V9 ; P1 , P2 , P3 .
A numeracao dos graus de liberdade elementar e totalmente arbitraria. A numeracao
local adotada aqui e mostrada na tabela a seguir:

61
# grau de liberdade local grau de liberdade
1 U1
2 U2
3
..
4 .
5
6
7
8 U8
9 U9
10 V1
11 V2
12
..
13 .
14
15
16
17 V8
18 V9
19 P1
20 P2
21 P3

Figura 6.5: Numeracao local dos graus de liberdade.

Desta forma, as primeiras 9 linhas da matriz Jacobiana elementar correspondem aos 9


resduos da componente x da equacao de Navier-Stokes; as 9 linhas seguintes, aos 9 resduos
da componente y; e as 3 ultimas linhas, aos 3 resduos da equacao de continuidade. Da
mesma forma, as 9 primeiras colunas estao associadas aos coeficientes Uj ; as 9 seguintes,
aos coeficientes Vj ; e as 3 ultimas colunas, aos 3 coeficientes Pj . Seguindo a numeracao dos

62
graus de liberdade apresentada na tabela, a matriz Jacobiana elementar possui a seguinte
estrutura:

i
Rmx i
Rmx i
Rmx

Uj Vj Pj


i
Rmy i
Rmy i
Rmy .

Uj Vj Pj


Rci Rci Rci
Uj Vj Pj

A expressao de cada cada bloco desta estrutura a apresentada a seguir:

i
Jacobiano de Rmx :

i Z
Rmx u j j
= i j +u +v +
Uj e x x y

i j i j
+ 2 + de ;
x x y y

i Z
Rmx u i j
= i j + de ;
Vj e y y x

i Z
Rmx i
= i de .
Pj e x
i
Jacobiano de Rmy :

i Z
Rmy v i j
= i j + de ;
Uj e x x y

i Z
Rmy j v j
= i u + j +v +
Vj e x y y

i j i j
+ + 2 de ;
x x y y

i Z
Rmy i
= i de .
Pj e y

Jacobiano da Continuidade :

63
Z
Rci j
= i de ;
Uj e x

Z
Rci j
= i de ;
Vj e 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 liber-
dade. 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 fica com
a seguinte forma:



i
Rmx i
Rmx i
Rmx

Uj Vj Pj

i i i

= K C
.
Rmy Rmy Rmy
Uj Vj Pj


Rci Rci Rci
=0 CT 0
Uj Vj Pj

O bloco de zeros na diagonal da matriz pode representar um problema a mais na


solucao do sistema linear J C = R em cada passo do metodo de Newton.

Existem outras formulacoes alem da formulacao mista discutida anteriormente utilizadas


para resolver o problema de escoamento incompressvel.

Metodo da Penalidade

A ideia basica e escrever uma equacao que relacione a pressao com a velocidade. Se
esta equacao de estado for quase incompressvel, entao a solucao obtida pelo metodo da
penalidade vai ser proxima da solucao do problema incompressvel.

64
A formulacao do problema pelo Metodo da Penalidade e:
(
u u = T ; T = pI + [u + uT ];
u = p ; onde e pequeno.
Quando 0, recupera-se a formulacao incompressvel.

Pode-se substituir a pressao na equacao de Navier-Stokes p = 1 u :



u u = 1 u + (u + uT ) .

A vantagem do Metodo da Penalidade e que a pressao foi eliminada e nao e mais variavel
do problema. O numero de variaveis do problema foi reduzido.

A proximidade da solucao obtida com a solucao do problema incompressvel depende


do valor de . Deve-se utilizar um pequeno (o menor possvel). Porem a medida que
diminui (e consequentemente 1 aumenta), a contribuicao relativa dos termos viscosos da
tensao diminui e a solucao obtida nao satisfaz corretamente a equacao de Navier-Stokes.
Esta e uma grande desvantagem do metodo.

Metodo da Penalidade com Interpolacao Mista.

E uma combinacao da Formulacao de Penalidade e Formulacao Mista. O objetivo e


evitar o problema descrito anteriormente . Como a formulacao e mista, resolve-se o campo
de velocidade e pressao, porem a continuidade nao e satisfeita totalmente:
(
u u = [p + (u + uT )];
u = p.
Z

Rm = u u = [p + (u + uT )] w d = 0;

Z
Rc = { u p} m d = 0;

9
X 9
X m
X
u= Ui i ; v= Vi i ; p= P i i .
i=1 i=1 i=1

Os resduos da equacao de quantidade de movimento sao identicos aos da formulcao


mista. A unica diferenca e na equacao de continuidade.
Z
i u v
Rc = + p i d;
x y
Z
Rci j
= i d;
Uj x

65
Z
Rci j
= i d;
Vj y
Z
Rci
= i j d.
Pj

A matriz Jacobiana global fica com a seguinte estrutura:




Z
K C
;

onde Mij = i j d.


CT M

A diferenca para a formulacao mista usual e que o bloco de zeros na diagonal e sub-
stituido por M.

Como M possui inversa, pode-se desacoplar a velocidade e pressao:






K C
U
= Rm
.



CT M P Rc

K U C P = Rm

1
CT U + M P = Rc P =
M1 [Rc CT U].

Substituindo-se P em funcao de U, pode-se chegar a um sistema de equacoes so-


mente para o passo de velocidade:
1
K U C
M1 (Rc CT U) = Rm

1 1
[K +
C M1 CT ] U = Rm
C M1 Rc

O Problema desacoplado pode ser reescrito como:

66


1 1 T
1 1

K+
CM C 0
U
= Rm
CM Rc
.



CT M P Rc

Calcula-se primeiramente a velocidade e depois a pressao:


1
p = u.

67
Captulo 7

Condicoes de Contorno

As condicoes de contorno de um problema em mecanica dos fluidos podem ser de 2 tipos:

Condicao de contorno em velocidade (Dirichlet) : Especifica o valor da velocidade


ou de um de seus componentes na fronteira do domnio.

Condicao de contorno em tracao (Newman) : Especifica a forca ou um de seus com-


ponentes 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 perfil de velocidade conhecido.


u = u(y),
Por exemplo, perfil parabolico:
v = 0.

Figura 7.1: perfil parabolico.

68
iii) Condicao de simetria

Ft = 0 forca tangencial = 0,
v = 0 velocidade vertical = 0.

Linha de simetria
x

Figura 7.2: linha de simetria.

Ft = 0 t ( n) = 0,
v n = 0.

Figura 7.3: linha de simetria.

iv) Condicao de tracao nula.

Figura 7.4: tracao nula.



Ft = t ( n) = 0,
n=0
Fn = n ( n) = 0.

69
v) Condicao em interfaces.

ar

liquido

Figura 7.5: interfaces.

tensao superficial pressao atm


z}|{ dt z}|{
n = + n pa
ds
curvatura
z}|{
n ( n) = K + pa ,
t ( n) = 0.

As condicoes de contorno de Dirichlet sao geralmente impostas de uma maneira


essencial. O resduo correspondente a variavel e simplesmente substituido por:

Ri = U i U ,

onde U e o valor que deseja-se impor a Ui .

Por exemplo, vamos analisar o problema ja visto anteriormente:

V=1

Figura 7.6: no 7.

A condicao de contorno e:

70
velocidade horizontal u = 1 u 1 = 0,
velocidade vertical v = 0.

Como o grau de liberdade local correspondente a velocidade horizontal no no marcado


e #7 e o correspondente a velocidade vertical e #16, vamos substituir estes respectivos
resduos por:

R7 = U7 1,
R16 = V7 0.
Ri
Sendo Ji,j = Uj
, note que:
R7
J7,j = 0, para j 6= 7 e J7,7 = = 1,
U7
R16
J16,j = 0, para j 6= 16 e J16,16 = = 1.
V7

A procedimento usual e calcular os resduos e as jacobianas elementares independente-


mente 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 ele-
mento 2, a matriz jacobiana fica:


...

...


...


0 0 1 0 ... 0


0 0 0 1 ... 0

.. ... ..
. .
0 ... 1

As condicoes de Newman aparecem naturalmente na formulacao do problema.


Lembrando a formulacao de resduos ponderados da equacao de Navier-Stokes, tem-se:

71
4 7 3

8 9 6

2
1
5

Figura 7.7: elemento 2.

Z
Rm = {Re u u } W d =

Z Z
= Re (u u) W + : W n ( W) d.

Z
i u u i u
Rmx= Re i u +v + p + 2 +
x y x x
Z
i u v
+ ( + ) d i (n )x d.
y y x

Z
i v v i u v
Rmy = Re i u +v + ( + ) +
x y x y x
Z
i v
+ p + 2 d i (n )y d.
y y

R
Observe que a integral i (n )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 )x ou (n )y vem da condicao de contorno a ser imposta. Por exemplo,
no caso da tracao nula:
(n )x = 0, (n )y = 0;
no caso de interface:
dtx dty
(n )x = + nx pa, (n )y = + ny pa.
ds ds

72
OBSERVACAO : A forma da equacao de Navier-Stokes a qual se aplica a formulacao
fraca e importante na imposicao da condicao de contorno de Newman.
A forma utilizada no curso foi a do divergente da tensao:

= [pI + u + uT ].

Observe que esse termo pode ser simplificado usando que u = 0, pela equacao da
continuidade;

= [pI + u + uT ]
= p + (u) + (uT )
| {z } | {z }
2 u (u)
2
= p + u + (
| {z u})
=0
2
= p + u

Esta forma simplificada e muito utilizada na literatura de diferencas finitas, porem o


termo que aparece na integral de linha nao possui significado fsico, por isso nos problemas
onde as condicoes de contorno de Newman sao forcas atuando na fronteira do domnio nao
e interessante usar a forma simplificada.

CONDICAO DE CONTORNO DE SAIDA DE ESCOAMENTO

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 computa-
cional, mas ja com o escoamento desenvolvido, e avaliar um parametro especfico).

Esta condicao sera imposta de uma forma natural:


Z Z
R = ( ) d i (n ) d,
| {z }
(?)

n = n [pI + u + uT ] = pn + n u + n uT ,

73
Z Z
R= ( ) d i [pn + n u} +n uT ] d.
| {z
0

Substitui-se a condicao de contorno, que e apenas um pedaco do argumento da integral


de linha, com isso, permanecem incognitas.
Z Z
R = ( ) d i [pn + n uT ] d,

onde, p e u sao as incognitas.

Assim, Rmx e Rmy sao:


Z Z
u v
Rmx = ( ) d i [p nx + nx + ny ].
x x
Z Z
u v
Rmy = ( ) d i [p ny + nx + ny ].
y y

Observe que os valores de p , u x


, u v
y x
v
, y na fronteira nao sao conhecidos e as ex-
pressoes em termos das funcoes base devem ser usadas no calculo da integral de linha, isto e:
P u
P j
p= P j j , x
= x
Uj , ...

Z
CALCULO DA INTEGRAL DE LINHA i ( ) d :

Considera-se o seguinte elemento, localizado na sada de um escoamento, onde a condicao


de escoamento desenvolvido esta sendo imposta como condicao de contorno.

**FIG

1) Calcular R sem se preocupar com a condicao de contorno.

2) Verificar se alguma condicao tem que ser imposta no elemento.


R
Sendo a condicao de contorno Natural e necessario acrescentar os termos i ( ) d nos
graus de liberdade associados aos nos da fronteira. Assim, acrescenta-se a integral de linha
nos resduos 2, 3, 6, 11, 12 e 15.

R R
R2 = R 2 +
2 (n )x d, R11 = R11 +
2 (n )y d,
R R
R3 = R 3 +
3 (n )x d, R12 = R12 +
3 (n )y d,
R R
R6 = R 6 + (n )x d,
6
R15 = R15 +
6 (n )y d.

74
Utilizando para a integral de linha 3 pontos de Gauss, de forma geral, tem-se:
Z Z 1
d
F(x, y) d = F( = 1, ) d,
1 d
s 2
2
d dx dy
onde, = + .
d d d
Como o valor de esta fixo, a funcao so varia com , assim, a intergracao em coorde-
nadas locais e ao londo da direcao .
Z
Logo, 2 (n )x d =

3
X u v d
= i (GP ) {pnx + nx + ny }GP WGP .
IGP =1
x x d

CONDICAO DE CONTORNO DE PRESSAO

Observe que nas equacoes so aparecem as derivadas de pressao e portanto o nvel de


pressao deve ser fixado nas condicoes de contorno ou artificialmente.

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.
|{z}
0

Exemplos:

1) Para problemas com superfcie livre (interface), o nvel de pressao e especificado au-
tomaticamente na condicao de contorno da interface:

dt
n = + n Patm .
ds

2) A pressao pode ser tambem especificada 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 especificado. Por exemplo, se a pressao na fronteira for especificada P , a
tracao e igual a:
n = P n + n u + n uT ,
Z Z

i (n )x d = i P n + n u + n uT x d.

75
3) No caso de um escoamento sem entrada e nem sada (como o projeto 2), deve-se
especificar 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 especificar
o valor da pressao de um dado elemento, R19 passa a ser R19 = P1 P e J19,j = 0, para
j 6= 19 e J19,19 = 1.

Figura 7.8: escoamento sem entrada e nem sada.

76
Captulo 8

Problema de Valor Inicial - Regime


Transiente

Vamos comecar analisando o problema de conducao em regime transiente.


u 2u

t
= x2
,





u(x, 0) = u0 (x), condicao inicial.






u u
x
(0, t) = x
(1, t) = 0. condicao de contorno.

Vamos usar a expansao por elementos finitos somente para descrever a variacao de u no
espaco, enquanto que na discretizacao do tempo usaremos diferencas finitas.

N N N
X u X u X i (x)
u(x, t) = Ui (t)i (x) (x, t) = Ui (t)i (x) ; (x, t) = Ui (t) .
i=1
t i=1
x i=1
x

Pode-se tambem utilizar o metodo de elementos finitos para discretizar no tempo, porem
existem poucas evidencias de alguma vantagem.
Z 1
Ri = [ut uxx ] i dx = 0
0
Integrando por partes:
Z 1
[ut i + ux ix ] dx [ux i ]10 = 0.
0 | {z }
=0 pela c.c.

Z 1
Ri = [ut i + ux ix ] dx = 0.
0
Substituindo as expansoes de u temos:

77
Z ( N N
)
1 X X
Ri = Uj j i + Uj jx ix dx,
0 j=1 j=1

N Z
X 1 Z 1
= j i dx Uj + jx ix dx Uj ,
j=1 0 0
| {z } | {z }
Mij Kij

N
X
= Mij Uj Kij Uj ,
j=1

M U = K U U = M1 K U.

M e comumente denotada matriz Massa.

A representacao geral para um problema de valor inicial e :

U = f (t, U) ; U(0) = U0 .

comentario : Talvez seja interessante colocar uma secao para os metodos...

Os metodos para a solucao desse tipo de sistema podem ser divididos em duas categorias
gerais :

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 classificacao usual e devido as 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 .

78
METODOS DE PASSO UNICO

Metodos Explcitos

Diferenca a frente
du un+1 un
= f (un , tn ) un+1 = un + t f (un , tn ).
dt t
Observe que todas as variaveis sao conhecidas explicitamente sem ser preciso calcular nen-
hum sistema.

Runge - Kuta

A ideia e calcular f (u, t) em varios pontos entre tn e tn+1 e combinar os resultados para
oblter uma boa aproximacao de u em tn+1 .

Metodos Implcitos

Diferenca a Re (Backward Difference).


du un+1 un
= f (un+1 , tn+1 ) un+1 = un + t f (un+1 , tn+1 )
dt t
Depois e necessario resolver o sistema de equacoes, que pode ou nao ser linear.

Observe que na diferenca a frente o problema e montado no tempo n e o instante seguinte


(n+1) e usado no calculo da derivada, ja na diferenca a re o problema e montado no instante
n + 1 sendo o tempo anterior (n) usado no calculo da derivada.

Crank-Nickolson (Trapezio)
un+1 un 1
= [f (un+1 , tn+1 ) + f (un , tn )].
t 2
METODOS MULTI-PASSO
P k1 P k2
Formula Geral: un+1 = i=0 i uni + tn i=0 i f (un+1i , tn+1i ).

Metodos Explcitos

Adams-Bashforth (ordem q)
q1
X
un+1 = un + tn+1 i f (un+1i , tn+1i ).
i=1

79
Adams-Moulton
q1
X
un+1 = un + tn+1 i f (un+1i , tn+1i ).
i=0

ESTABILIDADE DOS METODOS

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) ,
y(t+1)
e fazendo y(t)
temos a solucao exata :

y(t + 1) = y(t)et . (8.1)

Resolvendo por diferenca a frente para comparar:


yn+1 yn = t yn

yn+1 = (1 t) yn . (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 )


| {z }
n

n+1 = (1 t)n + [et (1 t)] y(tn )

|n+1 |
n |n |
= |1 t| < 1.

Se |1 t| > 1 o erro cresce com o tempo, e o metodo e dito instavel.

Para o metodo ser estavel t < 1 , essa condicao impoe um limite no passo do tempo.
Pode-se, assim, exigir passos de tempo muito pequenos.

80
FORMULACAO POR ELEMENTOS FINITOS E DIFERENCA A RE

Problema Linear:


du d2 u

dt
= dx2
,





u(x, t = 0) = u0 (x),






du du
dx
(x = 0, t) = dx
(x = 1, t) = 0.

Z 1 Z 1
du d2 u du du dphii
Ri = [ 2 ] i dx = i + dx.
0 dt dx 0 dt dx dx
N
X
u(x, t) = Uj (t)j (x).
j=1

N Z 1 N Z 1
X (n+1) (n)
X dj di (n+1)
j i dx [Uj Uj ] + dx Uj = 0.
dx dx
|0 |0
j=1
| {z } j=1
{z } t
{z }
Mij Kij

1
M[U(n+1) U(n) ] = K U(n+1)
t
1 1
[ t M K]U(n+1) = t
M U(n) ()
A cada intervalo de tempo resolver o sistema ().

Problema Nao-Linear:


du du d2 u

dt
+u dx
= dx2
,





u(x, t = 0) = u0 (x),






du du
dx
(x = 0, t) = dx
(x = 1, t) = 0.

Z 1
du du d2 u
Ri = [ +u ] i dx
0 dt dx dx2

81
Z 1
du du du di
= [ i + u i + ] dx.
0 dt dx dx dx
N
X
u(x, t) = Uj (t)j (x).
j=1

Z N
1X N N N
(n+1) (n)
X (n+1)
X (n+1) dk X (n+1) dj di
Ri = [Uj Uj ] j i + Uj j Uk i + Uj
0 j=1
| {z } j=1 k=1
dx j=1
dx dx
t

Sendo um sistema na-linear de equacoes em U(n+1) utilizar o metodo de Newton, ou


seja, para cada instante de tempo resolver:

(j+1)
Ri
(j+1) Uj = Rj ,
Uj

U(n+1) = U(n+1) + U(n+1) .

Z 1 1 Z
Ri 1 j u(n+1) j i
(j+1)
= j i dx + u(n+1) i + j i + dx
Uj t x x x x
|0 {z } | 0
{z }
M J

Para cada instante de tempo t(n+1) :

Chutar U(n+1) .
Se R (U(n+1) ) = 0 convergiu Passa para o proximo instante de tempo.

Se nao: 1
( t M + J) U(j+1) = R (U(n+1) , U(n) ),

U(n+1) = U(n+1) + U(n+1) .

82