Você está na página 1de 12

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO ACADÊMICO DO AGRESTE


NÚCLEO DE TECNOLOGIA
ENGENHARIA CIVIL

MARCEL PHELIPE DOS SANTOS MONTEIRO

MÉTODO DAS DIFERENÇAS FINITAS

Caruaru

2021
MARCEL PHELIPE DOS SANTOS MONTEIRO

MÉTODO DAS DIFERENÇAS FINITAS

Trabalho apresentado à disciplina de


Cálculo Diferencial e Integral 4, do curso
de Engenharia Civil, do Campus Agreste
da Universidade Federal de Pernambuco –
UFPE, na modalidade de relatório, como
requisito parcial para a aprovação na
disciplina.

Caruaru

2021
RESUMO

O presente relatório visa explicitar e discutir acerca do desenvolvimento e da


implementação de dois algoritmos, sendo o primeiro do Método de Lax-Wendroff e, o
segundo, do Método de Lax-Friedrichs, artifícios bastante utilizados na solução
numérica de uma equação diferencial parcial (EDP) e que, neste presente, serão
utilizados para resolver a equação diferencial parcial do transporte advectivo, a
equação de Burgers linear.

Palavras-chave: Algoritmo. Método de Lax-Friedrichs. Método de Lax-Wendroff.


SUMÁRIO

1 OS ALGORITMOS ............................................................................................... 5
1.1 Algoritmo do Método de Lax-Friedrichs ........................................................... 5
1.2 Algoritmo do Método de Lax-Wendroff ............................................................. 6
2 RESULTADOS ..................................................................................................... 8
2.1 Resultados obtidos pelo Método de Lax-Friedrichs ........................................ 8
2.2 Resultados obtidos pelo Método de Lax-Wendroff.......................................... 9
2.3 Comparação entre os métodos ....................................................................... 11
3 CONCLUSÃO ..................................................................................................... 12
5

1 OS ALGORITMOS

No tocante aos Métodos das Diferenças Finitas, foram escritos e


implementados dois algoritmos, um do Método de Lax-Wendroff e outro do
Método de Lax-Friedrichs. Esses algoritmos tem a finalidade de resolver a
equação diferencial parcial do transporte advectivo, a equação de Burgers linear,
dada por:

𝜕𝑢 𝜕𝑢
+𝑎 =0
𝜕𝑡 𝜕𝑥

A equação de Burgers linear é uma equação que modela fenômenos do


transporte de ondas unidirecionais, transportando, então, ondas contínuas e
descontínuas. Para o problema proposto, tem-se as seguintes condições iniciais
e de contorno, essas utilizadas para ambos os algoritmos:

𝑢 = 𝑢(𝑥, 𝑡) 0<𝑥<1 𝑎=1


𝑢(𝑥, 0) = 1, 𝑐𝑜𝑚 0.2 < 𝑥 < 0.4 𝑒 𝑢(𝑥, 0) = 0, 𝑐𝑜𝑚 𝑥 > 0.4 𝑒 𝑥 < 0.2

1.1 Algoritmo do Método de Lax-Friedrichs

Para o Método de Lax-Friedrichs, o seguinte algoritmo foi desenvolvido e


implementado através do MATLAB:

% METODO DE LAX-FRIEDRICHS
clear % PARA LIMPAR O WORKSPACE
clc % PARA LIMPAR A COMMAND WINDOW
D_t = input('Insira o valor de dt:\n'); % TAMANHO DO PASSO
D_x = input('Insira o valor de dx:\n'); % TAMANHO DO PASSO
X = 1; % XMAX
T = 1; % TMAX
X = 0:D_x:X;
T = 0:D_t:T;
6

a = 1; % VELOCIDADE DE ADVECCAO
CFL =((a*D_t)/D_x) % CFL
lf =(a*D_t)/(2*D_x); % DIFERENCA FINITA
for i=1:numel(X) % CONDICOES DE CONTORNO
if X(i)<=0.4 && X(i)>=0.2
U(1,i) = 1;
else
U(1,i) = 0;
end
end
plot(X,U(1,i))
hold on
for n=1:10 % LAX-FRIEDRICHS
for i=2:numel(X)-1
U(n+1,i) = ((U(n,i+1)+U(n,i-1))*0.5)-(lf*(U(n,i+1)-U(n,i-1)));
end
if mod(n,2)==0
plot(X,U(n+1,:)) % PLOTAGEM DO GRAFICO
grid on;
xlabel('Espaço'); % EIXO X ESPACO
ylabel('Tempo'); % EIXO Y TEMPO
end
end

O Método de Lax-Friedrichs é um método de primeira ordem no tempo e


de segunda ordem no espaço, apresentando estabilidade condicional.

1.2 Algoritmo do Método de Lax-Wendroff

Para o Método de Lax-Wendroff foi desenvolvido e implementado o


seguinte algoritmo, também no MATLAB:

% METODO DE LAX-WENDROFF
clear % PARA LIMPAR O WORKSPACE
7

clc % PARA LIMPAR A COMMAND WINDOW


D_t = input('Insira o valor de dt:\n'); % TAMANHO DO PASSO
D_x = input('Insira o valor de dx:\n'); % TAMANHO DO PASSO
X = 1; % XMAX
T = 1; % TMAX
X = 0:D_x:X;
T = 0:D_t:T;
a = 1; % VELOCIDADE DE ADVECCAO
CFL = ((a*D_t)/D_x) % CFL
lf = (a*D_t)/(2*D_x); % LAX-FRIEDRICHS
lw = ((a^2)*(D_t^2))/(2*(D_x^2)); % LAX-WENDROFF
for i=1:numel(X) % CONDICOES DE CONTORNO
if X(i)<=0.4 && X(i)>=0.2
U(1,i) = 1;
else
U(1,i) = 0;
end
end
plot(X,U(1,i))
hold on
for n=1:10 % LAX-WENDROFF
for i=2:numel(X)-1
U(n+1,i) = (U(n,i))-(lf*(U(n,i+1)-U(n,i-1)))+(lw*(U(n,i+1)-(2*U(n,i))+U(n,i-1)));
end
if mod(n,2)==0
plot(X,U(n+1,:)) % PLOTAGEM DO GRAFICO
grid on;
xlabel('Espaço'); % EIXO X ESPACO
ylabel('Tempo'); % EIXO Y TEMPO
end
end
8

O Método de Lax-Wendroff é um método de segunda ordem tanto no


espaço quanto no tempo, substituindo, de certa forma, o Método de Lax-
Friedrichs. mas também sendo condicionalmente estável.

2 RESULTADOS

A priori, faz-se necessário explicar o conceito da Condição de Courant-


Friedrichs-Lewy, a CFL. A CFL é um parâmetro que vai modificar a magnitude
local do Número de Courant, com esse processo de dando por meio do passo
de tempo, ou seja, CFL é um multiplicador do passo de tempo.
Ambos os métodos possuem uma constante que multiplica a taxa de
variação do tempo. Em outras palavras, a CFL é responsável pela convergência
dos métodos.
Dessa forma, a escolha pelos valores dx e dt foi pensada, por isso os
algoritmos permitem a entrada desses valores. Tal característica foi aproveitada,
inclusive, na verificação da teoria, de forma a demonstrar a importância do CFL.

2.1 Resultados obtidos pelo Método de Lax-Friedrichs

Para o Método de Lax-Friedrichs, com as condições indicadas


previamente, foram feitos três testes (os valores de dx, dt e o CFL obtidos estão
presentes nas legendas):

Figura 1 – dx = 0.01, dt = 0.005 e CFL = 0.5


9

Figura 2 – dx = 0.01, dt = 0.01 e CFL = 1

Figura 3 – dx = 0.01, dt = 0.02 e CFL = 2

2.2 Resultados obtidos pelo Método de Lax-Wendroff

Para o Método de Lax-Wendroff, de maneira similar ao exposto para o


Método de Lax-Friedrichs (mesma quantidade de testes, mesmas condições
iniciais e mesmos valores anteriores para dx e para dt, além do mesmo valor de
CFL), temos que:
10

Figura 4 – dx = 0.01, dt = 0.005 e CFL = 0.5

Figura 5 – dx = 0.01, dt = 0.01 e CFL = 1

Figura 6 – dx = 0.01, dt = 0.02 e CFL = 2


11

2.3 Comparação entre os métodos

A priori, é importante ressaltar, novamente, que os algoritmos permitem a


entrada dos valores de dx e dt, de forma que os mesmos permitissem que fosse
observada a teoria. Sabe-se que o ideal para ambos os métodos é que o CFL
seja inferior a 1, então, dessa forma, os valores de dx e dt foram
estrategicamente escolhidos (calculados previamente), como será possível notar
a seguir.
A partir da análise dos dois métodos, é possível observar que, no primeiro
caso, com dx = 0.01, dt = 0.005 e CFL = 0.5, o Método de Lax-Wendroff
apresenta, em seu gráfico, um comportamento mais singular, o que significa que
a sua convergência é mais suave que a do Método de Lax-Friedrichs.
Para o segundo caso, com dx = 0.01, dt = 0.01 e CFL = 1, é possível notar
que ambos os métodos apresentam resultados iguais, sendo, praticamente,
diferenciar os métodos apenas pelo gráfico.
Sabe-se que, pela teoria, o Método de Lax-Friedrichs apresenta
resultados mais suaves (inclusive, às vezes, suavizando demais) por fazer uso
de pontos anteriores, enquanto o mesmo não é observável no Método de Lax-
Wendroff. Dessa forma, podemos afirmar que, para esse segundo caso, ambos
os métodos conseguiram desempenhar bem.
Por fim, para o último caso, é possível notar que, com valores de CFL
superiores a 1, ambos os métodos apresentam uma perda no que tange à
estabilidade e acurácia. Esse teste foi efetuado de forma a testar a teoria, visto
que a mesma afirma, justamente, que existe uma grande perda na confiabilidade
dos métodos para valores superiores a 1 no tocante ao CFL.
12

3 CONCLUSÃO

Indubitavelmente, os métodos aqui testados são de grande utilidade, visto


que conseguiram resolver a equação de Burgers linear, cumprindo com o
objetivo estabelecido para o presente. Outrossim, esses métodos são
extremamente importantes por elucidar e exemplificar o Método das Diferenças
Finitas na solução de EDPs, as equações diferenciais parciais.
Como foi detalhado acima, o Método de Lax-Wendroff possui, de fato uma
acurácia mais efetiva (como era esperado, vide teoria), com convergência
notável no primeiro caso e apresentando resultados melhores no último. No
entanto, faz-se necessário frisar que, para o segundo caso, com CFL igual a 1,
ambos os métodos se mostraram igualmente eficazes, visto que apresentam
gráfico praticamente idênticos.
Por fim, faz-se necessário frisar que o valor CFL é de grande importância,
visto que é o que “determina” se o método vai convergir ou não. Os métodos são
condicionalmente estáveis, ou seja, precisam que o passo, aqui chamado de dt,
seja restrito, o que explicita bem a importância de tal parâmetro.

Você também pode gostar