Escolar Documentos
Profissional Documentos
Cultura Documentos
wt = w ξV + wt, wx = w ξ e wxx = w ξ ξ.
Usando este fato, mostre que a equação convecção-difusão nas variáveis (x,t),
wt = 1/Pe w xx –Vwx,
w τ = 1/Pe w ξ ξ.
Solução:
Temos que, através da regra da cadeia:
x = ξ + Vt, então,
Ainda mais,
Portanto wx = w ξ.
Agora, temos que wxx = wξx .ξx + w ξ. ξxx. Mas temos que ξx = 1, logo ξxx = 0.
Portanto, wxx = wx ξ. Por outro ângulo, tomando que w ϵ C², temos: wxξ = w ξx. Então, wxx = wξ ξ.
Se Pe > 0, esta transformação faz com que a equação seja escrita como a equação da onda, a qual
existe várias possibilidades de se obter solução pelos inúmeros métodos numéricos.
2. Use o método das Diferenças Finitas para encontrar aproximações para as equações de
Poisson abaixo. As equações são definidas em retângulos e os dados são fornecidos no
contorno destes retângulos. Quando possível, compare com a solução analítica. Use vários
valores para Δx e Δy, de acordo com suas possibilidades.
b. uxx + uyy = -2- π²senh(π)sen(πy), 0 < x < 1 e 0 < y < 1 com condições
Solução:
Na janela de comandos do Octave, digite ex2b, onde será executado o arquivo ex2b.m. Foi
utilizado o espaçamento para malha com hx = 0.1 e hy=0.1. Digite u e enter na janela de
comandos para ver a matriz da solução aproximada. Desta vez, como tivemos a solução analítica
fornecida pelo exercício, pudemos avaliar o erro de aproximação. Abaixo, veja a tabela com os
erros e o gráfico da solução aproximada com a solução analítica:
Solução:
Na janela de comandos do Octave, digite ex2c, onde será executado o arquivo ex2c.m. Foi
utilizado o espaçamento para malha com hx = 0.1 e hy=0.1. Digite u e enter na janela de
comandos para ver a matriz da solução aproximada. Desta vez, como tivemos a solução analítica
fornecida pelo exercício, pudemos avaliar o erro de aproximação. Abaixo, veja a tabela com os
erros e o gráfico da solução aproximada com a solução analítica:
3. Descreva como o Método de Diferenças Finitas pode ser usado para encontrar aproximações
de u(x,y) que resolvem o seguinte problema:
Solução:
j
−2 uij+ ui−1
j
ui+1 u j +1−2 uij +uij−1
Para a discretização, utiliza-se para uxx e i para uyy. Não há
h² k²
valores de u em x = 1 e x = -1, entretanto, temos os valores das derivadas parciais de x.
Utilizemos as fórmulas avançada e atrasada para aproximar o valor de u nestes pontos. Temos:
j
−2 uij+ ui−1
j
ui+1 uij +1−2 uij +uij−1 j
2
+ 2
= 32 ui
h k
u1j
u1j −u0j u0j u j
=
= e então, 0 h e
h 2 +1
2
uNj
uNj +1−u Nj −u Nj +1 u j
=
= e então, N +1 h
h 2 +1
2
Com J = 1,...,M.
Definimos:
v = (v1, ... , vN | vN+1, ..., v2n | vMN+1, ... , VMN);
f = (f11, ... , fN1 | f12, ... , fN2 | f1M, ... , fNM);
by = h²(g10, ... , gN0 | 0, ... , 0| ... | g1M, ... , gNM);
j
bx = k²(g01, ... , gN+11 | g02 ,0 ... 0, gN+12 | ... | g0M ,0 ... 0, gN+1M) como transformação do índice duplo de ui .
Resolvemos o sistema:
Av = f – bx – by,
onde temos :
Ai,i = -2(h² + k² + 16h²k²), i = 1,...,NM;
Ai,i+1 = k², i = 1,...,NM -1;
Ai,i-1 = k², i = 2,..., NM;
Ai,i+N = h², i = 1,...,N(M-1);
Ai,i-N = h², i = N,...,NM;
Ar,s = 0 nas demais posições.
Logo,
f = (32v1, ... , 32vN | 32vN+1, ..., 32v2n | 32vMN+1, ... , 32VMN)t;
by = h²(1, ... , 1| 0, ... , 0| ... | 1, ... , 1)t;
v1 v N v N +1 v N +2 v N ( M −1)+1 v MN
bx = k² ( h , ... , h | h , ,0 ... 0, h , | ... | h ,,0 ... 0, h ,)t.
+1 +1 +1 +1 +1 +1
2 2 2 2 2 2
Escrevendo o sistema como
Av = b,
temos
Ai,i = -2(h² + k² + 16h²k²), i = 2,...,NM;
Ai,i+1 = k², i = 1,...,NM -1;
Ai,i-1 = k², i = 2,..., NM;
Ai,i+N-1 = h², i = 1,...,N(M-1);
Ai,i-N+1 = h², i = N,...,NM;
k²
A1,1 = -2(h² + k² + 16h²k²) + h ;
+1
2
k²
AN,1 = h² + h ;
+1
2
k²
AvN+1,1 = h , k = 1,...,M-1;
+1
2
k²
AvN,1 = h , k = 2,...,M;
+1
2
Ar,s = 0 em outras posições.
b = (-h², ... , -h²| 0, ... , 0| ... | 0, ... , 0)t .
Portanto, resolvendo o sistema, obteremos uma discretização.
u(0,t) = u(2,t) = 0
u(x,0) = x(2-x), 0 ≤ x ≤ 2;
Solução:
Foram utilizados t = 0.5 e h=0.4 para que não haja instabilidade. Na janela de comandos do
Octave, digite metodo = 1 e logo em seguida ex4a, onde será executado o arquivo ex4a.m. Desta
forma, será utilizado o método explícito para resolver o problema. Digite uexp e dê enter para
visualizar a solução nos determinados tempos. Após vermos os resultados, digite clear e repita o
processo, entrando na janela de comandos com metodo = 2 e em seguida ex4a, onde será
utilizado o método implícito para resolver o problema. Digite uimp para visualizar a solução nos
determinados tempos. Novamente, digite clear e inicie a resolução do problema pelo método de
Crank-Nicolson, digitando metodo = 3 e depois ex4a. Escreva ucn na janela de comandos para
visualizar a solução aproximada nos determinados tempos. Abaixo, será feito um comparativo
dos resultados na mesma posição e a apresentação dos gráficos para cada método.
Resolução:
Foram utilizados t = 0.5 e h = 0.2. Na janela de comandos do Octave, digite metodo = 1 e logo
em seguida ex4b, onde será executado o arquivo ex4b.m. Desta forma, será utilizado o método
explícito para resolver o problema. Digite uexp e dê enter para visualizar a solução nos
determinados tempos. Após vermos os resultados, digite clear e repita o processo, entrando na
janela de comandos com metodo = 2 e em seguida ex4b, onde será utilizado o método implícito
para resolver o problema. Digite uimp para visualizar a solução nos determinados tempos.
Novamente, digite clear e inicie a resolução do problema pelo método de Crank-Nicolson,
digitando metodo = 3 e depois ex4b. Escreva ucn na janela de comandos para visualizar a
solução aproximada nos determinados tempos. Abaixo, será feito um comparativo doe erros
obtidos, dos resultados na mesma posição e a apresentação dos gráficos para cada método.
Gráfico 4 – Solução exata e aproximada pelo método explícito, implícito e C-N, respectivamente
Gráfico 5 – Solução exata e aproximada pelo método explícito, implícito e C-N, respectivamente
a. Verifique que as equações abaixo definem uma discretização (explícita) para o problema
Dado ut - xu x x = 0, temos:
j
−2 uij+ ui−1
j
uij +1−uij ui+1 j+1 j kx j j j
– x[ 2
] = 0 se, e somente se ui - ui - 2 [ui +1−¿ 2 ui +ui −1 ¿
k h h
= 0 (i)
k
Por hipótese ƛ = , então, substituindo em (i):
h2
Sabendo que x = ih
uij+1= (ƛih)ui−1
j j j
+ (1-2ƛih)ui + (ƛih¿ ui+ 1
Quando temos i = N:
uNj +1−u Nj −1 j
ux(Nh,tj) é aproximadamente = −Nhu N e isso implica que
2h
j j
= 2 ƛNhu N−1 + (1-ƛNh(2 +2Nh²))u N e como Nh = 1/2,
j j
= 2Nƛhu N−1+ (1-Nλh(2+h))u N .
Solução: Na janela de comandos do octave, digite ex5b para inicializarmos a rotina ex5b.m.
1 1
Temos que u3 = 0,207 e u5 = 0,23875.
O erro de aproximação sofre alterações na vizinhança de (0.5,0), pois ux precisou de
discretizada. Como foi utilizado o método de aproximação por diferenças centradas, a
ordem do erro foi O(h²).
u(x,0) = g(x), 0 ≤ x ≤ 1
onde a(u) > 0, f(x,t) e g(x) são funções conhecidas. Estabeleça as vantagens e desvantagens de
cada um dos métodos propostos.
Solução:
Método Explícito: É um método que possui erro de ordem O(k+h²), entretando apresenta
problemas em alguns casos pelo fato de ser condicionalmente estável, ou seja, ele depende de
uma relação entre os tamanhos dos passos utilizados na discretização.
Método Implícito: É um método que possui erro de ordem O(k + h²) e é incondicionalmente
estável, mas pode ter erros maiores que o método explícito, por questão de cálculos mais
detalhados, apesar de terem a mesma ordem do erro.
Método de Crank-Nicolson: É um método que possui erro de ordem O(k²+h²) e é
incondicionalmente estável também, entretanto o custo computacional é mais elevado do que os
outros em determinadas ocasiões.
Solução: Na janela de comandos do Octave, digite ex7a para a rotina ex7a.m ser executada.
As soluções aproximadas podem ser vistas através do vetor u, e abaixo se encontra o gráfico da
solução aproximada.
u(x,0) = 1 se 0 ≤ x ≤ 0.5,
0.5 ≤ x ≤ 1
ut(x,0) = 0, 0 ≤ x ≤ 1.
Solução:
Na janela de comandos do Octave, digite ex7c para a rotina ex7c.m ser executada. As soluções
aproximadas podem ser vistas através do vetor u. Na rotina ex7c.m, altere os valores de h para
ver como a função se comporta. Abaixo se encontram os gráficos das soluções aproximadas para
t = 0.5 e h = 0.2 e h = 0.1.