Prévia do material em texto
330 Cálculo Numérico para i = 2, 3, . . . , N − 1. Observamos que trata-se de um sistema de N incógnitas, a saber ui, e de N − 2 equações, isto é, um sistema subdeterminado. Para obtermos um sistema determinado, aplicamos as condições de contorno. Da condição de contorno dada na Equação (11.2), temos u(a) = ua ⇒ u1 = ua. (11.10) Analogamente, da condição de contorno dada na Equação (11.2), temos u(b) = ub ⇒ uN = ub. (11.11) Por fim, as equações (11.11), (11.9) e (11.10) determinam o problema discreto associado u1 = ua, (11.12) 1 h2ui−1 − 2 h2ui + 1 h2ui+1 = −f(xi, ui), i = 2, . . . , N − 1, (11.13) uN = ub. (11.14) Este é um sistema de equações de N incógnitas e N equações. 3. Resolução do sistema discreto. Esta etapa consiste em resolver o sistema discreto construído na etapa anterior. Para o PVC (11.1)-(11.3), construímos o problema discreto (11.12)-(11.14). Este é um problema de N equações e N incógnitas. Observamos que se f(x, u) é uma função linear, o sistema será linear e podemos resolver o sistema usando de técnicas numéricas para sistema lineares. Agora, se f(x, u) é uma função não linear, podemos usar, por exemplo, do método de Newton para sistemas. 4. Visualização e interpretação dos resultados. A solução do problema discreto consiste dos valores ui, isto é, de aproximações dos valores de u nos pontos da malha. Para visualizarmos a solução podemos, por exemplo, construir o gráfico do conjunto de pontos {(xi, ui)}. Ainda, para obtermos aproximações da solução em outros pontos que não fazem parte da malha, podemos usar de técnicas de interpolação e/ou ajuste. Exemplo 11.1.1. Use o método de diferenças finitas para resolver o seguinte problema de valor de contorno com condições de Dirichlet homogêneas: −uxx = 100(x− 1)2, 0 < x < 1, (11.15) u(0) = 0, (11.16) u(1) = 0. (11.17) Use a fórmula de diferenças finitas central de ordem 2 para discretizar a derivada em uma malha uniforme de 11 pontos. Calcule, também, a solução analítica deste Licença CC-BY-SA-3.0. Contato: reamat@ufrgs.br https://creativecommons.org/licenses/by-sa/3.0/ reamat@ufrgs.br 11.1. MÉTODO DE DIFERENÇAS FINITAS 331 problema, faça um esboço das soluções numérica e analítica e compute o erro absoluto médio definido por E := 1 N N∑ i=1 |u(xi)− ui| , (11.18) onde xi é o i-ésimo ponto da malha, i = 1, 2, . . . , N e N é o número de pontos na mesma. Por fim, repita seus cálculos para uma malha com 101 pontos. O que ocorre com o erro absoluto médio? Solução. Vamos seguir as etapas conforme acima. 1. Construção da malha. Tomando N = 11, definimos os pontos da malha no domínio [0, 1] por: xi = (i− 1)h, i = 1, 2, . . . , N, (11.19) com h = 1/(N − 1). Em Python, podemos construir a malha da seguinte forma: a = 0 b = 1 N = 11 h = (b-a)/(N-1) x = np.linspace(a,b,N) 2. Construção do problema discreto. Usando a fórmula de diferenças finitas central de ordem 2 para aproximar a derivada na Equação (11.15), obtemos o seguinte sistema de equações: − ui−1 − 2ui + ui+1 h2 = 100(xi − 1)2, i = 2, . . . , N − 1. (11.20) Completamos este sistema com as condições de contorno dadas nas equações (11.16) e (11.17), donde u1 = uN = 0. (11.21) Ou seja, obtemos o seguinte problema discreto: u1 = 0, (11.22) − 1 h2 (ui+1 − 2ui + ui+1) = 100(xi − 1)2, i = 2, . . . , N − 1, (11.23) uN = 0. (11.24) Licença CC-BY-SA-3.0. Contato: reamat@ufrgs.br https://creativecommons.org/licenses/by-sa/3.0/ reamat@ufrgs.br