Você está na página 1de 16

UNIVERSIDADE FEDERAL DA BAHIA

PROGRAMA DE PÓS GRADUAÇÃO EM ENGENHARIA QUÍMICA


ENG506: MÉTODOS NUMÉRICOS EM ENGENHARIA

HALANY BRITO DOS SANTOS


LEANDRO SOUSA FERREIRA
RAUL MARCOS MARQUES COSTA

TRABALHO PROGRAMA EM MATLAB IV:


DISTRIBUIÇÃO DE TEMPERATURA COM O MÉTODO DAS
DIFERENÇAS FINITAS

Salvador
2018
HALANY BRITO DOS SANTOS
LEANDRO SOUSA FERREIRA
RAUL MARCOS MARQUES COSTA

TRABALHO PROGRAMA EM MATLAB IV:


DISTRIBUIÇÃO DE TEMPERATURA COM O MÉTODO DAS
DIFERENÇAS FINITAS

Trabalho apresentado à disciplina ENG506:


Métodos Numéricos em Engenharia, do Programa
de Pós‐Graduação em Engenharia Química da
Universidade Federal da Bahia, como parte das
avaliações do semestre 2018-1.

Orientador: Profª Samuel Luporini

Salvador
26 de julho de 2018
SUMÁRIO
1 INTRODUÇÃO ............................................................................................................ 4

1.1 MATLAB .......................................................................................................................................................... 4


1.2 MÉTODOS DAS DIFERENÇAS FINITAS ..................................................................................................... 4
1.3 FORMULA DE DIFERENÇA REGRESSIVA COM TRÊS PONTOS PARA A DERIVADA SEGUNDA .. 5
1.4 ELIMINAÇÃO GAUSSIANA .......................................................................................................................... 5

2 PROBLEMA PROPOSTO .......................................................................................... 7


3 RESULTADOS E DISCUSSÃO ................................................................................. 8

3.1 DESENVOLVIMENTO MATEMÁTICO ........................................................................................................ 8


3.2 ALGORITMOS NO MATLAB ...................................................................................................................... 10
3.2.1 Temperaturas nos pontos da malha ............................................................................. 13
3.2.2 Gráfico com a distribuição de temperatura ................................................................ 14

4 CONSIDERAÇÕES FINAIS ..................................................................................... 15


4

1 INTRODUÇÃO

O presente trabalho visa determinar a distribuição de temperatura com o método das


diferenças finitas utilizando os recursos disponíveis no MATLAB. O trabalho tem início com
esse capítulo introdutório, o qual se faz uma breve revisão bibliográfica dos temas que serão
trabalhados no problema proposto. No capítulo 2, apresenta-se a questão proposta, com todos
os dados disponibilizados. A seguir, no capítulo 3 é apresentado o desenvolvimento
matemático e o algoritmo do programa criado para resolver a questão proposta, com a
apresentação dos resultados, discussões e encerra-se com as considerações finais no capítulo
4.

1.1 MATLAB

MATLAB (MATrix LABoratory) trata-se de um software interativo de alta


performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo
com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar.
Esse sistema permite a resolução de muitos problemas numéricos em apenas uma fração
do tempo que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic
ou C. Além disso, as soluções dos problemas são expressas quase exatamente como elas são
escritas matematicamente.

1.2 MÉTODOS DAS DIFERENÇAS FINITAS

Em métodos de diferenças finitas, as derivadas presentes na equação diferencial são


substituídas por aproximações usando diferenças finitas. O domínio da solução [a,b] é
dividido em N subintervalos de mesma largura h, que são definidos por N+1 pontos chamados
pontos da malha. A largura de cada subintervalo é, portanto h =(b - a)/N. Os pontos a e b são
os pontos finais, e os restantes dos pontos são os pontos internos. A equação diferencial é
então escrita em cada um dos pontos internos do domínio. Isso resulta em um sistema de
equações lineares algébricas quando a equação diferencial é linear, ou em um sistema de
equações algébricas não lineares quando a equação diferencial for não linear. A solução do
sistema é a solução numérica da equação diferencial.
5

1.3 FORMULA DE DIFERENÇA REGRESSIVA COM TRÊS PONTOS PARA


A DERIVADA SEGUNDA

Estima a derivada segunda no ponto xi usando o valor da função nesse ponto e nos
pontos anteriores xi-1 e xi-2, ficando:

Fórmulas de ordem mais elevada podem ser deduzidas com o emprego dos mesmos
métodos usados aqui para a derivada segunda, conforme tabela 7.1 (Gilat, 2008).
Frequentemente, as formulas de diferença central são usadas nos métodos de diferenças
finitas, pois elas fornecem uma melhor precisão. A aproximação da derivada primeira e
segunda nos pontos internos usando diferença finita central são:

Solução de um PVC linear de segunda ordem usando o método das diferenças finitas. (estado
estacionário).
Seja a equação de segunda ordem:
d2y dy
2
 f ( x )  g ( x ) y  h( x ) (1)
dx dx
Discretizando, fica:
yi1  2 yi  yi1 y  yi 1
2
 f ( xi ) i1  g ( xi ) y i  h( xi ) (2)
h 2h

1.4 ELIMINAÇÃO GAUSSIANA

Seja Ax=b um sistema linear, em que A é uma matriz quadrada n x n.


6

O método consiste em eliminar todos elementos aij, i>j modificando sistemas lineares
de forma a obter um sistema equivalente com uma matriz triangular superior, pois este é mais
simples e de fácil resolução, ou seja, dada através de substituições.
Então este é o procedimento para casos de n equações lineares simultâneas em n
variáveis.
 Passos
Admitimos que as equações tenham sido ordenadas de modo que akk ≠ 0 e definindo-se
n-1 multiplicadores, teremos:
Eliminação

Após eliminarmos xn-1 da última equação, o sistema triangular final é dado por:

A substituição regressiva então produz a solução como se segue:


Resolução do sistema
7

O algoritmo acima efetua, na fase de eliminação, (4n3+3n2-7n)/6 operações e, para


resolver o sistema triangular superior será efetuadas n2 operações, tendo assim um total de
(4n3+9n2-7n)/6, para se resolver um sistema linear pelo método de Eliminação de Gauss.
 Estratégias de pivoteamento
Para não se ter pivô nulo o que tornaria o trabalho impossível, e para se evitar trabalhar
com pivô próximo de zero o que pode conduzir a resultados totalmente imprecisos, devemos
contornar esses problemas utilizando uma estratégia de pivoteamento, ou seja, adotar um
processo de escolha da linha e/ou coluna pivotal.
 Estratégia de pivoteamento parcial
Esta estratégia consiste em:
i) no início da etapa k da fase de eliminação, escolher para pivô o elemento de maior
módulo entre os coeficientes.

ii) trocar as linhas k e i se for necessário.


 Estratégia de pivoteamento completo
Nesta estratégia, no início da etapa k é escolhido para pivô o elemento de maior
módulo, entre todos os elementos que atuam no processo de eliminação:

2 PROBLEMA PROPOSTO

Sistema: Reator batelada não isotérmico


Uma haste aquecida isolada com uma fonte de calor uniforme pode ser modelada com a
equação de Poisson:
𝑑2𝑇
= −0,12𝑥 3 − 2,4𝑥 2 + 12𝑥
𝑑𝑥 2
Com as condições de contorno T(x=0) = 40oC e T(x=10) = 200oC.
Determine a distribuição de temperatura com o método das diferenças finitas (∆x = 1)
8

3 RESULTADOS E DISCUSSÃO

A seguir são apresentados todos os resultados obtidos através do desenvolvimento


matemático e do programa criado no MATLAB, o qual gerou uma tabela com as temperaturas
nos pontos da malha, bem como um gráfico com essa distribuição.

3.1 DESENVOLVIMENTO MATEMÁTICO

Discretizando a EDO linear de segunda ordem pela fórmula da diferença central, a partir
da equação geral (1), obtém-se a equação geral discretizada (2), conforme apresentada no
capítulo 1, que será utilizada como referência para encontrarmos a equação que determinará
os pontos internos T.
dy
Como na questão proposta não temos os termos , nem o y, logo a função
dx
Ti 1  2Ti  Ti 1
discretizada, já em função de T, fica: 2
 f '' ( xi ) . A equação pode ser escrita
h
como:
Ti 1  2Ti  Ti 1  h2 (0,12 xi3  2,4 xi2  12 xi ) (A)

Em seguida, o domínio da solução é dividido em dez subintervalos ( x  1) , igualmente


espaçados (definidos por 11 pontos), conforme mostrado na Figura 1:

Figura 1 – Domínio da solução dividido em dez subintervalos

Fonte: Os autores (2018).

Os pontos extremos em negrito são as condições de contorno, os pontos finais.


9

Em seguida, a equação (A) é escrita em cada um dos pontos internos (i = 2, 3, 4, 5, 6, 7,


8, 9, 10).

Para i=2 : T1  2T2  T3  h2 (0,12 x23  2,4 x22  12 x2 ) ou

 2T2  T3  h2 (0,12 x23  2,4 x22  12 x2 )  T1 , pois T1 é conhecido da condição de contorno, daí

passar para a direita.


Para i=3: T2  2T3  T4  h 2 (0,12 x33  2,4 x32  12 x3 )

Para i=4: T3  2T4  T5  h 2 (0,12 x43  2,4 x42  12 x4 )


.
.
.
.
Para i=9: T8  2T9  T10  h2 (0,12 x93  2,4 x93  12 x9 )

Para i=10: T9  2T10  T11  h 2 (0,12 x10


3
 2,4 x10
2
 12 x10 )

ou T9  2T10  h2 (0,12 x10


3
 2,4 x10
2
 12 x10 )  T11 , pois T11 é conhecido da condição de
contorno, daí passar para a direita.

Estas equações formam um sistema de nove equações lineares algébricas com


incógnitas T2, T3, T4, T5, T6, T7, T8, T9, T10. Na forma matricial, aT   c , o sistema pode ser
escrito como:

-2 1 0 0 0 0 0 0 0 T2 h² (-0,12x2³ - 2,4x2² + 12x2) - T1


1 -2 1 0 0 0 0 0 0 T3 h² (-0,12x3³ - 2,4x3² + 12x3)
0 1 -2 1 0 0 0 0 0 T4 h² (-0,12x4³ - 2,4x4² + 12x4)
0 0 1 -2 1 0 0 0 0 T5 h² (-0,12x5³ - 2,4x5² + 12x5)
0 0 0 1 -2 1 0 0 0 T6 = h² (-0,12x6³ - 2,4x6² + 12x6)
0 0 0 0 1 -2 1 0 0 T7 h² (-0,12x7³ - 2,4x7² + 12x7)
0 0 0 0 0 1 -2 1 0 T8 h² (-0,12x8³ - 2,4x8² + 12x8)
0 0 0 0 0 0 1 -2 1 T9 h² (-0,12x9³ - 2,4x9² + 12x9)
0 0 0 0 0 0 0 1 -2 T10 h² (-0,12x10³ - 2,4x10² + 12x10) - T11
10

Esse sistema de equações será resolvido com um método de solução de sistema de


equações algébricas lineares, com auxílio do Matlab. A resposta será a solução da EDO dada
nos pontos internos. Esta questão leva a um sistema tridiagonal de equações, uma vez que, a
EDO é de segunda ordem e um esquema de diferenças centrais foi utilizado para aproximar a
derivada segunda.

3.2 ALGORITMOS NO MATLAB

Para resolver esse sistema tridiagonal de equações foi criada a função adicional
(Algoritmo 1) que utiliza o método de Eliminação Gaussiana para solução do sistema de
equações lineares.

Algoritmo 1: Função que utiliza o método de Eliminação Gaussiana para


solução do sistema de equações lineares

1 %Metodo de Eliminacao de Gauss para solucao de sistemas lineares


2 function X=mingau(A,B)
3
4 if (size(A,1)~=size(A,2))||(length(B)~=size(A,1))
5 erro('ERRO')
6 erro('A matriz "A" deve ser uma matriz quadrada')
7 erro('B deve ter o número de elementos igual a ordem de A')
8 return
9 else
10 if max(abs(A(:,1)))==0
11 det=0;
12 disp(det)
13 disp('O sistema e indeterminado ou nao tem solucao')
14 return
15 end
16 n=length(A);
17 for k=1:n-1 %Triangularizacao
18 %=======Pivoteamento Parcial=========================
19 t=find(abs(A(k:end,k))==max(abs(A(k:end,k))));
20 t=t(length(t));
11

21 if k~=1
22 if t~=1
23 for j=1:n
24 s=A(k,j);
25 A(k,j)=A(t+k-1,j);
26 A(t+k-1,j)=s;
27 end
28 s=B(k);
29 B(k)=B(t+k-1);
30 B(t+k-1)=s;
31 end
32 end
33 %====================================================
34 for i=k+1:n
35 m=A(i,k)/A(k,k);
36 if m~=0
37 A(i,k)=0;
38 for j=k+1:n
39 A(i,j)=A(i,j)-m*A(k,j);
40 end
41 B(i)=B(i)-m*B(k);
42 end
43 end
44 end
45 X=linspace(0,0,n);
46 X(n)=B(n)/A(n,n);
47 for k=n-1:-1:1
48 s=0;
49 for j=k+1:n
50 s=s+A(k,j)*X(j);
51 end
52 X(k)=(B(k)-s)/A(k,k);
53 end
54 end
55
56 end
12

Em seguida foi criado o Algoritmo 2, que é o programa principal, para determinar os


pontos internos através da função mostrada anteriormente.

Algoritmo 2: Programa criado para determinar a distribuição de temperatura

1 clc; clear;
2 %Distribuicao de temperatura em um reator batelada nao isotermico
empregando Gauss
3 %sistema linear format short
4 a=[-2 1 0 0 0 0 0 0 0
5 1 -2 1 0 0 0 0 0 0
6 0 1 -2 1 0 0 0 0 0
7 0 0 1 -2 1 0 0 0 0
8 0 0 0 1 -2 1 0 0 0
9 0 0 0 0 1 -2 1 0 0
10 0 0 0 0 0 1 -2 1 0
11 0 0 0 0 0 0 1 -2 1
12 0 0 0 0 0 0 0 1 -2];
13 h = 1; T1 = 40; T11 = 200;
14 x = [0 1 2 3 4 5 6 7 8 9 10];
15 c = [h^2 * ( -0.12*x(2)^3 -2.4*x(2)^2 +12*x(2)-T1 );
16 h^2 * ( -0.12*x(3)^3 -2.4*x(3)^2 +12*x(3) );
17 h^2 * ( -0.12*x(4)^3 -2.4*x(4)^2 +12*x(4) );
18 h^2 * ( -0.12*x(5)^3 -2.4*x(5)^2 +12*x(5) );
19 h^2 * ( -0.12*x(6)^3 -2.4*x(6)^2 +12*x(6) );
20 h^2 * ( -0.12*x(7)^3 -2.4*x(7)^2 +12*x(7) );
21 h^2 * ( -0.12*x(8)^3 -2.4*x(8)^2 +12*x(8) );
22 h^2 * ( -0.12*x(9)^3 -2.4*x(9)^2 +12*x(9) );
23 h^2 * ( -0.12*x(10)^3 -2.4*x(10)^2 +12*x(10)-T11 )];
24 disp('Solucao utilizando Gauss');
25 T = mingau(a,c);
26 T = [T1 T T11]
27
28
29 plot(x,T);
13

3.2.1 Temperaturas nos pontos da malha

Quando o arquivo é executado, todos os valores de temperatura são apresentados. Para


facilitar a visualização, estes foram colocados na Tabela 1 a seguir:

Tabela 1 – Resultado das temperaturas nos pontos da malha.

Distância (cm) Temperatura (oC)

0 40,000

1 115,004

2 199,488

3 297,412

4 406,496

5 517,500

6 613,504

7 669,188

8 650,112

9 511,996

10 200,000
14

3.2.2 Gráfico com a distribuição de temperatura

Quando o arquivo é executado, o seguinte gráfico apresentado na Figura 2 é exibido:

Figura 2 – Gráfico Temperatura (ºC) x Distância (cm)

Fonte: Os autores (2018).

O comportamento do gráfico com a distribuição de temperatura está em conformidade com o


esperado, uma vez que a haste é aquecida isolada com uma fonte de calor uniforme, pela equação de
Poisson, a temperatura tende a aumentar com a distância até um determinado ponto, já se aproximando
da extremidade da haste, onde sofre uma queda dessa temperatura até chegar no ponto final
determinado pela condição de contorno.
15

4 CONSIDERAÇÕES FINAIS

O software MATLAB, com seu ambiente de programação, funções matemáticas e


recursos gráficos, atendeu os nossos objetivos, sendo uma ferramenta eficiente na realização
deste trabalho.
Foi utilizado neste trabalho a fórmula de diferenças finitas regressiva, como uma
importante ferramenta para calcular as derivadas de forma aproximada.
Além disso aplicamos o método de eliminação de Gauss, que tornou a resolução dos
sistemas lineares mais simples, uma vez que, através do método pode-se transformar qualquer
matriz em uma matriz triangular superior se utilizando de estratégias de pivoteamento não
tendo assim pivor nulo o que tornaria impossível sua resolução obtendo um sistema
equivalente de resolução imediata, através de regressões sucessivas.
O comportamento do gráfico com a distribuição de temperatura está em conformidade
com o esperado.
É notório que a aprendizagem dos métodos numéricos se torna estimulante com o uso
adequado de ferramentas computacionais.
16

REFERÊNCIAS BIBLIOGRÁFICAS

Gilat, A., Métodos numéricos para engenheiros e cientistas / Amos Gilat, Vish Subramaniam,
Bookman, 2008.
«MathWorks Products». MathWorks. Acesso:
https://www.mathworks.com/products.html?s_tid=gn_ps. Consultado em 25 de julho de 2018

Você também pode gostar