Você está na página 1de 24

Notas de C alculo Num erico

Resoluc ao Num erica de Equac oes Diferenciais Parciais


1
Prof. Valentn Mendoza
Universidade Federal de Vicosa
Dezembro 2013.
1
Coment arios, crticas e sugest oes podem ser encaminhadas ao email valentin@ufv.br. Seremos gratos
a quem comunicar os erros de qualquer natureza encontrados no texto.
1 Resoluc ao Num erica de Equac oes Diferenciais Parciais
1.1 Introduc ao
As Equac oes Diferenciais Parciais (edps) frequentemente aparecem em fen omenos
fsicos, como transferencia de calor, vibrac oes de cordas, din amica de uidos, e em
problemas de economia, qumica e biologia. Em geral e difcil resolver uma edp por
t ecnicas analticas, mas em alguns casos podemos determinar uma soluc ao envolvendo
s eries de pot encias. Nesta sec ao apresentaremos m etodos num ericos para resolver edps
parab olicas e elpticas.
1.2 Preliminares
1.2.1 Equac oes Diferenciais Parciais
Consideraremos uma equac ao diferencial parcial (edp) de segunda ordem da forma
au
tt
+ bu
tx
+ cu
xx
= f (1)
em que u e uma func ao desconhecida dependente de x e t, e a, b, c e f s ao func oes dadas.
Se estas func oes dependem s o de x e t ent ao a edp e chamada linear. Se a, b, c ou f
dependem tamb em de u, u
x
e u
t
, ent ao a edp e chamada quase-linear.
Podemos classicar uma equac ao quase-linear de segunda ordem em tr es tipos:
(a) Se b
2
4ac > 0, a equac ao e chamada hiperb olica.
(b) Se b
2
4ac = 0, a equac ao e chamada parab olica.
(c) Se b
2
4ac < 0, a equac ao e chamada elptica.
Exemplo 1.1. O primeiro exemplo que apresentaremos e a Equac ao da Onda:
u
tt
=
2
u
xx
+ F(x, t)
que governa o movimento de uma onda sobre uma corda de comprimento L. e uma
constante e F(x, t) uma func ao de duas vari aveis. u(x, t) e a altura da onda no ponto x e
no tempo t. Como a = 1, b = 0 e c =
2
, obtemos que b
2
4ac = 4
2
> 0 e assim esta
equac ao e hiperb olica.
Exemplo 1.2. A Equac ao de Difus ao do Calor e
u
t
= u
xx
e uma equac ao quase-linear parab olica de segunda ordem desde que a = b = 0 e c = ,
e assim b
2
4ac = 0. A func ao u(x, t) representa a temperatura de uma barra de metal no
ponto x e no tempo t.
2
Exemplo 1.3. A Equac ao de Poisson dada por
u
xx
+ u
yy
= F(x, y)
e uma equac ao elptica desde que a = c = 1, b = 0 e b
2
4ac = 4 < 0. Se F(x, y) = 0 a
equac ao de Poisson e chamada equac ao de Laplace.
1.2.2 Aproximac oes da primeira e da segunda derivada
Precisaremos de algumas f ormulas para aproximar as derivadas. Suponhamos que
f : I R e uma func ao real. Como
f

(x) = lim
x
f (x + h) f (x)
h
podemos, se h for pequeno, aproximar a derivada pela f ormula, denominada diferenca
progressiva:
f

(x)
f (x + h) f (x)
h
.
Outra maneira de aproximar a derivada e mediante a diferenca regressiva:
f

(x)
f (x) f (x h)
h
Finalmente, pode aproximar a derivada fazendo a m edia das diferencas progressivas e
regressivas:
f

(x)
f (x + h) f (x h)
2h
chamada aproximac ao por diferencas centrais. A derivada segunda de f tamb em pode
ser aproximada mediante a f ormula:
f

(x)
f

(x + h) f

(x)
h
Utilizando diferencas regressivas, segue:
f

(x)
f (x+h)f (x)
h

f (x)f (xh)
h
h
=
f (x + h) 2 f (x) + f (x h)
h
2
.
Observac ao 1.1. As f ormulas anteriores podem ser utilizadas para aproximar as
derivadas de u em relac ao a t e a x. Estas aproximac oes s ao:
(i) Diferencas Progressivas:
u
t
(x, t)
u(x, t + h) u(x, t)
h
. (2)
3
(ii) Diferencas Regressivas:
u
t
(x, t)
u(x, t) u(x, t h)
h
. (3)
(iii) Diferencas Centrais:
u
t
(x, t)
u(x, t + h) u(x, t h)
2h
. (4)
(iv) Derivadas Segundas:
u
xx
(x, t)
u(x + h, t) 2u(x, t) + u(x h, t)
h
2
. (5)
1.3 Equac oes Parab olicas
1.3.1 O modelo de Equac ao Parab olica
O modelo de equac ao parab olica que trabalharemos e a equac ao da difus ao do calor:
u
t
= u
xx
que governa a evoluc ao da temperatura de uma barra de metal de tamanho L. Supondo
que est a barra e muito na, podemos considerar que a temperatura e constante na
sec ao tranversal situada a uma dist ancia x. Dessa forma, a func ao u(x, t) representa a
temperatura da barra na sec ao transversal no ponto x, 0 x L, e no tempo t.
Figura 1: Barra de metal.
Para resolver est a edp precisamos de certas condic oes. Com o intuito de saber
como evolui a temperatura da barra, devemos conhecer a temperatura inicial, ou seja, a
temperatura no tempo t = 0, isto e u(x, 0). Assim, suponhamos que a temperatura inicial
e dada por uma func ao contnua (x):
u(x, 0) = (x), se 0 x L.
A condic ao anterior e conhecida como Condic ao Inicial. Alem disso, para resolver a
equac ao precisamos especicar a temperatura nos extremos da barra em cada tempo t,
4
ou seja, devemos conhecer u(0, t) e u(L, t). Assim, suponhamos que
u(0, t) = f (t) e u(L, t) = g(t),
emque f (t) e g(t) s aofunc oes contnuas. Estas condic oes s aoconhecidas comoCondic oes
de Fronteira. Desejamos conhecer o valor de u(x, t) num certo tempo t = T dado.
Dessa forma, resolver a equac ao signica encontrar uma func ao u(x, y) que satisfaz:
u
t
= u
xx
(6)
sujeita ` a
_

_
u(x, 0) = (x), 0 x L (Condic ao Inicial)
u(0, t) = f (t), 0 t T (Condic ao de Fronteira)
u(L, t) = g(t), 0 t T (Condic ao de Fronteira)
(7)
Este problema e chamado Problema de Dirichlet.
1.3.2 Discretizac ao
Resolver numericamente uma edp signica encontrar aproximac oes da soluc ao u(x, t)
num conjunto nito de pontos do domnio R = {(x, t) : 0 x L, 0 t T}. Para
isso precisamos discretizar R. Escolhemos dois inteiros positivos N e M e dividimos o
intervalo [0, L] em N sub-intervalos, e o intervalo [0, T] em M sub-intervalos.
Figura 2: Discretizac ao do Domnio.
Denindo
h =
L
N
e k =
T
M
, (8)
o intervalo espacial [0, L] ca dividido em N + 1 pontos
5
x
i
= ih, para todo i = 0, ..., N; (9)
e o intervalo temporal [0, T] ca dividido em M+ 1 pontos
t
j
= jk, para todo j = 0, ..., M. (10)
Na Figura (2) apresentamos a malha no caso N = 4 e M = 3.
1.3.3 M etodo Explcito
Precisamos da seguinte denic ao.
Seja U
i, j
a aproximac ao de u no ponto (x
i
, t
j
):
U
i, j
u(x
i
, t
j
). (11)
Pelas condic oes (7), conhecemos o valor de U
i, j
quando j = 0, i = 0 e i = N, isto e:
(C1) U
i,0
= u(x
i
, t
0
) = u(x
i
, 0) = (x
i
), para todo i = 0, N;
(C2) U
0, j
= u(x
0
, t
j
) = u(0, t
j
) = f (t
j
), para todo j = 0, M;
(C3) U
N, j
= u(x
N
, t
j
) = u(L, t
j
) = g(t
j
), para todo j = 0, M.
Em outras palavras conhecemos os valores de u(x, t) nos pontos que est ao no bordo do
domnio R, ou seja, os pontos em azul na Figura 2.
Nosso objetivo ser a determinar os valores da aproximac ao da temperatura U
i, j
nos
pontos internos da discretizac ao (os pontos em vermelho na Figura 2).
No M etodo explcito aproximamos a derivada u
t
usando diferencas progressivas e
as f ormulas da observac ao 1.1. Assim a discretizac ao da equac ao
u
t
= u
xx
no ponto (x
i
, t
j
) e a seguinte:
u(x
i
, t
j
+ k) u(x
i
, t
j
)
k

_
u(x
i
+ h, t
j
) 2u(x
i
, t
j
) + u(x
i
h, t
j
)
h
2
_
ou
u(x
i
, t
j+1
) u(x
i
, t
j
)
k

_
u(x
i+1
, t
j
) 2u(x
i
, t
j
) + u(x
i1
, t
j
)
h
2
_
6
Introduzindo as aproximac oes U
i, j
, obtemos:
U
i, j+1
U
i, j
k
=
_
U
i+1, j
2U
i, j
+ U
i1, j
h
2
_
Se
=
k
h
2
,
segue ent ao que
Para j = 0, , N 1 e i = 1, , N 1
U
i, j+1
= U
i+1, j
+ (1 2)U
i, j
+ U
i1, j
. (12)
Da f ormula anterior, os valores U
i, j+1
nos pontos da linha j + 1 s ao uma combinac ao de
tr es valores U
i+1, j
, U
i, j
e U
i1, j
em pontos da linha j. A Figura (3) mostra uma mol ecula
computacional do m etodo explcito.
Figura 3: Uma mol ecula computacional no m etodo explcito.
Se, por exemplo, j = 0,
U
i,1
= U
i+1,0
+ (1 2)U
i,0
+ U
i1,0
, em i = 1, N 1.
Como conhecemos os valores U
i,0
, para i = 0, , N, pelas condic oes C1, C2 e C3,
podemos determinar diretamente todos os valores dos U
i,1
.
A ideia do m etodo explcito e encontrar os valores da linha j = 1 por c alculo direto
usando os valores da linha j = 0. Procedendo otra vez, obtemos os valores da linha
j = 2 usando os valores da linha j = 1. E assim sucessivamente, at e chegar a linha
j = M que corresponde ao valor de t = T.
7
Denic ao 1.1. Um m etodo num erico e chamado est avel quando os erros cometidos na
etapa j n ao se incrementam na etapa j + 1.
O M etodo Explcito e est avel s o quando

1
2
.
Para garantir a estabilidade deste m etodo sempre escolheremos h e k de forma que
2k < h
2
. (13)
Exemplo 1.4. Resolva numericamente a equac ao parab olica:
u
t
= u
xx
sujeita ` a
_

_
u(x, 0) = x +
1
2
sin(2x), 0 x 1 (Condic ao Inicial)
u(0, t) = 0, 0 t T (Condic ao de Fronteira)
u(1, t) = 1, 0 t T (Condic ao de Fronteira)
Considere N = 5 e k =
1
60
. Determine as duas linhas correspondentes a j = 1 e j = 2.
Soluc ao:
Observe que = 1, h =
1
5
e =
k
h
2
=
5
12
e as func oes
(x) = x +
1
2
sin(2x), f (t) = 0, g(t) = 1.
Os valores x
i
para i = 0, , 5 s ao:
x
0
= 0, x
1
=
1
5
, x
2
=
2
5
, x
3
=
3
5
, x
4
=
4
5
, x
5
= 1.
Se j = 1, t
1
=
1
60
e se j = 2, t
2
=
2
60
=
1
30
.
Da condic ao C1 obtemos U
i,0
= u(x
i
, 0) = (x
i
). Assim
U
0,0
= 0, U
1,0
= 0, 67552, U
2,0
= 0, 69389, U
3,0
= 0, 30610, U
4,0
= 0, 32447, U
5,0
= 1.
Al em disso, das condic oes C1 e C2 segue
U
0,1
= f (t
1
) = 0, U
0,2
= f (t
2
) = 0,
8
U
3,1
= g(t
1
) = 1, U
3,2
= g(t
2
) = 1.
Se j = 0, obtemos as aproximac oes no tempo t
1
=
1
60
. Das equac oes (12), obtemos
U
1,1
= U
2,0
+ (1 2)U
1,0
+ U
0,0
= (
5
12
)(0, 69389) + (
1
6
)(0, 67552) + (
5
12
)(0) = 0, 40170
U
2,1
= U
3,0
+(1 2)U
2,0
+U
1,0
= (
5
12
)(0, 30610) +(
1
6
)(0, 69389) +(
5
12
)(0, 67552) = 0, 52465
U
3,1
= U
4,0
+(1 2)U
3,0
+U
2,0
= (
5
12
)(0, 32447) +(
1
6
)(0, 30610) +(
5
12
)(0, 69389) = 0, 47533
U
4,1
= U
5,0
+ (1 2)U
4,0
+ U
3,0
= (
5
12
)(1) + (
1
6
)(0, 32447) + (
5
12
)(0, 30610) = 0, 59828.
Se j = 1 obtemos as aproximac oes no tempo t
2
=
2
60
. Segue, das equac oes (12),
que
U
1,2
= U
2,1
+ (1 2)U
1,1
+ U
0,1
= (
5
12
)(0, 52465) + (
1
6
)(0, 40170) + (
5
12
)(0) = 0, 28555
U
2,2
= U
3,1
+(1 2)U
2,1
+U
1,1
= (
5
12
)(0, 47533) +(
1
6
)(0, 52465) +(
5
12
)(0, 40170) = 0, 45287
U
3,2
= U
4,1
+(1 2)U
3,1
+U
2,1
= (
5
12
)(0, 59828) +(
1
6
)(0, 47533) +(
5
12
)(0, 52465) = 0, 54710
U
4,2
= U
5,1
+ (1 2)U
4,1
+ U
3,1
= (
5
12
)(1) + (
1
6
)(0, 59828) + (
5
12
)(0, 47533) = 0, 71443.
Na Figura (4) mostramos as soluc oes num ericas para u(x, t) nos tempos t
1
e t
2
.
Condio Inicial
Figura 4: Condic ao inicial e soluc oes num ericas para a equac ao do Exemplo 1.4.
9
1.3.4 O M etodo Implcito
Consideraremos o mesmo modelo de equac ao parab olica:
u
t
= u
xx
(14)
sujeita ` a
_

_
u(x, 0) = (x), 0 x L (Condic ao Inicial)
u(0, t) = f (t), 0 t T (Condic ao de Fronteira)
u(L, t) = g(t), 0 t T (Condic ao de Fronteira)
(15)
e utilizaremos a mesma discretizac ao do m etodo explcito da sec ao (1.3.2).
O M etodo Implicto e obtido substituindo as diferencas regressivas, da Observac ao
1.1, para aproximar u
t
na equac ao (14). Assim, a discretizac ao da equac ao no ponto
(x
i
, t
j
) e:
u(x
i
, t
j
) u(x
i
, t
j
k)
k

_
u(x
i
+ h, t
j
) 2u(x
i
, t
j
) + u(x
i
h, t
j
)
h
2
_
Assim
u(x
i
, t
j
) u(x
i
, t
j1
)
k

_
u(x
i+1
, t
j
) 2u(x
i
, t
j
) + u(x
i1
, t
j
)
h
2
_
Substituindo a aproximac ao U
i, j
u(x
i
, t
j
) obtemos:
U
i, j
U
i, j1
k

_
U
i+1, j
2U
i, j
+ U
i1, j
h
2
_
De novo, se =
k
h
2
, obtemos
Para j = 1, , M e i = 1, , N 1
U
i, j1
= U
i+1, j
+ (1 + 2)U
i, j
U
i1, j
. (16)
Neste caso U
i, j1
e uma combinac ao linear de tr es aproximac oes U
i+1, j
, U
i, j
e U
i1, j
.
Isto e, a linha j 1 depende da linha j. A mol ecula computacional e:
Figura 5: Uma mol ecula computacional no m etodo implcito.
Repare que n aopodemos calcular diretamente os valores U
i, j
da linha j pois a equac ao
10
(16) envolve dois ou tr es valores desconhecidos. Por em, xando j, podemos considerar
as equac oes para i = 1, , N 1,
_

_
U
1, j1
= U
2, j
+ (1 + 2)U
1, j
U
0, j
U
2, j1
= U
3, j
+ (1 + 2)U
2, j
U
1, j
.
.
.
.
U
N1, j1
= U
N, j
+ (1 + 2)U
N1, j
U
N2, j
.
(17)
que constituem um sistema de equac oes lineares.
Supondo que conhecemos os valores de U
i, j1
, para i = 0, , N, podemos substitu-
los no sistema (17) para obter um sistema da forma
_

_
U
2, j
+ (1 + 2)U
1, j
= U
1, j1
+ U
0, j
U
3, j
+ (1 + 2)U
2, j
U
1, j
= U
2, j1
.
.
.
U
N1, j
+ (1 + 2)U
N2, j
U
N3, j
= U
N2, j1
(1 + 2)U
N1, j
U
N2, j
= U
N1, j1
+ U
N, j
(18)
cujas inc ognitas s ao justamente os valores de {U
1, j
, U
2, j
, , U
N1, j
} correspondente ` a
linha j. Isto e, os valores da linha j dependem implicitamente dos valores na linha j 1
pelas equac oes (17).
Lembrando que U
0, j
= f (t
j
) e U
N, j
= g(t
j
), o sistema linear (18) pode-se escrever em
forma matricial na forma:
_

_
1 + 2 0 0
1 + 2 0
0 1 + 2 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 + 2
0 0 1 + 2
_

_
_

_
U
1, j
U
2, j
U
3, j
.
.
.
U
N2, j
U
N1, j
_

_
=
_

_
U
1, j1
+ f (t
j
)
U
2, j1
U
3, j1
.
.
.
U
N2, j1
U
N1, j1
+ g(t
j
)
_

_
(19)
que e o sistema do M etodo Implcito a ser resolvido em cada est agio.
Uma observac ao importante e a seguinte:
Observac ao 1.2. O m etodo Implcito e est avel para todo valor de , ou seja, e incon-
dicionalmente est avel.
11
Exemplo 1.5. Resolva numericamente pelo M etodo Implcito a equac ao parab olica:
u
t
= u
xx
(20)
sujeita ` a
_

_
u(x, 0) = x +
1
2
sin(2x), 0 x 1 (Condic ao Inicial)
u(0, t) = 0, 0 t T (Condic ao de Fronteira)
u(1, t) = 1, 0 t T (Condic ao de Fronteira)
(21)
Considere N = 5 e k =
1
60
. Determine as duas linhas correspondentes a j = 1 e j = 2.
Soluc ao:
Os dados s ao os mesmos que no Exemplo 1.4. Mudar a a forma como calculamos os
valores U
i, j
para j = 1 e j = 2.
Assim = 1, h =
1
5
, =
k
h
2
=
5
12
e (x) = x + sin(2x), f (t) = 0, g(t) = 1. Tamb em
x
0
= 0, x
1
=
1
5
, x
2
=
2
5
, x
3
=
3
5
, x
4
=
4
5
, x
5
= 1.
e t
1
=
1
60
, t
2
=
2
60
=
1
30
.
Os valores na fronteira s ao
U
0,0
= 0, U
1,0
= 0, 67552, U
2,0
= 0, 69389, U
3,0
= 0, 30610, U
4,0
= 0, 32447, U
5,0
= 1.
U
0,1
= 0, U
0,2
= 0, U
3,1
= 1, U
3,2
= 1.
Substituindo j = 1 no sistema matricial (19), obtemos:
_

_
1 + 2(
5
12
)
5
12
0 0

5
12
1 + 2(
5
12
)
5
12
0
0
5
12
1 + 2(
5
12
)
5
12
0 0
5
12
1 + 2(
5
12
)
_

_
_

_
U
1,1
U
2,1
U
3,1
U
4,1
_

_
=
_

_
U
1,0
+
5
12
f (t
1
)
U
2,0
U
3,0
U
4,0
+
5
12
g(t
1
)
_

_
Simplicando
_

_
11
6

5
12
0 0

5
12
11
6

5
12
0
0
5
12
11
6

5
12
0 0
5
12
11
6
_

_
_

_
U
1,1
U
2,1
U
3,1
U
4,1
_

_
=
_

_
0, 67552
0, 69389
0, 30610
0, 74113
_

_
Resolvendo este sistema encontramos que
U
1,1
= 0, 50176, U
2,1
= 0, 58649, U
3,1
= 0, 41349, U
4,1
= 0, 49822.
12
Substituindo j = 2 no sistema matricial (19) obtemos
_

_
11
6

5
12
0 0

5
12
11
6

5
12
0
0
5
12
11
6

5
12
0 0
5
12
11
6
_

_
_

_
U
1,2
U
2,2
U
3,2
U
4,2
_

_
=
_

_
U
1,1
+
5
12
f (t
2
)
U
2,1
U
3,1
U
4,1
+
5
12
g(t
2
)
_

_
=
_

_
0, 50176
0, 58649
0, 41349
0, 91488
_

_
Ent ao
U
1,2
= 0, 39149, U
2,2
= 0, 51834, U
3,2
= 0, 48163, U
4,3
= 0, 60848.
Condio Inicial
Figura 6: Condic ao inicial e soluc oes num ericas para a equac ao do Exemplo 1.5.
1.3.5 O M etodo de Crank-Nicolson
Uma maneira de conseguir melhores resultados na resoluc ao num erica de EDP Pa-
rab olicas e utilizar uma combinac ao do m etodo explcito e o m etodo implcito. O
m etodo resultante e chamado M etodo de Crank-Nicolson.
Do M etodo Explcito para j = 1, , N e i = 1, , N 1
U
i, j
= U
i+1, j1
+ (1 2)U
i, j1
+ U
i1, j1
. (22)
Do M etodo Implcito para j = 1, , M e i = 1, , N 1
U
i, j1
= U
i+1, j
+ (1 + 2)U
i, j
U
i1, j
. (23)
Somando o termo da direita da equac ao (22) com o termo da esquerda da equac ao (23),
e o termo da esquerda da equac ao (22) com o termo da direita da equac ao (23), obtemos
as equac oes do M etodo de Crank-Nicolson:
13
Para j = 1, , M e i = 1, , N 1,
U
i+1, j
+ (2 + 2)U
i, j
U
i1, j
= U
i+1, j1
+ (2 2)U
i, j1
+ U
i1, j1
(24)
Cada equac ao deste m etodo relaciona tr es vari aveis desconhecidas U
i+1, j
, U
i, j
e U
i1, j
com tr es vari aveis conhecidas U
i+1, j1
, U
i, j1
e U
i1, j1
. Uma mol ecula computacional e
dada na gura abaixo.
Figura 7: Uma mol ecula computacional no m etodo de Crank-Nicolson.
Fixemos j. Supondo que conhecemos os valores de U
i, j1
, para i = 0, , N, podemos
determinar ent ao os valores U
i, j
da linha j resolvendo N 1 equac oes
_

_
U
2, j
+ (2 + 2)U
1, j
U
0, j
= U
2, j1
+ (2 2)U
1, j1
+ U
0, j1
U
3, j
+ (2 + 2)U
2, j
U
1, j
= U
3, j1
+ (2 2)U
2, j1
+ U
1, j1
.
.
.
U
N1, j
+ (2 + 2)U
N2, j
U
N3, j
= U
N1, j1
+ (2 2)U
N2, j1
+ U
N3, j1
U
N, j
+ (2 + 2)U
N1, j
U
N2, j
= U
N, j1
+ (2 2)U
N1, j1
+ U
N2, j1
(25)
cujas inc ognitas s ao justamente os valores de {U
1, j
, U
2, j
, , U
N1, j
} correspondentes ` a
linha j. Isto e, os valores da linha j dependem dos valores na linha j 1 pelas equac oes
(25).
Lembrando que U
0, j
= f (t
j
) e U
N, j
= g(t
j
), o sistema linear (25) pode-se escrever em
forma matricial na forma:
_

_
2 + 2 0 0
2 + 2 0
0 2 + 2 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 2 + 2
0 0 2 + 2
_

_
_

_
U
1, j
U
2, j
U
3, j
.
.
.
U
N2, j
U
N1, j
_

_
=
14
_

_
2 2 0 0
2 2 0
0 2 2 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 2 2
0 0 2 2
_

_
_

_
U
1, j1
U
2, j1
U
3, j1
.
.
.
U
N2, j1
U
N1, j1
_

_
+
_

_
(U
0, j1
+ U
0, j
)
0
0
.
.
.
0
(U
N, j1
+ U
N, j
)
_

_
(26)
que e o sistema do M etodo de Crank-Nicolson a ser resolvido em cada est agio.
No que se refere a estabilidade, o M etodo de Crank-Nicolson e est avel para todo
> 0.
Exemplo 1.6. Resolva numericamente a equac ao parab olica pelo M etodo de Crank-
Nicolson :
u
t
= 2u
xx
(27)
sujeita ` a
_

_
u(x, 0) = 1 x
3
+
3x
2
2

2x
3
, 0 x 1 (Condic ao Inicial)
u(0, t) = 1, 0 t T (Condic ao de Fronteira)
u(1, t) =
5
6
+ te
t
, 0 t T (Condic ao de Fronteira)
(28)
Considere N = 4 e k =
1
40
. Determine as duas linhas correspondentes a j = 1 e j = 2.
Soluc ao:
Dos dados h =
1
4
= 0, 25 e =
k
h
2
=
4
5
, e as func oes
(x) = 1 x
3
+
3x
2
2

2x
3
, f (t) = 1, g(t) =
5
6
+ te
t
.
Os valores x
i
e t
j
s ao:
x
0
= 0, x
1
= 0, 25, x
2
= 0, 5, x
3
= 0, 75, x
4
= 1, 0,
t
0
= 0, t
1
=
1
40
, t
2
=
2
40
.
Como U
i,0
= u(x
i
, 0) = (x
i
) segue que:
U
0,0
= 1, U
1,0
= 0, 91145, U
2,0
= 0, 91666, U
3,0
= 0, 92187, U
4,0
= 0, 83333
15
Das condic oes de fronteira
U
0,1
= f (t
1
) = 1, U
0,2
= f (t
2
) = 1
U
4,0
= g(t
1
) = 0, 85771, U
4,1
= g(t
2
) = 0, 88089.
Se j = 1 nas equac oes (26), segue que
_

_
18
5

4
5
0

4
5
18
5

4
5
0
4
5
18
5
_

_
_

_
U
1,1
U
2,1
U
3,1
_

_
=
_

_
2
5
4
5
0
4
5
2
5
4
5
0
4
5
2
5
_

_
_

_
U
1,0
U
2,0
U
3,0
_

_
+
_

_
4
5
(U
0,0
+ U
0,1
)
0
4
5
(U
4,0
+ U
4,1
)
_

_
Substituindo os valores conhecidos, chegamos ao sistema:
_

_
18
5

4
5
0

4
5
18
5

4
5
0
4
5
18
5
_

_
_

_
U
1,1
U
2,1
U
3,1
_

_
=
_

_
2, 69790
1, 83332
2, 45490
_

_
Resolvendo este sistema: U
1,1
= 0, 95341, U
2,1
= 0, 91799, U
3,1
= 0, 88591.
Se j = 2 nas equac oes (26), segue que
_

_
18
5

4
5
0

4
5
18
5

4
5
0
4
5
18
5
_

_
_

_
U
1,2
U
2,2
U
3,2
_

_
=
_

_
2
5
4
5
0
4
5
2
5
4
5
0
4
5
2
5
_

_
_

_
U
1,1
U
2,1
U
3,1
_

_
+
_

_
4
5
(U
0,1
+ U
0,2
)
0
4
5
(U
4,1
+ U
4,2
)
_

_
=
_

_
2, 71577
1, 83865
2, 49818
_

_
Resolvendo as equac oes: U
2,1
= 0, 95967, U
2,2
= 0, 92382, U
2,3
= 0, 89923.
Condio Inicial
Figura 8: Soluc oes num ericas e condic ao inicial da equac ao do Exemplo 1.6.
16
1.3.6 Condic oes de Fronteira de Neumann ou com Derivadas
Em certos problemas envolvendo equac oes parab olicas n ao conhecemos os valores
u(0, t), u(L, t) de u(x, t) nas fronteiras x = 0 e x = L. Para obter uma soluc ao neste
tipo de problemas devemos especicar o valor da derivada de u(x, t), em relac ao a x, na
fronteira do intervalo. Ou seja, precisamos das condic oes:
u(0, t)
x
= f (t),
u(L, t)
x
= g(t).
Isto leva a formular o problema con condic oes de Neumann:
u
t
= u
xx
(29)
sujeita ` a
_

_
u(x, 0) = (x), 0 x L (Condic ao Inicial)
u(0,t)
x
= f (t), 0 t T (Condic ao de Fronteira de Neumann)
u(L,t)
x
= g(t), 0 t T (Condic ao de Fronteira de Neumann)
(30)
Pode-se resolver numericamente esta equac aodiferencial parcial utilizandoa discretizac ao
apresentada anteriormente e qualquer umdos tr es m etodos estudados: explcito, implcito
e/ou Crank-Nicolson. O unico inconveniente e agora os valores U
0, j
e U
N, j
, com
j = 1, , M, s ao desconhecidos pois somente conhecemos o valor da derivada da
func ao no bordo, mas n ao o valor da func ao. Ou seja, devemos incluir os valores dos
U
0, j
e U
N, j
como inc ognitas de nosso problema.
Supondo, por exemplo, que desejamos utilizar o m etodo explcito para resolver a
edp acima. Ent ao, para cada i = 0, , N, utilizaremos a f ormula
U
i, j+1
= U
i+1, j
+ (1 2)U
i, j
+ U
i1, j
. (31)
Quando escrevemos est a f ormula para o ponto U
0, j
, ou seja i = 0, resulta
U
0, j+1
= U
1, j
+ (1 2)U
0, j
+ U
1, j
. (32)
que s ao as equac oes contendo U
1, j
= u(x
1
, t
j
), os valores da func ao nos pontos (x
1
, t
j
) =
(h, kj), para j = 0, , N 1. Estes pontos est ao fora da malha, e por tanto ser ao
chamados pontos fantasmas. Similarmente, se i = N, o m etodo explcito fornece a
equac oes
U
N, j+1
= U
N+1, j
+ (1 2)U
N, j
+ U
N1, j
(33)
as quais cont em os pontos fantasmas U
N+1, j
= u(x
N+1
, t
j
), o valor de da func ao nos
pontos (x
N+1
, t
j
) = ((N+1)h, jk), que n ao est a na malha. Na Figura (9) temos apresentado
a malha e os pontos fantasmas no caso que N = 4 e M = 3.
17
Figura 9: Discretizac ao do Domnio e os pontos fantasmas.
O trabalho com os pontos fantasmas e feito utilizando as condic oes de Neumann. Se
aproximarmos a derivada u
t
no ponto (x
0
, t
j
) por diferencas centrais segue que:
u(x
0
, t
j
)
x

u(x
1
, t
j
) u(x
1
, t
j
)
2h
Comparando com as condic oes de fronteira de Neumann dadas nas equac oes (30)
f (t
j
)
u(x
1
, t
j
) u(x
1
, t
j
)
2h
.
Por tanto
f (t
j
) =
U
1, j
U
1, j
2h
o equivalentemente
U
1, j
= U
1, j
2hf (t
j
), (34)
que expressa o fato que o valor nos pontos fantasma depende do valor nos pontos
interiores da malha.
Repetindo o mesmo processo no ponto (x
N
, t
j
) obtemos:
u(x
N
, t
j
)
x

u(x
N+1
, t
j
) u(x
N1
, t
j
)
2h
Das condic oes de Neumann
g(t
j
) =
U
N+1, j
U
N1, j
2h
Implicando que
18
U
N+1, j
= U
N1, j
+ 2hg(t
j
). (35)
Substituindo os valores de U
1, j
e U
N+1, j
nas equac oes (32) e (33):
U
0, j+1
= U
1, j
+ (1 2)U
0, j
+ (U
1, j
2hf (t
j
)) = (1 2)U
0, j
+ 2U
1, j
2hf (t
j
)
U
N, j+1
= (U
N1, j
+ 2hg(t
j
)) + (1 2)U
N, j
+ U
N1, j
= 2U
N1, j
+ (1 2)U
N, j
+ 2hg(t
j
)
Ent ao as equac oes (31) convertem-se no sistema
_

_
U
0, j+1
= (1 2)U
0, j
+ 2U
1, j
2hf (t
j
)
U
i, j+1
= U
i+1, j
+ (1 2)U
i, j
+ U
i1, j
.
.
.
.
U
i, j+1
= U
i+1, j
+ (1 2)U
i, j
+ U
i1, j
.
U
N, j+1
= 2U
N1, j
+ (1 2)U
N, j
+ 2hg(t
j
)
(36)
como qual podemos calcular diretamente as inc ognitas {U
0, j+1
, U
1, j+1
, , U
N, j+1
} a partir
dos valores {U
0, j
, U
1, j
, , U
N, j
}. Em forma matricial
_

_
U
0, j+1
U
1, j+1
U
2, j+1
.
.
.
U
N1, j+1
U
N, j+1
_

_
=
_

_
1 2 2 0 0
1 2 0
0 1 2 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 2
0 0 2 1 2
_

_
_

_
U
0, j
U
1, j
U
2, j
.
.
.
U
N1, j
U
N, j
_

_
+
_

_
2hf (t
j
)
0
0
.
.
.
0
2hg(t
j
)
_

_
(37)
Exemplo 1.7. Resolva numericamente pelo M etodo explcito a equac ao parab olica com
condic oes de Neumann:
u
t
= 2u
xx
sujeita ` a
_

_
u(x, 0) = 1 x
2
, 0 x 1 (Condic ao Inicial)
u(0,t)
x
= 0, 0 t T (Condic ao de Neumann)
u(L,t)
x
= 2e
t
, 0 t T (Condic ao de Neumann)
Considere N = 2 e k =
1
40
. Determine a linha correspondente a j = 1.
Soluc ao:
19
Dos dados do problema h =
1
2
= 0, 5, =
k
h
2
=
1
5
.
x
0
= 0, x
1
=
1
2
, x
2
= 1, t
0
= 0, t
1
=
1
40
, t
2
=
2
40
.
(x) = 1 x
2
, f (t) = 0, g(t) = 2e
t
E os valores U
0,0
= (x
0
) = 1, U
1,0
= (x
1
) = 0, 75, U
2,0
= (x
2
) = 0, e
f (t
0
) = f (t
1
) = f (t
2
) = 0; g(t
0
) = 2; g(t
1
) = 1, 95061; g(t
3
) = 1, 90245.
Sustituindo j = 0 nas equac oes (37) obtemos:
_

_
U
0,1
U
1,1
U
2,1
_

_
=
_

_
1 2 2 0
1 2
0 2 1 2
_

_
_

_
U
0,0
U
1,0
U
2,0
_

_
+
_

_
2hf (t
0
)
0
2hg(t
0
)
_

_
Desse modo
_

_
U
0,1
U
1,1
U
2,1
_

_
=
_

_
3
5
2
5
0
1
5
3
5
1
5
0
2
5
3
5
_

_
_

_
1
0, 75
0
_

_
+
_

_
0
0

2
5
_

_
=
_

_
0, 90
0, 65
0, 1
_

_
Exerccio 1.1. Escreva as equac oes do M etodo Implcito e do M etodo de Crank-Nicolson
para uma edp parab olica com condic oes de fronteira de Neumann.
1.4 Equac oes Elpticas
1.4.1 O modelo de Equac ao Elptica
O modelo de equac ao elptica que usaremos e o seguinte:

2
u
x
2
+

2
u
x
2
= f (x, y) (38)
em que f (x, y) e uma func ao de duas variav eis. Esta edp e chamado Equac ao de Poisson
e est a denida no ret angulo
R = {(x, y) : 0 x a, 0 x b}.
Note-se que as variav eis independentes s ao x e y. De novo encontraremos aproximac oes
de u(x, y) em R. A discretizac ao de R e a mesma que no caso das equac oes parab olicas,
20
isto e, escolhemos dois inteiros positivos N e Me denimos h =
a
N
e b =
b
M
. Asub-divis ao
no eixo x e
x
0
= 0, x
1
= h, , x
i
= ih, , x
N
= a;
e no eixo y e:
y
0
= 0, y
1
= k, , y
i
= ik, , y
M
= b.
Esta discretizac ao est a mostrada na gura 10 abaixo.
Figura 10: Discretizac ao do Domnio para uma equac ao elptica.
Para resolver est a equac ao elptica precisamos do conhecimento do valor de u(x, y)
na fronteira de R. Denotaremos a fronteira de R por R,
R = {(0, y) : 0 y b} {(a, y) : 0 y b} {(x, 0) : 0 x a} {(x, b) : 0 x a}.
Em outras palavras, precisamos a condic ao:
u(x, y) = g(x, y), se (x, y) R, (39)
na qual g(x, y) e uma func ao contnua em R. Esta ultima condic ao e conhecida como
condic ao de Dirichlet.
Discretizando a equac ao (38) no ponto gen erico (x
i
, y
j
) e usando as equac oes da
Observac ao 1.1:
u
xx
(x
i
, y
j
) + u
yy
(x
i
, y
j
) = f (x
i
, y
i
)
u(x
i
+ h, y
j
) 2u(x
i
, y
j
) + u(x
i
h, y
j
)
h
2
+
u(x
i
, y
j
+ k) 2u(x
i
, y
j
) + u(x
i
, y
j
k)
k
2
f (x
i
, y
j
)
ou para i = 1, , N 1 e j = 1, , M 1,
u(x
i+1
, y
j
) 2u(x
i
, y
j
) + u(x
i1
, y
j
)
h
2
+
u(x
i
, y
j+1
) 2u(x
i
, y
j
) + u(x
i
, y
j1
)
k
2
f (x
i
, y
j
)
21
Seguindo a notac ao j a utilizada, seja U
i, j
a aproximac ao de u(x
i
, y
i
) e f
i, j
o valor
f (x
i
, y
j
), ent ao:
U
i+1, j
2U
i, j
+ U
i1, j
h
2
+
U
i, j+1
2U
i, j
+ U
i, j1
k
2
= f
i, j
(40)
Da condic ao de Dirichlet (39) podemos determinar os valores de U
i, j
nos pontos da
fronteira R (pontos em azul na Figura (10)):
U
i, j
= g(x
i
, y
j
), se i = 0 e N, j = 0, M.
U
i, j
= g(x
i
, y
j
), se j = 0 e M, i = 0, N.
Logo, os valores desconhecidos s ao os valores de U
i, j
nos pontos internos da malha
(pontos em vermelho na Figura (10)):
U
i, j
, para i = 1, N 1, j = 1, , M 1. (41)
Figura 11: Valores de u(x, y) na fronteira R.
Substituindo os pontos (x
i
, y
j
), para i = 1, , N 1, j = 1, M 1 na equac ao (40),
resultam (N 1) (M 1) equac oes lineares cujas inc ognitas s ao os valores U
i, j
com i = 1, , N 1, j = 1, M 1. Resolvendo estas (N 1) (M 1) equac oes
obteremos os valores de U
i, j
nos pontos internos da malha.
Exemplo 1.8. Considere a equac ao diferencial
u
xx
+ u
yy
= 6(x + 1)y + 8, com 0 x 1, 0 < y < 1
22
sujeita ` as condic oes de Dirichlet na fronteira:
_

_
u(x, 0) = 0, u(x, 1) = (x + 1)
3
+ 4, 0 x 1
u(0, y) = y + 4y
2
, u(1, y) = 8y + 4y
2
, 0 < y < 1
Usando h = 1/3 e k = 0.5, encontre os valores aproximados de u(x, y) nos pontos internos
da malha.
Soluc ao:
Discretizando o domnio: x
0
= 0, x
1
=
1
3
, x
2
=
2
3
, x
3
= 1, t
0
= 0, t
1
= 0, 5, t
2
= 1. Das
condic oes de Dirichlet, os valores de u(x, y) nos pontos da fronteira s ao:
U
10
= u(1/3, 0) = 0, U
20
= u(2/3, 0) = 0, U
01
= u(0, 1/2) = 1.5
U
12
= u(1/3, 1) = 6.37037, U
22
= u(2/3, 1) = 8.6262, U
31
= u(1, 1/2) = 5.
Os valores desconhecidos s ao U
1,1
e U
2,1
. Discretizando a equac ao:
U
i+1, j
2U
i, j
+ U
i1, j
h
2
+
U
i, j+1
2U
i, j
+ U
i, j1
k
2
= 6(x
i
+ 1)y
j
+ 8
Subtituindo i = 1, j = 1 obtemos:
9(U
21
2U
11
+ U
01
) + 4(U
12
2U
11
+ U
10
) = 6(4/3)(0.5) + 8 = 12
Simplicando
9U
21
26U
11
= 26.98148. (42)
Substituindo i = 2, j = 1
9(U
31
2U
2,1
+ U
11
) + 4(U
22
2U
21
+ U
2,0
) = 6(5/3)(0.5) + 8 = 13
Simplicando
26U
21
+ 9U
11
= 66.51848 (43)
Resolvendo as equac oes (42) e (43): U
21
= 3.314813, U
11
= 2.18519.
Exerccio 1.2. Resolva o Exemplo (1.8) com h =
1
3
e k =
1
3
.
1.5 Equac oes em geral
Para resolver Equac oes Diferenciais Parciais em geral, devemos discretizar a equac ao
pelas f ormulas da Observac ao 1.1 e logo resolver o sistema de equac oes (lineares ou n ao)
obtido mediante esta discretizac ao.
23
Exemplo 1.9. Considere a equac ao diferencial parcial:
_

_
u
t
= u + u
xx
+ 2u
x
, com 0 < x < 1
u(x, 0) = 2x, u(0, t) = t
2
, u(1, t) = 2 t
2
(a) Deduza uma f ormula para encontrar os pontos internos substituindo diferencas
progressivas para u
t
e diferencas centrais para u
x
.
(b) Fazendo h = 1/3 e k = 1/20, encontre as aproximac oes obtidas pelo m etodo do
item (a) para U
i, j
com j = 1.
Soluc ao:
Os dados da malha s ao x
0
= 0, x
1
=
1
3
, x
2
=
2
3
, x
3
= 1, t
0
= 0, t
1
=
1
20
. Das condic oes
iniciais:
U
00
= 0, U
10
= 2(
1
3
) =
2
3
, U
20
= 2(
2
3
) =
4
3
, U
30
= 2,
Discretizando a equac ao obtemos
U
i, j+1
U
i, j
k
2
= U
i, j
+
_
U
i+1, j
2U
i, j
+ U
i1, j
h
2
_
+ 2
_
U
i+1, j
U
i1, j
2h
_
Se i = 1, j = 0 obtemos
U
1,1
U
1,0
= (
1
400
)
_
U
1,0
+ 9
_
U
2,0
2U
1,0
+ U
0,0
_
+ 3
_
U
0,0
U
0,0
__
Substituindo os dados segue que U
11
= 0, 67666.
Se i = 2, j = 0 obtemos
U
2,1
U
2,0
= (
1
400
)
_
U
2,0
+ 9
_
U
3,0
2U
2,0
+ U
1,0
_
+ 3
_
U
3,0
U
1,0
__
Substituindo os dados segue que U
21
= 1, 34666.
Refer encias
[1] Arenales, Selma e Darezzo, Arthur: C alculo Num erico: aprendizagem com apoio de
software. S ao Paulo, Thomson Learning, 2008.
[2] Bertoldi, Neide: C alculo Num erico. S ao Paulo, Pearson Prentice Hall, 2006.
[3] Ruggeiro, M arcia e Lopes, Vera L ucia: C alculo Num erico: Aspectos Te oricos e Computa-
cionais . 2a Edic ao, S ao Paulo, Pearson Makron Books, 1996.
[4] Steward, James: C alculo . Vol. 1, Cengage Learning, S ao Paulo, 2013.
24

Você também pode gostar