onde p(x, t) represent a a densidade deste fluido, no ponto x e instante t. Em geral, nao e possivel obter solu<;6esanalfticas para leis de conservac;ao e os metodos para resolve-ias formam urn capitulo a parte dos metodos numericos. Usando a regra da cadeia na equac;ao (9.6), podemos reescreve-ia na forma nao conservativa Neste capitulo, apresentamos alguns metodos numericos para equac;6es diferenciais cujas soluc;6es sag suaves. No proximo capitulo, abordaremos alguns metodos introdutorios para o caso de soluc;6es com descontinuidades, como e 0 caso das leis de conservac;ao nao-lineares. 9.2 Defini~ao da Malha e Discretiza~ao do Laplaciano Na construc;ao de soluc;6es aproximadas para equac;6es diferenciais parciais, seguiremos o mesmo caminho percorrido quando trabalhamos com 0 metodo de diferenc;as finitas nas equac;6es diferenciais ordinarias. Assim, em primeiro lugar discretizamos 0 dominio onde a equac;ao diferencial e definida. Com isso, definimos uma malha sobre a qual sera calculada a soluc;ao aproximada. Para simplificar, apresentaremos apenas 0 caso bidimensional. Entretanto, a generalizac;ao para 0 caso tridimensional e imediata, exigindo apenas urn pouco de cuidado na notac;ao, uma vez que 0 numero de variaveis e maior. Seja R 0 conj unto dos pontos (x, Y) onde a equac;ao diferencial esta definida. Chamamos S 0 contorno deste conjunto. Tomemos inicialmente uma malha de pontos igualmente espac;ados descritos por: R h = {(Xi, Yi) = (;?2 + ih, 'Y.- + jh), i, j = ±1, ±2,... }, onde (;?2, Y) e urn ponto de referencia arbitrario, mas fixo, do plano, e h e uma constante positiva chamada passo da malha. A figura 9.1 ilustra 0 que estamos chamando de malha: os pontos representados por xis ou bolinhas na figura a direita. De saida, como ilustra a figura, tern os urn problema de adaptac;ao da malha ao contorno S. Dependendo da regiao, a malha R h pode nao conter os elementos de S. Assim, torna-se necessario definir 0 contorno de R h. Uma das alternativas e aproximar R de boa maneira por R h anexando ou desprezando pedac;os de R. Por exemplo, podemos considerar Sh como 0 conjunto dos pontos representados por bolinhas na Figura 9.1 a direita e R h 0 conjunto dos pontos represent ados por xis, nesta figura. Outra alternativa seria considerar uma malha de tamanho variavel e incorporar as condic;6es de contorno nas intersec;6es das retas paralelas aos eixos coordenados que passam por ;?2 + ih e Y +j h com a fronteira S. Assim, Sh seria composto pelos pontos represent ados
por bolinhas na Figura 9.2. Mais tarde, definiremos a discretiza<;ao com malha variavel associada a est a alternativa. Na se<;ao anterior, observamos que os tres prot6tipos apresentados, equa<;6es de potencial, do calor e da onda, tern em comum 0 operador laplaciano Por este motivo, apresentamos inicialmente formas de discretiza<;ao do operador laplaciano. o metodo de diferen<;as finitas apresentado no capitulo anterior pode ser usado na aproxima<;ao de derivadas parciais. Por exemplo, usando a serie de Taylor temos: h 2 h 3 u(x + h, y) = u(x, y) + ux(x, y)h + uxx(x, y)2 + uxxx(a, Y)3f h 2 h 3 u(x - h, y) = u(x, y) - ux(x, y)h + uxx(x, y)- - uxxx((3, y)" 2 3.
U(X + h, y) - u(x, y) Ux ( x, Y ) ~ h u(x,y)-u(x-h,y) Ux ( x, y ) ~ h ( ). u(x+h,y)-2u(x,y)+u(x-h,y) Uxx x, y ~ h 2 Usando mais urn termo na serie de Taylor, temos tambem a formula centrada para a primeira derivada, ( ) u(x+h,y)-u(x-h,y). O(h 2 ) Ux x, y ~ 2h com erro. As derivadas parciais com rela<;ao a variavel y sao obtidas analogamente tomando agora urn acrescimo 6.y = k. Por conveniencia, vamos usar a seguinte nota<;ao para os pontos da malha: U(Xi, yj) rv Ui,j U(Xi - h,yj) rv Ui-l,j U(Xi, Yj - k) ~ Ui,j-l U(Xi + h, Yj) ~ Ui+l,j U(Xi, Yj + k) ~ Ui,j+l r-.j Ui,j+l - 2Uij + Ui,j-l Uyy ( Xi, Yj ) - k 2. A maneira mais simples de discretizar 0 laplaciano e usar 6.x = 6.y = h, isto e, uma malha uniforme e igualmente espa<;ada nas duas dire<;6es. Neste caso, teremos: Esta discretiza<;ao envolve, em cada ponto da malha, alem do valor da solu<;ao neste ponto, os valores que a solu<;ao assume nos quatro pontos cardeais, como ilustra 0 desenho a seguir.
Observando (9.7), verificamos que, se.6.u(xi, Yi) = 0 entao Uij e a media dos seus quatro vizinhos. De fatb, se u(x, y) e a solu<;ao da equa<;ao de Laplace.6.u = 0, entao u(x, y) e a media de seus vizinhos, qualquer que seja (x, y) no domfnio de u(x, y). V ma segunda op<;ao para discretiza<;ao e a escolha de uma malha com pontos igualmente espa<;ados em cada dire<;ao. Assim, tomando.6.x = hi e.6.y = h2, nas aproxima<;6es da segunda derivada, temos: Vma op<;ao mais geral e usar uma malha irregular. Neste caso, tomarfamos pontos (Xi, Yj) de modo que Xi+I - Xi = hi e Yj+I - Yj = hj. Observe que, paraobtermos a nova expressao para a derivada de segunda ordem, usamos a expansao em Taylor nas duas dire<;6es, isto e, u(x + hi) e u(x - h2) (ver figura 9.3) que, convenientemente adicionadas, nos darao: U4 Uo h2 h4 UI hi U2 h 3
Vma discretiza<;ao deste tipo pode ser usada nos pontos proximos a fronteira, para urn melhor ajuste da malha ao dominio. Observe tambem que, alem desta formula ser bem mais complicada que aquela obtida quando a malha e uniforme nas duas dire<;6es, houve outra perda: enquanto (9.7) fornece uma aproxima<;ao com erro da ordem de h 2, em (9.9) 0 erro sera da ordem de h = min{ hi, h 2, h 3, h 4 }. Observe tambem que, no caso hi = h 2 = h 3 = h 4, as express6es (9.9) e (9.8) se reduzem a (9.7), como nao poderia deixar de ser. 9.3 Equa<;:aode Poisson com Dados de Contorno Como foi comentado na primeira se<;ao deste capitulo, problemas envolvendo equa<;6es diferenciais e dados adicionais sao bem-postos se podemos garantir (i) existencia de solu<;ao, (ii) unicidade desta solu<;ao, (iii) que pequenas perturba<;6es nos dados de entrada acarretem pequenas varia<;6es na solu<;ao (estabilidade). Para que tenhamos uma formula<;ao matematica de urn processo fisico, e importante que as condi<;6es (i)-(iii) sejam satisfeitas. Nas aplica<;6es de metodos numericos que apresentamos nest a notas, supomos que 0 problema satisfa<;a a estes criterios de born comportamento. Entretanto, estudos mais recentes tern mostrado que existem muitas situa<;6es das ciencias naturais que nao satisfazem a uma (ou mais) destas condi<;6es. Em geral, este sao os problemas malpostos ou problemas inversos. Consideremos a equa<;ao de Poisson com dados no contorno. Queremos encontrar u(x, y) tal que 6.u = u xx + Uyy = f(x, y), u = g(x, y), numa regiao R do plano em 5, fronteira de R. Em outras palavras, procuramos uma solu<;ao para a equa<;ao de Poisson, preestabelecendo seus valores no contorno da regiao considerada. Varios matematicos demonstraram, par diferentes metodos analfticos, que este problema e bem-posto (ver, por exemplo [Courant-Hilbert, 1962]). Entretanto a determina<;ao de u(x, y) para uma regiao generic a e complicada. Para algumas regi6es particulares (retangulo e cfrculos, por exemplo), e possivel obter express6es analfticas (por via da serie de Fourier ou integral de Poisson) para a solu<;ao. Mesmo nestes casos, nem sempre as solu<;6es apresentadas sao calculaveis, porque as series podem convergir muito lentamer!e;
M. CBstina C. Cunha em outros formatos da solu<;ao, podem ser necessarias integrac;6es impraticaveis. Diante destas dificuldades, os algoritmos numericos se tornaram importantes na soluc;ao efetiva do problema. Na sec;ao anterior, encaminhamos 0 que e a essencia da soluc;ao aproximada da equac;ao de Poisson: a discretizac;ao do laplaciano. Para sistematizar 0 procedimento geral, usamos os seguintes passos: b. Escolher a discretizac;ao do laplaciano, para pontos que nao sejam da fronteira. Aqui usamos uma das express6es da sec;ao anterior. c. Montar 0 sistema de equac;6es lineares usando a discretizac;ao nos pontos interiores, f(xi, Yj), e as condic;6es de contorno nos pontos da fronteira. d. Resolver 0 sistema obtido no passo anterior, usando algum metodo numerico para obter Uij ~ U(Xi, Yj), que san as aproximac;6es nos pontos interiores. A seguir, apresentaremos urn exemplo que deve ajudar na compreensao deste procedimento. Exemplo 9.3.1. Vamos considerar (9.10), na qual n e urn retangulo com urn de seus vertices na origem do sistema de coordenadas cartesiano. As arestas dos eixos coordenadas tern comprimentos Lx e L y, nos eixos x e Y respectivamente. Assim, n = {(x, y) / 0 < x < Lx e 0 < Y < Ly} e a fronteira e formada pelas arestas deste retangulo. A figura 9.6 ilustra a malha que vamos usar na discretizac;ao de n. Vamos usar N + 2 pontos na direc;ao x e M + 2 pontos na direc;ao y. Assim, Lx L h x =6.x =-- h = 6.y = y N+1 y M +1 Valores diferentes para hx e h y nos permit em refinamentos adequados a situac;ao que pretendemos simular. Em alguns casos, uma direc;ao deve ser olhada com mais detalhes e, portanto devemos escolher valores menores de h naquela direc;ao. Como estamos consider an do a condic;ao de contorno definida em (9.10), os valores da soluc;ao nas arestas do retangulo san conhecidas. Procuramos os valores da soluc;ao nos pontos 1, 2,..., M N, ordenados como ilustra a figura 9.6. Nesta ordenac;ao das incognitas definimos 0 vetor soluc;ao, com barras verticais separando blocos de N elementos: U=(UU,U21,'",UNllu12,U22,...,UN21... luim,uzm,... UNM).
Na discretiza<;ao do laplaciano, vamos usar a expressao (9.8). Assim, a equa<;ao discretizada num ponto arbitnirio (Xi, Yj) e Ui-l,j - 2Uij + Ui+l,j + Ui,j-l - 2Uij + Ui,j+l -------- -------- = fij, h 2 x h 2 y Para escrever 0 sistema de equa<;6es lineares associado a discretiza<;ao, e conveniente escrever 0 vetor solu<;ao usando so urn fndice. Na transforma<;ao do fndice duplo, Uij, num unico fndice, Vk, observamos a ordena<;ao dos cinco pontos usados num ponto generico, ilustrado na figura 9.4. Ui-l,j )E----~~----_7< Ui+l,j Uij para 1 :::;k :::;N M. Chamando A = [aij] a matriz do sistema linear, sua linha generica, nao consideradas as condi<;6es de contorno, sera: aii = -2(h; + h;) -a - i,i+l -h - 2 Y - ai,i+n - h 2 x A matriz A tern N M linhas e N M colunas, e sua estrutura e pentadiagonal, como ilustra a figura 9.5. Ate aqui, as condi<;6es de contorno do problema nao foram incorporadas ao sistema de equa<;6es lineares. Vamos modificar algumas das equa<;6es (9.13) de modo a incorpor.ar a condigao de contorno definida em (9.10). /
N(M - 1) + 1 (M- 1)N MN : k + N k - 1 k k + 1 k - N : : : N + 1 N + 2 2N 1 2 N - 1 N j=o i=o i=l i=2 Observe que a condic;ao de contorno deve aparecer nas equac;oes correspondentes aos nos da malha que estao vizinhos a fronteira da regiao onde esta definida a equac;ao diferencial. Sendo assim, vamos incorporar val ores de contorno na equac;ao (9.13), quando k 1: N k jn e k = (j + l)n, para j = 2 : M - 2 k (M - l)n + 1: M N
A condi<;ao de contorno relativa as arestas y = 0 e y = Ly podem ser incorporadas usando urn vetor cujos elementos nao-nulos estao nas N primeiras posi<;6es: by = h; (gl,a, g2,a,...,gn,o 10,...,0 I ~ N elementos posi<;6es e nas N ultimas e a barra vertical separa blocos com N elementos do vetor. Por outro lado, as condi<;6es de contorno correspondentes as arestas x = 0 e x = Lx podem ser incorporadas ao sistema por meio do vetor bx = h; (ga,i,o,...,0,gn+i,1 I ga,2,0,...,0,gn+i,21... I ga,m,o,...,0,gn+i,mf Sendo assim, devemos suprimir os termos das equa<;6es (9.13) que correspondam as condi<;6es de contorno. Por exemplo, na equa<;ao correspondente a k = 1, os dois primeiros termos devem ser suprimidos e fkamos com De fato, observamos pela figura 9.6 que a discretiza<;ao correspondente ao no 1 deve ter como incognitas VI, V2 e VN+I ja que os valores ao sui e oeste deste no sad fornecidos pela condi<;ao de contorno. Corre<;ao analoga deve ser feita na equa<;ao N M. Para completar 0 sistema de equa<;6es lineares, tomemos 0 vetor que represent a a fun<;ao j(x, y) de (9.10): onde A e uma matriz peptadiagonal com alguns elementos nulos nas diagonais secundarias. A figura 9.7 ilustra a estrutura da matriz A. Vemos que A e uma matriz esparsa, com menos de 5 M N elementos nao-nulos num total de (M N? elementos. Esta matriz pode ser dividida em M 2 blocos, sendo cada qual uma submatriz com N 2 elementos. Os blocos que estao nas diagonais, bloco-diagonais, sad matrizes tridiagonais. Seus vizinhos sad matrizes diagonais e todos os outros sad nulos. o algoritmo 9.1 indica como sad os cilculos para compor 0 sistema linear associado a discretiza<;ao da equa<;ao de Poisson (9.10) em urn retangulo. 0
\.lgoritmo 9.1 Discretiza<;ao da equa<;ao de Poisson )ados N, M, Lx, Ly, f(x, y) e g(x, y) Lx L y 1: h x = N + 1 e h y = M + 1 2: Para k = 1; MN, fac;a akk = -2(h; + h;) {Diagonal principal} 3: Para k = 1 ; M N - 1, fac;a ak,k+l = h; {Diagonal superior} 4: Para k = 2 : M N, fac;a ak,k-l = h; {Diagonal inferior} 5: Para k = 1 : (M - I)N, fac;a ak,k+n = h; {Diagonal superior afastada} 6: Para k = N + 1 ; M N, fac;a ak,k-n = h; {Diagonal inferior afastada} 7: k = 0 {condir;iio de contorno e fonte} 8: Para j = 1 : M, fac;a 9: Para i = 1 : N, fac;a 0: k = k + 1; bk = h;h~ f(xi, Yj) 1: Se i = 1, fac;a b k = b k - h; g(o, Yj), se j > 1, a(k, k - 1) = 0 2: Se i = N, fac;a b k = b k - h; g(lx, Yj), se j < M, a(k, k + 1) = 0 3: Se j = 1, fac;a bk = bk - h; g(xi' 0) 4: Se j = M, fac;a bk = bk - h; g(xi, L y )