Escolar Documentos
Profissional Documentos
Cultura Documentos
Numerica PDF
Numerica PDF
i
SUMÁRIO ii
Uma grande parcela dos problemas de engenharia depende, para a obtenção de resulta-
dos, da solução de uma única ou até de um sistema de equações diferenciais. Até a primeira
metade deste século buscou-se, de forma intensa, a solução analı́tica destas equações utilizando
uma grande gama de ferramentas matemáticas como transformadas, solução por séries, etc.
Com este esforço concentrado foram obtidos alguns resultados e muitas equações diferenciais
puderam ser resolvidas. No entanto, quase todas estas respondem por problemas fı́sicos simples
e não representam uma amostra significativa dos problemas de engenharia que normalmente
tem geometria e condições de contorno complexas.
Desta forma, a partir da segunda metade do século XX, este panorama foi completamente
modificado. Deixou-se de buscar a solução puramente analı́tica para estes problemas e passou-
se a trabalhar com os métodos numéricos na tentativa da obtenção de soluções aproximadas.
Embora a grande maioria dos métodos numéricos sejam conhecidos a bastante tempo, a sua
utilização em massa só ocorreu graças a um acontecimento: o grande avanço dos computadores.
No passado quando se tentava resolver um problema, mesmo um extremamente simples, através
de métodos numéricos este processo demandava um enorme tempo em cálculos e, muitas vezes,
envolvia uma equipe de pessoas. Esta dificuldade praticamente inviabilizava a sua utilização até
o aparecimento dos computadores de grande porte e, mais recentemente, os super computadores.
Esta situação se inverteu completamente e nos dias de hoje são os métodos numéricos que
1
Tóp. Esp. Fluido-Témica 2
respondem praticamente pela totalidade dos problemas complexos em engenharia. Além disto
o barateamento ocorrido em termos de custo/hora do tempo de CPU tem tornado-a, cada vez
mais, acessı́vel a um número maior de pessoas. Um exemplo disto é citado por (Maliska, 1995)
em seu livro: a solução de um escoamento supersônico usando computadores do tipo IBM 704,
existente na década de 60, consumiria um tempo de computação de 30 anos a um custo de
alguns milhões de dólares enquanto o mesmo problema é resolvido hoje com alguns minutos de
CPU a um custo de algumas centenas de dólares.
Apesar de tudo isto que foi dito aqui os métodos analı́ticos ainda têm grandes utilidades.
Em primeiro lugar, não tem muito sentido resolver um problema numericamente se a sua
solução analı́tica é conhecida e pode fornecer a valores para todo o domı́nio, ao contrário
da solução numérica que só só fornece a solução para os pontos considerados. Além disto
a solução analı́tica é, muitas vezes, utilizada como padrão e até mesmo fonte de inspiração
na resolução de problemas com métodos numéricos. Em outras vezes ainda, um modelo é
testado em determinadas condições nas quais existe solução analı́tica para poder confrontar os
resultados e, só depois do sucesso nesta consideração, é que o mesmo é estendido para casos
onde a solução analı́tica não é conhecida.
Quando não existe solução analı́tica que permita esta verificação do método numérico outra
ferramenta é então utilizada: os ensaios experimentais. Da mesma forma que os métodos
analı́ticos os métodos experimentais foram, e diria até que ainda são, muito utilizados na
solução de problemas de engenharia. Isto se deve ao fato que a simulação pode ser feita sobre
as condições desejadas (ou próximas dela) sem se preocupar sequer com as condições contorno ou
tipo de equações diferenciais. Embora os métodos experimentais tenham os seus atrativos, têm
também um grande problema: o seu elevado custo. Tanto a instrumentação necessária, como
a montagem do experimento e a mão de obra necessária necessitam de um alto investimento,
o que dificulta grandes desenvolvimentos nesta área. Além do mais a presença de sondas para
tomada de medidas ou quaisquer outros objetos fı́sicos, tendem a alterar as condições ideais para
a retirada de medidas de um experimento, tornando muitas vezes o experimento impraticável.
Um grande exemplo deste fato é a indústria aeronáutica que tem substituı́do grande parte dos
seus ensaios em túnel de vento por simulações numéricas com excelentes resultados. Da mesma
forma que a solução analı́tica muitas vezes são utilizados resultados experimentais para validar
resultados de métodos numéricos, dispensando a partir de então a repetição da experiência para
casos similares.
Para a solução de equações diferenciais por métodos numéricos, da mesma forma que quando
são resolvidas por métodos analı́ticos, é conveniente o conhecimento de alguns preceitos sobre
equações diferenciais:
Tóp. Esp. Fluido-Témica 3
Equação Diferencial Parcial: é aquela em que as funções solução para a equação diferencial
são dependentes de mais de uma variável. A maior parte dos problemas envolvendo
geometrias bi e tri dimensionais e análise de transientes em corpos com gradientes internos
recai neste tipo de equação diferencial. Tomando como exemplo utilizar-se-á a equação
da quantidade de movimento linear, bidimensional e em coordenadas cartesianas, para
um fluido newtoniano na direção x:
2
∂ u ∂2u
∂u ∂u ∂u ∂P
ρ +u +v =− +µ +
∂t ∂x ∂y ∂x ∂x2 ∂y 2
Equação Diferencial Linear: é o tipo de equação diferencial onde aparece uma composição
linear da função e suas derivadas. Exemplo disto é a equação da condução de calor, para
substâncias isotrópicas e com propriedades fı́sicas admitidas independentes da tempera-
Tóp. Esp. Fluido-Témica 4
tura:
∂2T ∂2T
+ =0
∂x2 ∂y 2
A distribuição de temperaturas em uma placa plana mostrada na figura (??a), é um
exemplo tı́pico deste tipo de aplicação.
Equação Diferencial Não Linear: é aquela a função não aparece de forma linear na equação
diferencial, mas sim com termos quadráticos ou através de outras funções não lineares. Um
exemplo deste tipo de equação é a equação de um pêndulo que, com base na figura (??b),
pode ser dada como:
d2 θ g
+ sin θ = 0
dt2 l
que tem formas de solução bem complexa. Prova disto é a própria expressão acima, que
é quase sempre resolvida através da linearização da equação (trabalhando-se com ângulos
pequenos sin θ ≈ θ):
d2 θ g
+ θ=0
dt2 l
Equação Diferencial Homogênea: é aquela em que o termo independente não se apresenta
como função de nenhuma variável, ou melhor:
y 0 (x) = f (x, y)
é homogênea se f (x, y) for uma constante ou uma expressão que permita uma trans-
formação de variável que a deixe independente da variável transformada (normalmente
um f (y/x)). Um exemplo de equação diferencial homogênea:
y 000 + 2 y 0 − 3y = 0
que é uma equação de terceira ordem e que, conseqüentemente, precisa de pelo menos
três condições de contorno para ser resolvida. Esta é na realidade a grande vantagem
desta metodologia de classificação de equações diferenciais: indicar instantaneamente o
número de condições de contorno necessárias para resolver o problema.
Mas é importante ressaltar que as caracterı́sticas acima são importantes também para iden-
tificar qual o método numérico de solução que deve ser utilizado na solução de um problema.
Vejamos por exemplo o tipo de solução mais utilizados segundo a natureza das equações dife-
renciais:
Método de Euler
Eq. Diferenciais Ordinárias Método de Passos Múltiplos (ou Preditor-Corretor)
Método de Runge Kutta1
Método de Diferenças Finitas
Eq. Diferenciais Parciais Método de Volumes Finitos
Método de Elementos Finitos
1
Muitas vezes este método também é utilizado na solução da parcela envolvendo o tempo de Eq. Diferenciais
Parciais
Tóp. Esp. Fluido-Témica 6
É importante ressaltar que nada impede que se utilize esquemas de solução para Eq. Dife-
renciais Parciais em Eq. Diferenciais Ordinárias, uma vez que o seu procedimento é genérico,
no entanto a recı́proca não é verdadeira. Normalmente se adotam esquemas diferenciados para
solução de equações diferenciais ordinárias, pois estes podem ser um pouco mais simples ou
então mais precisos permitindo uma maior acuracidade na solução.
CAPÍTULO 2
Existem uma série de ambientes matemáticos propı́cios para a solução de algumas tarefas a
serem realizadas cotidianamente em cálculos da Engenharia: Matlab, Mathemathica, GNU Oc-
tave, SciLab, Maxima, etc. Alguns destes são capazes, inclusive, de trabalhar com manipulação
simbólica como o caso do Máxima, Mathemathica, Matlab (versões posteriores à 5.0), SAGE
e o próprio octave se utilizando de pacotes adicionais.Entretanto, para o caso de utilização em
simulação numérica a manipulação simbólica não represbta um fator decisivo.
Este capı́tulo, basicamente, ficará restrito ao uso dos sistemas Matlab/GNU Octave sendo
o primeiro um sistema licensiado e o segundo uma alternativa livre de ambientes matemáticos.
Embora similares em grande número de comandos existem algumas diferenças entre os co-
mandos em cada um dos sistemas. Na maioria das vezes octave suporta tanto a sua sintaxe
especı́fica como aquela que seria utilizada pelo Matlab. O SciLab também é considerado uma
boa alternativa livre ao uso do Matlab, mas o seu uso não será abordado neste material.
Existem uma série de referências que podem complementar as informações aqui fornecidas,
dentre as quais destaco os materiais de (Domingues & Mendes, 2002) e (Eaton, 2006). Outra
importante fonte de ajuda é o próprio programa, onde uma série de informações a respeito de
um comando podem ser obtidas utilizando-se help -i nome_do_comando.
Inicialmente, será visto simplesmente algumas operações fundamentais com matrizes e ve-
7
Tóp. Esp. Fluido-Témica 8
tores que não apresentam variação entre estes sistemas. Com estas informações já são possı́veis
realizar uma série de procedimentos do nosso curso.
Neste tipo de plataformas estão contemplados todos os tipos de operadores, tanto para
operação com reais com inteiros. Assim são possı́veis a soma(+), subtração(-), divisão(/),
multiplicação (*) divisão reversa (\) e exponencial (ˆ). Operações com inteiros são também
possı́veis como a divisão, utilizando o truncamento dos decimais (floor ), e resto (mod ou rem).
Assim:
octave>mod(5,2)
ans =
1
octave> rem(5,2)
ans =
1
octave> floor(5/2)
ans =
2
O disp é um comando utilizado para escrever na tela e converte a saida para caracteres.
Comandos para arredontamento como round ou ceil também estão disponı́veis no Octave.
Além disto, existe uma extensa biblioteca matemática pré-implementada que permite o
cálculo de uma série de funções hiperbólicas (exp, log, sinh, etc.), trigonométricas (sin, cos,
tan, etc.), de Bessel (besselj , besselk , besseli , etc.) e uma infinidade de outras.
Antes de mais nada é possı́vel criar vetores e matrizes através de um valor inicial, um valor
final e incrementos constantes do tipo:
Tóp. Esp. Fluido-Témica 9
octave> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
octave> 1:2:10
ans =
1 3 5 7 9
octave> linspace(1,10,5)
ans =
1.0000 3.2500 5.5000 7.7500 10.0000
Para criar uma matriz ou um vetor incluindoos valores de cada posição e armazená-lo numa
variável, o procedimento também é simples, basta inseri-lo da maneira mostrada abaixo:
octave> a=[1 2; 4 7]
a =
1 2
4 7
octave> b=[3 6
> 9 4]
b =
3 6
9 4
Definidas as matrizes pode-se realizar operações entre elas. Veja por exemplo como realizar
uma adição entre as matrizes a e b, definidas anteriormente.
octave> a+b
ans =
4 8
13 11
Da mesma maneira pode-se utilizar uma resposta anterior, mesmo que não armazenada em
variável nenhuma utilizando da variável ans. Como exemplo disto, veja como apresentar a
segunda coluna da matriz resposta anterior:
Tóp. Esp. Fluido-Témica 10
octave> c=ans(:,2)
c =
8
11
sendo que para isto é bastante útil o ”:”da maneira apresentada. Ele pode representar, quando
usado desta maneira, todas as linhas ou colunas de uma matriz. Caso desejasse mostrar apenas
um componente da matriz, bastaria colocar o seu endereço ente parênteses:
octave> a(2,1)
ans = 4
Da mesma maneira que a adição, outras operações entre as matrizes poderiam ser realizadas,
como por exemplo a multiplicação:
octave> a*b
ans =
21 14
75 52
Outra forma desta operação, a chamada multiplicação termo a termo, pode também ser
necessária e neste caso ela pode ser realizada através da forma:
octave> a.*b
ans =
3 12
36 28
sendo ainda existente uma operação equivalente a esta para a divisão termo a termo, represen-
tada pelo operador ”.”.
São ainda possı́veis uma série de outras operações com matrizes, sendo destacadas aqui:
• Determinante (det):
Tóp. Esp. Fluido-Témica 11
octave> det(a)
ans = -1
octave> inv(b)
ans =
-0.095238 0.142857
0.214286 -0.071429
octave> b’
ans =
3 9
6 4
octave> zeros(4)
ans =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
ou ainda para qualquer matriz não quadrada definindo-se o numero de linhas e colunas:
octave> zeros(1,7)
ans =
0 0 0 0 0 0 0
octave:1> ones(3,2)
ans =
1 1
1 1
1 1
• Matriz de números aleatórios (r and): com todos os números aleatórios variando entre 0
e 1.
octave> rand(2,4)
ans =
0.539648 0.061666 0.070065 0.324883
0.569649 0.023215 0.673922 0.419023
Tóp. Esp. Fluido-Témica 12
Em função do exposto se o interesse é por uma matriz cujo o valor máximo é 10, basta
mutiplicar o resultado anterior pelo valor máximo.
octave> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
que é uma operação bastante útil se você estiver interassado em montar uma linha qual-
quer com um valor ”1”na posição da diagonal principal e o restante zeros:
octave> eye(10)(5,:)
ans =
0 0 0 0 1 0 0 0 0 0
octave> a=[1 2 3]
a =
1 2 3
octave> diag(a)
ans =
1 0 0
0 2 0
0 0 3
O vetor diagonal também pode ser usada para montar uma diagonal secundária da matriz,
para isto basta fornecer como segundo argumento inteiro que representa a sua posição
na matriz. Números negativos podem ser usados para representar diagonais secundárias
abaixo da posição atual:
octave> diag(a,-2)
ans =
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
octave:19> diag(b,1)’
ans =
5 4 4 6
octave> sum(a)
5 9
Deve-se lembrar ainda que mesmo nos ambientes deste tipo não existe a comutatividade em
operações com matrizes assim:
octave> c*c’
ans =
64 88
88 121
é diferente de:
octave> c’*c
ans = 185
Bem este texto serve como uma referência básica para o tratamento de matrizes e vetores
nos referidos sistemas entretanto existem ainda uma série de diferentes comandos relacionados
a este que podem ser encontrados em documentações mais aprofundadas e através do Help dos
programas.
Existem uma série de outras operações que permitem operações básicas com vetores, prin-
cipalmente com relação à união de vetores (union) e a idendificação de posições que obedeçcam
a caracterı́sticas definidas (find ).
Tóp. Esp. Fluido-Témica 14
Para definir funções no octave nomalmente é indicado criar um arquivo com extensão .m no
diretório corrente obedecendo a uma estrutura básica:
i. a primeira linha deve conter a palavra chave function, em seguida a variável que armazena
o valor a ser retornado que, por sua vez, é igualada ao nome da função seguida da sequência
de parâmetros de entrada. É fundamental que o nome da função seja idêntico ao fornecido
ao arquivo .m.
Veja por exemplo a criação de uma função do tipo sinal de um número. Desta forma será
editado um arquivo sinal.m do tipo:
# funç~
ao sinal
function ret=sinal(x)
if (x!=0) ret=x/abs(x);
else ret=0;
endif
end
A partir deste ponto existe uma função pronta no octave de nome sinal que pode ser chamada
em qualquer instante. Cabe ressaltar entretanto que esta função deve estar no diretório corrente
ou no diretório de funções do octave. Assim:
octave> sinal(100)
ans= 1
octave> sinal(-10)
ans=- 1
octave> sinal(0)
ans = 0
Esta mesma função poderia ser criada simplesmente digitando a sequência de comandos apre-
sentada no octave dispensando, assim, a necessidade da criação de um novo arquivo. O inco-
veniente desta forma é que a mesma só estaria disponı́vel depois de carregada para a memória
do octave em cada seção.
Tóp. Esp. Fluido-Témica 15
Quando se trata de funções mais simples, que envolve o seu cálculo diretamente a partir
de parâmetros fornecidos o comandoi nline pode ser uma boa alternativa. Sofre das mesmas
limitações de quando se define a função no interior de um script, entretanto sua definição é bem
mais simples:
octave> f=inline("2*x.^2-3*x+4")
f =
f(x) = 2*x.^2-3*x+4
octave> f(2)
ans = 6
sendo que neste caso todos os parâmetros envolvidos na função seriam também argumentos da
mesma dificultando, assim, definições mais complexas. Existem alternativas para personalizar
esta definição uma vez que este comando pode ser utilizado com maior número de parâmetros.
Maiores detalhes podem ser encontrados com a utilização da ajuda da função.
Com relação ao comando para plotagem plot ele pode ser utilizado com a entrada de pelo
menos dois vetores (x, y), mas sua forma geral permite a utilização de um formato em sequência
identificando como vai ser a linha
Apenas para ilustrar, foi feito um gráfico personalizado alterando algus parâmetros mais
importantes do gnuplot via gset e utilizando-se de um script do octave:
e com isto foi criado o gráfico mostrado na figura (2.1). Deve-se ressaltar que em versões antigas
do programa utilizava-se substiturir o comando __gnuplot_set__ por gset.
Um dos aspectos mais complexos é a utilização de estilos de linhas e pontos neste tipo
de plotagem. Além de escolher o tı́tulo da legenda da curva é ainda possı́vel nestes gráficos,
escolher tanto a cor como a forma das linhas ou pontos da curva. Para tanto é interessante
conhecer os esquemas a serem utilizados:
Além destas cores pode-se ainda utilizar o w para o branco e os números maiores que
cinco para outras variações.
Tóp. Esp. Fluido-Témica 17
Cabe ressaltar ainda que o comando fplot pode ser utilizado diretamente para a elaboração
de gráficos a partir de funções diretamente. Ele pode ser utilizada de maneira análoga ao plot,
excetuando-se pelas mudanças de formatos anteriormente demonstradas.
É possı́vel realizar uma série de operações lógicas e testes usando o Octave. As operações
mais usuais são maior (>) ou maior ou igual (>=), menor(<) ou menor ou igual (<=), igual
(==) e diferente (! = ou ˜=). É conveniente notar que o teste de igualdade (==) é diferente
da atribuição (=).
octave> a=2
2
octave> a=3;
3
• while utilizado para o caso de repetições onde o teste é feito por diversas vezes a cada
interação do problema.
octave> z=1;
octave> while (z<5) disp(z); z+=2; endwhile
1
3
• for no caso de operações que usam um contador com incrementos constantes o comando
for é o mais indicado.
• switch permite a seleção de uma alternativa entre diversas. Pode ser substituido por um
conjunto de if s em cascata.
octave> nlados=3;
octave> switch (nlados)
> case (3) disp("Tri^
angulo")
> case (4) disp("Quadrado")
> case (5) disp("Pentágono")
> otherwise disp("Figura n~ao classificada")
> endswitch
Tri^
angulo
Em todos os comandos acima o final endif , endwhile, endfor e endswitch pode ser substi-
tuido por end sem comprometer o funcionamento do script (e mantendo compatibilidade com
o Matlab)
Algumas diferenças básicas que podem afetar a compatibilidade entre ambos são:
Problemas de Valor Inicial: que são aqueles onde as condições de contorno são estabeleci-
das em um ponto inicial, e partir destas vão sendo calculados os valores para posições
subseqüentes. Este procedimento é normalmente caracterizado por procedimento de mar-
cha (os transientes são os melhores exemplos deste tipo de problemas).
Problemas de Valor de Contorno: são aqueles onde as condições de contorno são estabe-
lecidas em posições diferentes dentro de um problema, o que implica em uma solução que
envolva todo o domı́nio.
Para exemplificar melhor cada um dos problemas, imagine um caso de condução unidimen-
sional em um sólido de condutividade térmica independente da temperatura com geração de
calor. A equação diferencial para este problema é:
q̇
T 00 (x) = −
k
19
Tóp. Esp. Fluido-Témica 20
Por sua vez se, ao invés disso, forem conhecidas as duas temperaturas de parede em ambas
as faces T (x = 0) = T0 e T (x = L) = TL este problema passa a ser um problema de valor de
contorno.
Existem diversos graus para o método de Runge Kutta, será mostrada aqui a dedução
para o método de segunda ordem, para os métodos de ordem superior o procedimento é análogo.
Sabe-se que por série de Taylor é possı́vel expressar o valor qualquer ponto a partir de um
ponto conhecido:
∆x2 00
y(x + ∆x) = y(x) + ∆x y 0 (x) + y (x) + · · ·
2!
que pode ser escrito para um sistema discreto com espaçamento ∆x = h na forma:
h2 00
yn+1 = yn + h yn0 + y + ···
2! n
Suponhamos que uma dada equação diferencial pode ser manipulada de forma a obter uma
expressão para a derivada primeira de forma que:
Reescrevendo a expansão por Taylor, mas levando em conta esta informação tem-se agora
uma expansão para funções de duas variáveis :
h2
yn+1 = yn + hf (xn , yn ) + [fx (xn , yn ) + fy (xn , yn )yn0 ] + · · ·
2!
Tóp. Esp. Fluido-Témica 21
ou ainda:
h2
yn+1 = yn + hf (xn , yn ) + [fx (xn , yn ) + f (xn , yn )fy (xn , yn )] + · · · (3.1)
2!
sendo y∗0 um valor previsto para a derivada para o ponto genérico (xn + b1 h, yn + b2 yn0 h).
yn+1 = yn + (a1 + a2 )f (xn , yn )h + a2 b1 fx (xn , yn )h2 + a2 b2 f (xn , yn )fy (xn , yn )h2 (3.3)
a1 + a2 = 1
1
a2 b1 =
2
1
a2 b2 =
2
Este sistema tem mais incógnitas que equações e a sua famı́lia de soluções é dada por:
a2 = 1 − a1
1
b1 =
2 − 2a1
1
b2 =
2 − 2a1
Tóp. Esp. Fluido-Témica 22
e
e
uyn+1
K1
K3 2 e
e
K2
K4
2 e
xn xn+1
h/2
h
Uma solução comum para o sistema seria dada se a1 = a2 que implica em a1 = a2 = 1/2 e
b1 = b2 = 1 que igualaria ao método de Runge Kutta ao Método de Euler. Maiores detalhes
desta dedução e do método de Euler podem ser encontrados em (Ruggiero & Lopes, 1988).
A figura (3.1) mostra graficamente como funciona a aproximação mais utilizada deste tipo
de esquema: O Runge Kutta de 4a ordem. São aproximadas tanto as retas tangentes como os
pontos utilizados para os cálculos intermediários. É apresentada também na figura o valor do
ponto calculado numericamente utilizando as escalas dos Ks.
K1 = h f (xn , yn )
K2 = h f (xn + h/2, yn + K1/2)
K3 = h f (xn + h/2, yn + K2/2)
K4 = h f (xn + h, yn + K3 )
Solução:
"
Qtde de calor
# Qtde de calor
armazenada no = transferida pelo
termômetro fluido
dT
ρmerc cmerc Volmerc = h A (T∞ − T ) (3.5)
dt
sendo que a área de transferência de calor por convecção é: A = πdL = π(0.006)(0.025) =
4.71 × 10−4 m2 .
dT
13600 × 0.0325 × (7.07 × 10−7 ) = 25 × (4.71 × 10−4 ) (T∞ − T )
dt
Tóp. Esp. Fluido-Témica 24
Para resolver este problema basta aplicar o método de Runge-Kutta ou então resolver esta
expressão analiticamente. A solução exata para este problema pode ser encontrada em (Kreith,
1977) e é dada por:
• t = 0 : T=15◦ C
• t = 0.03333
1
T2 = T1 + (K1 + 2 K2 + 2 K3 + K4 ) ⇒
6
1
T2 = 15 + (31.401 + 2.14.632 + 2.25.163 + 5.66)
6
isto implica em que T2 = 34.44◦ C.
Utilizando a solução analı́tica para o problema a temperatura indicada pelo termômetro,
para o mesmo tempo, é de 34.80◦ C. Isto equivale a um erro de cerca de 1%, indicando a
boa precisão do método.
Tóp. Esp. Fluido-Témica 25
A tabela (3.1) mostra a solução para este problema para vários valores de tempo. Ela
fornece os valores da temperatura calculada pela solução analı́tica e por Runge Kutta, além de
fornecer o valores para os Ks em cada tempo.
A figura (3.2) mostra o comportamento das temperaturas lidas pelo termômetro, exata e
numérica, e a temperatura real do banho. Pela figura é possı́vel mostrar a boa concordância
entre o resultado numérico e o resultado exato.
65
Sol. Analitica
Sol. Numerica
60 Temperatura do banho
55
50
45
Temperatura [oC]
40
35
30
25
20
15
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Tempo[h]
Para definir esta equação do problema é preciso criar um arquivo representando esta função,
sendo que ambos (a função e arquivo) devem ter o mesmo nome. No caso será criado o arquivo
dert.m, composto por:
function dr=dert(tempo,temper)
dr=37.681*(40+22.48*sin(2*pi*tempo)-temper);
endfunction
e a partir dele é possı́vel calcular o valor da função para qualquer par ordenado T 0 (t, T ). Por
exemplo:
octave> dert(0.15)
ans = 942.02
Tóp. Esp. Fluido-Témica 27
Cabe ressaltar aqui que no Matlab não existe o comando endfunction, sendo que o mesmo
não precisa ser incluido no caso de arquivos deste tipo.
function resp=runge(tempo,temper,h)
k1=h*dert(tempo,temper);
k2=h*dert(tempo+h/2, temper+k1/2);
k3=h*dert(tempo+h/2, temper+k2/2);
k4=h*dert(tempo+h, temper+k3);
resp=temper+(k1+2*k2+2*k3+k4)/6;
endfunction
Com esta função agora é possı́vel realizar a marcha do processo de solução. Caso se desejasse
a temperatura após decorridos 2 min, é possı́vel obtê-la usando a função recém definida:
octave> runge(0.15,2/60)
ans = 34.443
Para a obtenção da solução completa é preciso repetir este procedimento por diversas vezes
este procedimento e armazenar a solução em vetores. Para isto, a sequencia de comandos abaixo
pode ser implementada diretamente ou via arquivo e a solução armazenada nos valores de te
e TT:
dt=2/60;
te=0:dt:1;
TT=zeros(1,31);
TT(1)=15;
for i=2:31
TT(i)=runge(te(i-1),TT(i-1),dt);
endfor
que se executado no octave. Deve-se observar que o comando te0:2/60:1;= cria um vetor com
todos os termos de 0 a 1, incrementados em intervalos de 2/60.
Feita esta análise implementar ainda solução analı́tica do problema e a evolução da tem-
peratura do banho em funções distintas (t exata.m e tbanho.m). O resultado obtido destas
funções são armazenadas em variáveis:
Tóp. Esp. Fluido-Témica 28
function tex=t_exata(t)
tex=40+22.17*sin(2*pi*t-0.165)-21.36*exp(-37.681*t);
endfunction
function tba=tbanho(t)
tba=40+22.48*sin(2*pi*t);
endfunction
Definidas as funções pode-se avaliar as soluções e armazená-los nas variáveis texv e tba,
a partir das quais, pode-se plotar os resultados. Estes valores estão mostrados no gráfico em
função do tempo armazenado na variável te, e o resultado está mostrado na figura (3.3). Para
comparação uma tabela de saı́da de dados foi montada com base nos resultados obtidos. Desta
forma é possı́vel uma análise dos valores numéricos de cada caso:
Neste gráfico estão mostradas a solução numérica e exata do problema, além da temperatura
do banho. O comando utilizado para plotagem, considerando-se as avriáveis anteriormente
definidas é dado por:
Embora o procedimento acima possa ser realizado sem maiores problemas ele depende,
como foi mostrado, da elaboração de uma rotina para a solução do problema, no caso usando
o procedimento de Runge-Kutta. Existe uma alternativa um pouco mais simples que consiste
na utilização do procedimento de solução já implementado no octave usando o comando lsode.
sendo que:
nome da função é o nome do arquivo que contem a expressão da função a ser integrada e cujo
nome vem entre” . Embora esta seja basicamente igual à definida anteriormente deve-se
Tóp. Esp. Fluido-Témica 30
tomar o cuidado de que a função deve ser chamada sempre com o primeiro argumento
sendo o vetor da grandeza a ser calculada e o segundo o do parâmetro da solução.
Nestas condições a função utilizada na solução do problema do termômetro, chamada de
dert2.m deve ser redefinida como:
domı́nio representa a faixa de valores para os quais a solução vai ser obtida. Neste caso deve-se
estabelecer a forma de um vetor do tipo inı́cio: passo: fim ou forma equivalente.
octave> sol2=lsode("dert2",15,te);
considerando o dominio do problema anteriormente definido por te. Depois disto a solução
poderia ser plotada e comparada com as anteriores ou mesmo verificado a diferença entre a
nova solução e a anterior.
Um procedimento similar a este poderia ser elaborado usando-se o Matlab para obter a
solução deste problema com as seguintes diferenças:
• existem uma série de funções que permitem a solução de odes no Matlab, sendo a mais
utilizada a ode45, que normalmente substituir o lsode.
• a chamada da função dentro do ode45 se dá com um @ na frente do nome e não entre ”.
• o domı́nio pode ser estabelecido através de um vetor na forma [inı́cio final ], além das
formas anteriormente apresentadas.
Agora apresente a solução numérica deste problema e compare-a com a resposta obtida a partir
da solução analı́tica.
O mesmo procedimento mostrado anteriormente pode ser estendido para equações di-
ferenciais de ordem superior, mas para isto é necessário algumas adaptações no esquema. A
adaptação utilizada é converter a E.D. (Equação Diferencial) em um sistema. Este fato é melhor
explicado tomando-se uma E.D. como exemplo:
y 00 + y 0 − y + 2 x = 0 =⇒ y 00 = −y 0 + y − 2 x
y0 = Z
y 00 = −Z + y − 2 x
da aleta trabalhará há uma temperatura de 50◦ C e que deve dissipar uma quantidade de calor
de 120 W pergunta-se qual o comprimento mı́nimo que esta aleta deverá ter?
Solução:
qr = qr+dr + qconv
dT dT
−k(2π r t) = −k(2π (r + dr) t) + h 2 (2πr dr) (T − T∞ )
dr r dr r+dr
Note que os valores de avaliação da derivada deixaram de aparecer uma vez que todas agora
passam a ser avaliadas na posição r. Expandindo a expressão:
dT dT d2 T dT d2 T 2 h r dr
r =r + r 2 dr + dr + 2 dr2 − (T − T∞ )
dr dr dr dr dr kt
Substituindo os valores:
dT 120
=− = −296.10
dr r=R
2 π 215 0.06 0.005
Feito isto pode-se partir para a solução da equação propriamente dita. Para questão de
nomenclatura utilizar-se-a o sistema de equações na forma:
G(r, T, G) = G
1
F (r, T, G) = 93.02 (T − 25) − G
r
sendo que T 00 = F (r, T, G) e T 0 = G(r, T, G)
1
Os valores dos parâmetros de F e G são os mesmos para a mesma posição e foram somente apresentados
de maneira diferente: sendo indicados em G e calculados em F .
Tóp. Esp. Fluido-Témica 34
Este mesmo procedimento pode ser repetido por diversas vezes até que o fluxo de calor G se
anule, que é quando a aleta deixa de transferir calor. Os resultados para este problema podem
ser encontrados na tabela (3.2).
A solução analı́tica para este problema também pode ser obtida no entanto ele envolve
funções de Bessel e pode ser dada na forma:
sendo ainda que os valores calculados por estas funções também estão presentes na tabela (3.2).
Também no caso da EDO de segunda ordem é possı́vel utilizar estes métodos. Como foi
visto a saı́da é converter a solução para um sistema de equações diferenciais em que cada
uma representa uma ordem diferente. Uma solução implementando a técnica de Runge Kutta
apresentada anteriormente poderia ser vista, entretanto, aqui só será apresentada a técnica que
se utiliza da função pré-implementada no octave lsode.
0
r T Texata G = dT /dr Texata k1,1 k1,2 k2.1 k2,2 k3,1 k3,2 k4,1 k4,2
Tóp. Esp. Fluido-Témica
Bem para isto é necessário definir uma função que represente a equação diferencial do
problema que foi apresentada anteriormente, sendo:
1
T 00 (r, T, T 0 ) = 93.02(T − 25) − T 0
r
que será representada através da função sol ale1.m, que tem como parâmetros de entrada um
vetor que armazena T e suas derivadas e uma variável para armazenar a posição radial r.
onde a variável temr (1) e (2) representam as expressões para a primeira e segundas derivadas
de T nos pontos considerados, respectivamente.
Feito isto a solução pode ser obtida estabelecendo a região do domı́nio para a qual seria
solucionada (raios rr), as condições iniciais) e executando a chamada do lsode, como mostra
o script a seguir.
Até agora foi visto apenas casos onde as condições iniciais eram conhecidas de antemão.
No entanto existem casos onde se deseja satisfazer condições que estejam deslocadas em relação
ao ponto inicial. O procedimento de Runge Kutta funciona bem também neste caso, no entanto
Tóp. Esp. Fluido-Témica 37
Embora este acerto na condição de contorno possa ser feito por tentativa e erro existem
procedimentos mais otimizados para a busca dos valores iniciais: são eles os métodos de busca
de zero de funções (método da bipartição, secante e Newton-Raphson). O método que tende a
ser mais eficiente para este procedimento é o Método de da Secante, que é uma adaptação do
método de Newton-Raphson. Para tanto é apresentada a seguir uma breve revisão a respeito
dos métodos.
Método de Newton Raphson: é um método que permite achar a raiz de expressões. Sua
forma básica é:
f (xn )
xn+1 = xn −
f 0 (xn )
f (x + ∆x) − f (x)
f 0 (x) = lim
∆x→0 ∆x
No caso da expressão pela Método da Secante é tomada a expressão discreta para a derivada
Tóp. Esp. Fluido-Témica 38
utilizando-se dos dois pontos anteriormente calculados, ou seja, fazendo ∆x = xn −xn−1 e assim:
f (xn )
xn+1 = xn −
f (xn ) − f (xn−1 )
(xn − xn−1 )
f (xn )
ou xn+1 = xn − (xn − xn−1 )
f (xn ) − f (xn−1 )
Esta mesma expressão pode ser reagrupada na sua forma mais usual que é:
Esta expressão permite o cálculo de forma a obter valores estimados para as condições
iniciais no caso de condição de contorno deslocada.
Solução:
A aleta terá a sua máxima dissipação de calor se o seu comprimento tender a infinito. Mas
para que o seu comprimento tenda a infinito é preciso respeitar a condição de contorno:
dT
=0
dr r→∞
No caso da solução numérica, é preciso estipular um valor para este infinito, neste caso
estipulou-se como infinito o valor de 2 m.
dT /dx|x=0 dT /dx|x=∞ 2
-296.1 307617.567
-300 296887.049
Tomando por base estes dois valores é possı́vel aplicar a expressão do método da secante,
equação (3.9), e obter uma estimativa do valor que vai anular o fluxo afastado da base da aleta.
Assim:
Este é o novo valor que deve ser utilizado de forma a buscar a condição de contorno desejada.
Executando o Runge Kutta com este valor inicial obtém-se o resultado mostrado abaixo:
dT /dr|r=0.06 dT /dr|r→∞ 2
-407.903415 -2.688E-09
Isto indica que o máximo fluxo de calor que poderá ser dissipado por uma aleta deste tipo
e sujeita às condições pré-estabelecidas é:
dT
q = −k Ab = −215 (2π 0.06 0.005) (−407.903415) = 165.31 W
dr r=0.06
A solução exata para este problema também é obtida em termos de função de Bessel e é
dada por:
Desta forma é possı́vel verificar que o valor calculado através de Runge Kutta, praticamente
coincide com o exato.
2
O valor para o ∞ foi adotado como sendo 2 m
Tóp. Esp. Fluido-Témica 40
Para obter-se a solução neste caso é necessário o procedimento iterativo, onde admite-se os
valores da função e suas derivadas no ponto e busca-se os outros valores nos pontos desejados.
Desta forma imagine o caso resolvido na apostila onde deseja-se saber o fluxo máximo de
calor que pode ser dissipado por uma aleta com estas caracterı́sticas. Admitindo-se que o
comprimento infinito seja uma aleta de 2 m, busca-se o valor da derivada na base que obtenha
fluxo de calor nulo nesta ponta.
octave> rr=0.06:0.01:2;
octave> fx1=-296.1;
octave> fx2=-300;
octave> saida=lsode("sol_ale1", [50 fx1], rr);
octave> y1=saida(end,2)
y1 = 1.1202e+09
octave> saida=lsode("sol_ale1", [50 fx2], rr);
octave> y2=saida(end,2)
y2 = 1.0816e+09
A partir destes valores utiliza-se o método da reta tangente mostrado no texto da apostila
para encontrar a nova (neste caso, terceira) estimativa para o dT /dx|r=6 cm .
octave> fx3=(y2*fx1-y1*fx2)/(y2-y1)
fx3 = -409.26
Esta é a nova estimativa da derivada na base da aleta, com a qual podem ser reefetuados
os cálculos sucessivas vezes até que seja encontrado um valor para a derivada da temperatura
nula na posição desejada. Seguindo o procedimento abaixo:
Tóp. Esp. Fluido-Témica 41
octave> fx1=fx2;
octave> fx2=fx3;
octave> saida=lsode("sol_ale1", [50 fx2], rr);
octave> y2=saida(end,2)
y2 = -5744.3
octave> fx3=(y2*fx1-y1*fx2)/(y2-y1)
fx3 = -409.25
que resulta num valor para a derivada na base de −409.2547 K/m, e que pode tranquilamente
ser convertido para o valor do fluxo de calor na base q = 164.23 W. O comportamento do
gráfico da derivada da temperatura ao longo da posição pode ser visto utilizando um script de
plotagem similar ao proposto anteriormente na página (36).
function rr=ale_inf(x)
raio=0.06:0.01:2;
y=lsode("sol_ale1",[50 x], raio);
rr=y(length(y),2);
endfunction
Definida esta função a mesma pode ser facilmente solucionada buscando-se o valor de x que
zera a função acima:
obtendo-se com isto um resultado similar ao anterior e o gráfico dos valores de tempertura e
sua derivada também podem ser montados a partir do valor correto encontrado em solu.
CAPÍTULO 4
O grupo dos métodos iterativos de solução tem como caracterı́stica comum o uso de
procedimentos que vão sucessivamente se repetindo, cada vez com novos argumentos, até a
obtenção da solução final (dentro de uma certa tolerância).
2. admitir uma solução de partida, em função da qual serão calculadas as soluções posteri-
42
Tóp. Esp. Fluido-Témica 43
ores.
3. substituir em cada uma das equações o valor atual para cada uma das variáveis obtendo,
desta forma, um novo valor para cada variável.
4. repetir o passo 3 até que a oscilação da solução atinja um valor inferior à tolerância
adotada.
4 x1 + 3 x2 = 10
2 x1 + 4 x2 + 3 x3 = 19
3 x2 + 5 x3 + 2 x4 = 29
2 x3 + 8 x4 + 2 x5 = 48
3 x4 + 5 x5 + 4 x6 = 61
x5 + 4 x6 + 2 x7 = 43
2 x6 + 3 x7 + x8 = 41
2 x7 + 6 x8 = 62
Solução:
Tóp. Esp. Fluido-Témica 44
x1 = 14 (−3 x2 + 10)
x2 = 14 (−3 x3 − 2 x1 + 19)
x3 = 51 (−2 x4 − 3 x2 + 29)
x4 = 81 (−2 x5 − 2 x3 + 48)
x5 = 51 (−4 x6 − 3 x4 + 61)
x6 = 41 (−2 x7 − x5 + 43)
x7 = 31 (−x8 − 2 x6 + 41)
x8 = 61 (−2 x7 + 62)
Partindo de um chute inicial onde xi = 0 para 1 < i < 8 tem-se, aplicando os conceitos de
Gauss-Seidel, que:
x1 = 41 (10) = 2, 5
x2 = 14 (−2 2.5 + 19) = 3, 5
x3 = 15 (−3 3, 5 + 29) = 3, 7
x4 = 18 (−2 3, 7 + 48) = 5, 075
x5 = 15 (−3 5, 075 + 61) = 9, 155
x6 = 14 (−9, 155 + 43) = 8, 461
x7 = 13 (−2 8, 461 + 41) = 8, 026
x8 = 16 (−2 8, 026 + 62) = 7, 658
Repetido o procedimento por diversas vezes encontra-se as soluções mostradas na tabela (4.1),
e a solução foi buscada até 30 iterações, mas notem que para parar neste ponto foi necessário
uma tolerância superior a 10−3 .
A1 B1 0 0 ··· 0 0 0 ··· 0 0
C2 A2 B2 0 ··· 0 0 0 ··· 0 0
0 C3 A3 B3 · · · 0 0 0 ··· 0 0
··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ···
0 0 0 0 ··· Ci Ai Bi ··· 0 0
··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ···
0 0 0 0 ··· 0 0 0 · · · Cn An
Estes métodos diferem dos demais por não necessitar de procedimento iterativo para
a busca da solução, eles buscam uma forma de solucionar diretamente o sistema. Dentre
estes métodos destacam-se Método de Triangularização de Gauss, Método de Fatoração LU,
etc. Existem ainda alguns métodos especı́ficos para matrizes especiais, o caso tı́pico (e muito
utilizado pela peculiaridade de que na matriz cada ponto está relacionado somente aos seu dois
vizinhos) é o TDMA (TriDiagonal Matrix Algorithm) ou Método Linha a Linha. Este método
é extremamente útil principalmente quando se trabalha com Diferenças Finitas, como veremos
posteriormente, que geram matrizes como estas.
O método TDMA se baseia na triangularização de Gauss, mas feita para uma matriz Tri-
diagonal. A figura (4.1) mostra a forma geral deste tipo de matriz.
O procedimento para utilização do TDMA é um pouco mais complexo que o de Gauss Siedel,
imaginemos que uma linha qualquer do sistema pode ser expressa por:
Ai xi + Bi xi+1 + Ci xi−1 = Di
Repare que para obedecer as condições do sistema é necessário que C1 e Bn sejam nulos
resultando em um sistema composto por n incógnitas expresso através de uma matriz quadrada.
O sistema pode, com isto, ser resolvido através da expressão:
xi = Pi xi+1 + Qi
onde:
−Bi
Pi =
Ai + Ci Pi−1
Di − Ci Qi−1
Qi =
Ai + Ci Pi−1
Tóp. Esp. Fluido-Témica 46
No entanto para obter o campo de temperaturas é preciso começar pela última linha e ir
regredindo até a primeira. Sabe-se que Bn = 0 e portanto Pn = 0. Desta forma:
xn = Qn
donde é possı́vel calcular todos os demais valores para a solução. Uma descrição mais detalhada
do método e sua utilização pode ser encontrada em (Maliska, 1995).
Solução:
−B1 3 D1 10
P1 = = − = −0, 75 Q1 = = = 2, 5
A1 4 A1 4
sendo todos os demais P e Q calculados da mesma forma. O resultado para os mesmos neste
caso pode ser encontrado na tabela (4.2).
x8 = Q8 = 8
e assim sucessivamente até obter a solução para todas as variáveis. A solução completa está a
disposição na tabela (4.2), exceto pela solução exata que é idêntica à obtida pelo TDMA.
Linha A B C D P Q x
1 4 3 0 10 -0.750 2.500 1
2 4 3 2 19 -1.200 5.600 2
3 5 2 3 29 -1.429 8.714 3
4 8 2 2 48 -0.389 5.944 4
5 5 4 3 61 -1.043 11.261 5
6 4 2 1 43 -0.676 10.735 6
7 3 1 2 41 -0.607 11.857 7
8 6 0 2 62 -0.000 8.000 8
Até agora foi visto métodos de solução de equações diferenciais ordinárias, a partir de
agora começaremos a ver as formas de solução numérica das equações diferenciais parciais. Na
introdução desta apostila já foram discutidos alguns aspectos deste tipo de solução e a partir
de agora será feito um aprofundamento nestes aspectos com a introdução de alguns conceitos
novos.
Da mesma forma que as equações diferenciais ordinárias, as E.D. parciais também po-
dem ser subdivididas em subgrupos. Embora estes grupos sejam de interesse eminentemente
matemático é importante conhecer as suas caracterı́sticas principais e assim poder identificar
as caracterı́sticas de suas soluções. No caso de problemas fı́sicos não se deve preocupar-se tanto
com a natureza de uma equação diferencial como um todo, que é calculada a partir dos valores
dos coeficientes dos termos da equação diferencial, mas sim como se comportam cada uma das
coordenadas da mesma.
48
Tóp. Esp. Fluido-Témica 49
c -
(c)
c -
(b)
Ponto P c -
(a)
Equação Diferencial Elı́ptica é a mais comuns das formas das equações diferenciais, e
neste tipo cada ponto está ligado a todo o domı́nio e só se pode resolver o problema a partir
do conhecimento da solução de todo o domı́nio, vide figura (5.1b). Todos os problemas que
necessitam de condições de contorno em dois pontos recaem em situações deste tipo, assim o
grande exemplo de equação diferencial elı́ptica são as coordenadas envolvendo o espaço.
Equação Diferencial Hiperbólica é aquela em que a perturbação também tem uma direção
preferencial, no entanto esta direção preferencial não é conhecida, depende dos conhecimento,
muitas vezes da própria solução do problema, vide figura (5.1c). Desta a solução deste tipo
é praticamente um misto das outras, quando a direção preferencial é conhecida ela pode ser
Tóp. Esp. Fluido-Témica 50
resolvida como uma equação parabólica, quando não ela é resolvida como uma elı́ptica. Exem-
plos de equações deste tipo são a parcela convectiva das equações de transporte, equações de
onda, etc.
Por outro lado, o MEF sempre teve a vantagem de usar malhas não-estruturadas, o que
permite que problemas em geometrias complexas possam ser resolvidos. 0 MEF não teve
penetração forte na área de fluidos por muito tempo, porque se acreditava que a equação
diferencial a ser resolvida necessitava de um princı́pio variacional para que o método pudesse
ser aplicado. Como a equação de Navier-Stokes não tem esta propriedade, a aplicação do MEF
Tóp. Esp. Fluido-Témica 51
Até o inicio da década de 70, tinha-se, portanto, o MDF com grande experiência na área de
fluidos, mas sem habilidades para tratar geometrias complexas; e o MEF, hábil no tratamento
da geometria, mas sem ferramentas para tratar os termos convectivos presentes nas equações do
movimento. Mesmo suplantando a questão do princı́pio variacional, através do uso do método
de Galerkin e outras variantes, o MEF não teve sucesso imediato em problemas de fluidos,
uma vez que o método de Galerkin (que é equivalente ao uso de diferenças centrais no MDF)
é adequado apenas para problemas puramente difusivos.
No panorama atual, observa-se que ambos os métodos (MVF e MEF) estão resolvendo
problemas altamente convectivos, inclusive com ondas de choque, em geometrias arbitrárias,
mostrando que existe entre eles uma forte semelhança em termos de generalidade. Se olhar-
mos do ponto de vista matemático, isto poderia ser diferente, uma vez que todos os métodos
numéricos podem ser derivados do método dos resı́duos ponderados, empregando-se diferentes
funções peso. Por exemplo, o MDF surge quando a função peso é feita igual à função delta no
ponto em consideração; o MVF aparece quando esta função peso é feita igual a 1 no volume
elementar, e a zero em todos os outros volumes elementares, já o MEF-Galerkin surge quando
estas funções peso são feitas iguais às funções tentativas. Logo, não existe sentido em argu-
mentar que um determinado método é sempre superior a outro, visto que eles são derivados
do mesmo principio e diferem apenas na forma de minimização escolhida. 0 que se tem, na
prática, são diferentes graus de experiência dos diversos métodos para diferentes problemas.
A preferência pessoal deste autor pelo método dos volumes finitos (MVF) para problemas
de escoamento de fluidos é justificada primeiro pela escola seguida na sua formação e, segundo,
pelo fato de o MVF, ao criar suas equações aproximadas, estar realizando um balanço da propri-
edade em nı́vel de volumes elementares. Se o que se busca com o método numérico é a solução
da equação diferencial que representa a conservação da propriedade em invés de ponto (infinite-
simal), parece lógico que as equações aproximadas (que formam o sistema linear) representem
a conservação em nı́vel de volumes elementares (discreto). A depuração de um programa com-
putacional também fica mais fácil quando o analista tem etapas a serem conferidas. Como no
MVF os balanço de conservação devem ser satisfeitos em nı́vel de volumes elementares, para
qualquer tamanho de malha, todos os princı́pios de conservação podem ser checados em uma
malha bastante grosseira. Ou seja, quase tudo pode ser feito manuseando-se poucos resultados
em execuções rápidas no computador. Em outros métodos, pode-se apenas conferir a solução
com uma malha refinada.
questões especı́ficas.
Um outro método que vem ganhando destaque e espaço é o método dos elementos no
contorno (Boundary Element Method - BEM da literatura internacional). Sua vantagem é a
possibilidade de tratar apenas com a discretização da fronteira, sem necessidade de discretizar
o domı́nio interno. 0 método é aplicado quando é possı́vel transferir a influência do operador do
domı́nio para a fronteira. Apesar de atraente, é um método que ainda está longe de responder
as solicitações dos problemas complexos resolvidos pelos outros métodos. Sem dúvida é uma
área de pesquisa que merece esforços.”
Depois desta discussão toda o método que será estudado mais a fundo é o método de
diferenças finitas (MDF) por se tratar de um método tradicional, ainda amplamente utilizado
e, que segundo o próprio texto mostra, não difere muito dos demais.
Como já foi discutido a solução numérica não gera soluções contı́nuas como as analı́ticas
mas sim valores para pontos determinados. Trata-se portanto de uma etapa fundamental na
solução numérica de um problema a escolha dos pontos para os quais vai se obter solução, o
que é determinado pela discretização do domı́nio. Muitas vezes se obtém valores para pontos
fora dos pontos da malha, mas estes valores são obtidos por interpolação da solução original, o
que não garante a correção do seu valor, embora este procedimento forneça bons resultados na
maior parte dos casos.
Um dos grandes exemplos onde este procedimento falha é quando se tem um problema
de solidificação ou fusão. Entre o ponto um ponto da malha que é sólido e outro lı́quido há
uma forte descontinuidade, e uma simples interpolação linear neste caso não fornecerá bons
resultados, embora a solução para cada ponto esteja correta.
complexas, o tempo necessário para gerar uma malha manualmente aumenta numa proporção
muito maior. É importante ressaltar que para se trabalhar com a formulação de diferenças a
ser apresentada nesta apostila é necessária que a malha seja ortogonal1 .
Existem formulações alternativas para diferenças finitas e volumes finitos que trabalham
com malhas ortogonais. O método de elementos finitos não requer malhas ortogonais.
1
Malha ortogonal é o tipo de malha em que cada ponto tem seus vizinhos diretos numa direção normal ou
tangencial.
CAPÍTULO 6
sendo e(x) o desvio, u(x) a aproximação e uex o valor exato desta aproximação para este mesmo
ponto.
55
Tóp. Esp. Fluido-Témica 56
u = f (x, a1 , a2 , a3 , · · · an )
Desta forma obtém-se uma função que simplesmente aproxima o comportamento da variável
ao longo do domı́nio. Com esta aproximação podem ser obtidas, dentre outras coisas,:
• um expressão simples para uma função complexa ou difı́cil de ser manipulada, válida para
um certo número de pontos que se deseje ou ainda com boa aproximação dentro de uma
certa região;
x uex (x)
0,0 20◦ C
0,5 25◦ C
1,0 22◦ C
assim:
uex (x = 0) = u(x = 0) = a1 = 20
uex (x = 0, 5) = u(x = 0, 5) a1 + 0, 5 a2 + (0, 5)2 a3 = 25
uex (x = 1) = u(x = 1) a1 + 1 a2 + (1)2 a3 = 22
que resulta em u(x) = 20 + 18 x − 16 x2 e representa uma aproximação do uex (x). Por exemplo,
para uma aproximação da temperatura na posição x = 0, 7 pode ser usado:
Exemplo: Solução aproximada de uma equação diferencial: Supondo que se tem um pro-
blema de condução com a geração de energia variando com a posição. Neste caso, a equação
diferencial que rege o problema seria do tipo:
d2 u
= −f (x) para 0 ≤ x ≤ 1
dx2
e sabendo que:
x f (x)
0,25 1
0,75 0,25
Tem-se, ainda, que as temperaturas nas extremidades do problema seriam conhecidas. Neste
caso, as condições de contorno adotadas são:
? x = 0 : a temperatura u = 0
? x = 1 : a temperatura u = 0
Para a obtenção da solução também se faz necessário a escolha de uma função que obedeça
as condições de contorno. Assim, foi escolhida a seguinte aproximação:
Normalmente em soluções deste tipo é mais difı́cil encontrar uma solução que satisfaça as
condições de contorno do que partir dela, e encontrar a solução do problema, propriamente
dita. Desta forma tem-se que para este caso, nos dois pontos considerados:
d2 u
= −a1 π 2 sin(π xi ) − 4a2 π 2 sin(2 π xi )
dx2 x=xi
d2 u
= a1 π 2 sin(0.25 π) − 4a2 π 2 sin(0.5 π) = −1
dx2 x=0,25
d2 u
2
= a1 π 2 sin(0.75 π) − 4a2 π 2 sin(1.5 π) = −0.25
dx
x=0,75
Pode-se utilizar ainda a expressão para avaliar a temperatura, ou outra variável de interesse,
em qualquer ponto. Por exemplo para a posição x = 0, 25, tem-se:
23 1
u(x = 0, 25) = = 0, 0728
32 π 2
Este mesmo procedimento pode ser utilizado para expressar uma função para uma
variável genérica em função dos pontos nodais. Para isto, note primeiro que nos casos an-
teriores poderia se fazer uma aproximação em função das variáveis a1 , · · · , an , bastando para
isto:
u(x) = P1 (x) a1 + P2 (x) a2 + · · · + Pn (x) an
Imagine que se tenha um domı́nio qualquer e se conheça os valores de uma função qualquer
em pontos determinados. Pode-se montar uma função que represente o comportamento da
variável em função do seu valor nestes pontos. Para uma função u(x) tem-se que para uma
Tóp. Esp. Fluido-Témica 59
e(x) = 0 se x = xi
Exemplo Aproximação para quatro pontos: Considere a situação onde são escolhidos quatro
pontos alinhados para solucionar o problema unidimensional. Desta forma a aproximação nodal
é dada por:
u(x) = N1 (x) u1 + N2 (x) u2 + N3 (x) u3 + N4 (x) u4
Neste caso é adotada como função de interpolação que respeite as condições anteriormente
expostas: a função de Lagrange de terceiro grau,
4
Y (x − xj )
Ni (x) = (6.1)
j=1
(xi − xj)
j6=i
(x − x2 )(x − x3 )(x − x4 )
N1 (x) =
(x1 − x2 )(x1 − x3 )(x1 − x4 )
Tóp. Esp. Fluido-Témica 60
1,0
0,8
0,6
0,4
N1(x)
0,2
0,0
-0,2
-0,4
1 2 3 4 5 6 7
x 1 1,5 2 3 4 5 6 7
77
N1 (x) 1 − 192 0 − 31 − 14 0 1
6
0
O comportamento desta função pode ser visto para todos os pontos na figura (6.1).
(x − x1 )(x − x3 )(x − x4 ) 1
N2 (x) = = (x − 1) (x − 5) (x − 7)
(x2 − x1 )(x2 − x3 )(x2 − x4 ) 15
(x − x1 )(x − x2 )(x − x4 ) 1
N3 (x) = = − (x − 1) (x − 2) (x − 7)
(x3 − x1 )(x3 − x2 )(x3 − x4 ) 24
(x − x1 )(x − x2 )(x − x3 ) 1
N4 (x) = = (x − 1) (x − 2) (x − 5)
(x4 − x1 )(x4 − x2 )(x4 − x3 ) 60
Este é apenas um exemplo unidimensional, no entanto na maior parte dos problemas que são
tratados em elementos finitos, tem-se duas ou mais dimensões, e as novas funções de interpolação
passam a ser função de todas as variáveis espaciais:
ou ainda
u1
u2
u(~x) = [N1 (~x) N2 (~x) · · · Nn (~x)] = .. = [N ] · {u}
.
un
A construção das funções de aproximação u(x) vão se tornando mais difı́ceis a medida
que o número de nós aumenta. Uma maior complexidade ainda é verificada quando o domı́nio
V é irregular ou possui condições de contorno mais complexas. Por outro lado, as aproximações
nodais de sub-domı́nio simplificam a obtenção da solução u(x) e são extremamente fáceis de
serem implementadas em um computador. Este procedimento consiste, basicamente, dos se-
guintes passos:
• a escolha de uma aproximação nodal adequada para cada subdomı́nio. De maneira geral,
ela depende das dos pontos nodais e aproximações utilizadas nas vizinhanças. O método
dos elementos finitos é apenas um tipo de aproximação nodal por sub-domı́nio, sendo
suas caracterı́sticas principais:
Utilizando para cada um destes elementos de dois nós a função Lagrange tem-se que para
cada elemento:
ui (x) = N1 u1 + N2 u2
sendo Ni dado pela expressão de Lagrange, equação (6.1). Deve-se notar que no exemplo
anteriormente resolvido, utilizava-se um polinômio de Lagrange de quarta ordem, enquanto no
caso de elementos de dois nós utiliza-se apenas o polinômio de segunda ordem.
(a) deve haver sempre uma fronteira comum entre os elementos adjacentes onde estarão os
únicos pontos comuns entre os elementos. Estas fronteiras podem ser compostas por
pontos, linhas ou áreas.
Tóp. Esp. Fluido-Témica 63
(b) não é permitida a existência de regiões comuns a mais de um elemento (overlapping) e nem
regiões dentro do domı́nio que não pertençam a região alguma (holes). Estas anomalias
estão mostradas na figura (6.2).
(c) quando a fronteira do domı́nio do problema não coincidem inclui-se uma anomalia (hole)
que acarreta em um erro que não pode ser mensurado. Entretanto, estes erros, deno-
minados por erros geométricos, podem ser minimizados utilizando-se elementos menores
ou elementos de maior ordem, que melhor se adequam à fronteira. Estes procedimen-
tos são melhores compreendidos quando discretiza-se uma fronteira do tipo mostrado na
figura (6.3).
Note que na fig. (6.3a) a discretização é feita com elementos grosseiros e não é possı́vel
representar a fronteira de forma adequada, apresentando maiores vãos (holes), nestas
regiões. Na fig. (6.3b) utiliza-se elementos menores e a fronteira já pode ser melhor repre-
sentada. E, finalmente, na figura (6.3c), nota-se que foi obtida uma boa representação da
fronteira mesmo com elementos mais grosseiros, desde que estes sejam de ordem superior
e suas fronteiras possam ser deformadas para se ajustar ao domı́nio do problema.
(a) Malha Linear Grosseira (b) Malha mais refinada (c) Malha com elementos
de maior ordem
Quando se trabalha com elementos finitos existem dois tipos básicos de sistemas de
coordenadas. A metodologia de elementos finitos usa ferramentas matemáticas para efetuar a
transformação (τ ) de um sistema de coordenadas para outro. A figura (6.4) mostra o sistemas
de referência para um elemento triangular. Os sistemas de coordenadas que coexistem neste
caso são:
Sistema de coordenadas local: é aquele que existe dentro do elemento ideal e cujas coor-
denadas são expressas em termos de ξ e η.
Sistema de coordenadas global: que existe no sistema fı́sico real e expresso em termos de
coordenadas globais para todos os elementos.
Esta mesma expressão pode ser escrita em termos de variáveis nodais sendo expressa na
forma:
τ e : ξ =⇒ xe (ξ) = N (ξ) · {xe }
Para que esta transformação seja feita de maneira adequada são necessárias algumas condições:
Tóp. Esp. Fluido-Témica 65
• o sistema de transformação deve ser biunı́voco (um ponto em cada conjunto tem corres-
pondência a outro único ponto do outro sistema).
• da mesma forma que os nós cada fronteira do elemento corresponde a uma fronteira global.
P~ | = R
~ + ~r
~r = ξ · iξ + η · iη
~ = Xi
R
iξ = Xj − Xi
iη = Xk − Xi
P = Xi + ξ · (Xj − Xi ) + η · (Xk − Xi )
P = (1 − ξ − η) · Xi + ξ · Xj + η · Xk
Xi
P = {(1 − ξ − η) ξ η} Xj
Xk
É possı́vel notar que para que a transformação de coordenadas seja adequada é preciso
considerar as amplitudes da transformação, assim como a múltipla composição de dimensões
(η, por exemplo, apresenta derivadas tanto na direção x como y). Para corrigir este fator
é necessário conhecer o Jacobiano [J] da transformação. O Jacobiano pode ser dado pela
expressão:
" # " #
∂x ∂y
∂ξ ∂ξ xj − xi yj − yi
[J] = ∂x ∂y
=
∂η ∂η
xk − xi yk − yi
det[J] = (xj − xi )(yk − yi ) − (xk − xi )(yj − yi )
Tóp. Esp. Fluido-Témica 66
É importante notar que o valor do determinante do Jacobiano resulta em duas vezes a área
do mesmo.
Propriedade Fundamental: o valor da função deve coincidir com os respectivos valores no-
dais. Com base na expressão geral:
n
X
u(x) = N1 (x) x1 + N2 (x) x2 + · · · Nn (x) xn = Ni (x) xi
i=1
Continuidade no elemento: as funções Ni (x) devem ser contı́nuas em todo elemento, assim
como as derivadas até a ordem s considerada.
Continuidade entre elementos: tanto os valores da função como de suas derivadas devem
ser os mesmos nas fronteiras de elementos adjacentes, sejam eles calculados por um ou
outro elemento.
Além disto existem algumas definições importantes que devem ser destacadas:
• se uma função é contı́nua pelas suas fronteiras ele é classificada com C 0 , se a função e a
primeira derivada são contı́nuas, ela é classificada de C 1 , e assim sucessivamente.
• o número de variáveis nodais associados a cada um dos nós de cada elemento é denominado
por grau de liberdade do sistema.
sendo < P (ξ) > a base polinomial e < a > as variáveis generalizadas para montagem da função
de interpolação. A expressão apresentada na eq. (6.2) representa a aproximação generalizada,
diferenciada da aproximação nodal.
Tóp. Esp. Fluido-Témica 68
Expressões analı́ticas para as funções de interpolação: podem ser obtidas a partir dos
resultados anteriores com respeito da base polinomial e o vetor a. Se substituir-se a eq. (6.3)
na eq. (6.2), obtém-se:
u(ξ) =< P (ξ) > [Pn ]−1 {un }
que implica em dizer que as funções de interpolação para a aproximação nodal:
u(ξ) =< N (ξ) > {un } =< P (ξ) > [Pn ]−1 {un }
Derivadas de u(ξ): podem ser obtidas diferenciando em relação a cada uma das variáveis
geométricas, como no caso unidimensional:
( ) " # " #
uξ < Pξ > < N ξ >
= [Pn ]−1 {un } = {un } = [Bξ ] {un }
uη < Pη > < Nη >
Escolha da base polinomial: já que o elemento possui quatro nós, é preciso escolher uma
base de acordo com este tamanho. Já que não existe nenhuma base completa para quatro
nós a melhor escolha, que respeita as condições de de simetria e inter-continuidade dos
elementos é:
hP i = h 1 ξ η ξ · η i
Tóp. Esp. Fluido-Témica 69
Montagem da matriz Pn : é montada com base na avaliação da base polinomial nos quatro
nós possı́veis (com seus respectivos valores de ξ e η:
−1
−1
1
−1
ξ= , η=
1
1
−1
1
1 −1 −1 1
1 1 −1 −1
[Pn ] =
1
1 1 1
1 −1 1 −1
1 1 1 1
1 −1 1 1 −1
hN i = hP i · [Pn ]−1 = { 1 ξ η ξ · η } ·
4 −1 −1 1 1
1 −1 1 −1
D E
hN i = N1 (ξ, η) N2 (ξ, η) N3 (ξ, η) N4 (ξ, η)
1D E
hN i = 1 − ξ − η + ξη 1 + ξ − η − ξη 1 + ξ + η + ξη 1 − ξ + η − ξη
4
1 D E
hN i = (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
4
De forma análoga pode-se enfatizar que transformação inversa respeita a mesma regra:
∂ ∂ξ ∂η ∂ζ ∂
∂x
∂x ∂x ∂x ∂ξ
∂ ∂ξ ∂η ∂ζ ∂
∂y
= ∂y ∂y ∂y · ∂η
=⇒ {∂x } = [j] · {∂ξ }
∂ ∂ξ ∂η ∂ζ
∂
∂z ∂z ∂z ∂z ∂ζ
Com isto é possı́vel obter qualquer matriz de transformação, desde que esta seja biunı́voca
e, portanto, gere matrizes inversı́veis.
• Unidimensional:
1
[J] = J1,1 [j] = [J]−1 =
J1,1
• Bi-dimensional:
" # " #
J1,1 J1,2 1 J2,2 −J1,2
[J] = [j] = [J]−1 =
J2,1 J2,2 det[J] −J2,1 J1,1
det[J] = J1,1 · J2,2 − J2,1 · J1,2
• Tri-dimensional:
J1,1 J1,2 J1,3
[J] = J2,1 J2,2 J2,3
det[J] = A0 + A1 ξ + A2 η
e onde:
1
A0 = [(y4 − y2 )(x3 − x1 ) − (y3 − y1 )(x4 − x2 )]
8
1
A1 = [(y4 − y3 ) (x1 − x2 ) − (y2 − y1 )(x3 − x4 )]
8
1
A2 = [(y1 − y4 )(x2 − x3 ) − (y2 − y3 )(x1 − x4 )]
8
Supondo agora que se deseje realizar uma integração de uma função genérica f no
domı́nio elementar, muito mais simples, e transformá-la para o domı́nio real. Para realizar este
objetivo é preciso analisar a natureza da integração. Para uma integração sobre um determinado
volume no espaço real tem-se que:
dV = (dx × dy) · dz
sendo
que implica que esta mesma função dV pode ser representada na forma:
dV = det[J] · dξ · dη · dζ
A união de alguns nós faz surgir os elementos que também podem ser numerados seqüenci-
almente de 1 até m (m < n). Estes elementos podem ser descritos através do número dos nós
que o compõem, e que podem ser associados ainda à tabela anterior, que possui as coordenadas
dos pontos. Esta tabela que apresenta as conexões entre os nós de cada elemento é chamada
de conectividade.
A formulação por elementos finitos exige alguns cuidados sendo o principal deles o fato
que a mesma deve obedecer uma seqüência de conexão entre os elementos, não podendo ser
apresentada em uma ordem aleatória. Normalmente é utilizado um ponto como referência
inicial e um sentido de numeração, horário ou anti-horário, para expressar a conectividade.
Considerando todo o procedimento não faz diferença qual o ponto que se adota como origem
para o elemento e nem o sentido de rotação, no entanto, para todos os elementos deve ser
adotado o MESMO sentido de rotação.
Exemplo Numérico: Considere o volume total de chuva que incide sobre uma determinada
região de área A e na qual são lidos uma série de pontos ui . Os pontos numerados de 1 a 10
estão mostrados na tabela (6.2) e figura (6.6) sendo apresentados suas coordenadas x e y e os
nı́veis de chuva medidos sobre o ponto.
Com estes dados determine o valor total da precipitação sobre a região considerada e o
ı́ndice médio de precipitação (umed ).
Aproximação nodal:
Tóp. Esp. Fluido-Témica 75
Elemento 1 2 3 4
1 1 4 5 2
2 2 5 6 3
3 4 7 8 5
4 5 8 9 6
5 7 10 9 8
u
1
D E u
2
u(ξ, η) = N1 (ξ, η) N2 (ξ, η) N3 (ξ, η) N4 (ξ, η) ·
u3
u
4
u 1
1 D E u2
= (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
4 u3
u
4
Integração: Z Z
Q= u(x, y) · dx · dy = u(ξ, η) · det [J] · dξ · dη
A A
ou, na forma matricial:
1 1 1
Z Z
Q= (A0 + A1 ξ + A2 η)
4 −1 −1
u 1
D E
u
2
(1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η) dξ · dη
u3
u
4
U1 = u2 + u1 + u4 + u3
U2 = −u1 − u4 + u3 + u2
U3 = u3 − u2 − u1 + u4
Nó 1 ⇒ x1 = 0, y1 = 33, 3, u1 = 4, 62
Nó 4 ⇒ x2 = 22, 2, y2 = 30, 1, u2 = 5, 45
Nó 5 ⇒ x3 = 49, 9, y3 = 57, 6, u3 = 4, 90
Nó 2 ⇒ x4 = 13, 2, y4 = 62, 3, u4 = 3, 81
A = 4 · A0
x1 y1 u1 x2 y2 u2 x3 y3 u3 x4 y4 u4
1 0,0 33,3 4,62 22,2 30,1 5,45 49,9 57,6 4,90 13,2 62,3 3,81
2 13,2 62,3 3,81 49,9 57,6 4,90 78,8 78,2 10,35 39,3 84,5 4,76
3 22,2 30,1 5,45 39,3 10,0 4,96 59,7 34,3 4,26 49,9 57,6 4,90
4 49,9 57,6 4,90 59,7 34,3 4,26 73,9 36,2 18,36 78,8 78,2 10,35
5 39,3 10,0 4,96 69,8 5,1 15,69 73,9 36,2 18,36 59,7 34,3 4,26
A0 A1 A2 U1 U2 U3 Q Área
1 228,19 1,64 55,04 18,78 1,92 -1,36 4261,41 912,74
2 241,65 -5,70 12,99 23,82 6,68 6,40 5771,07 966,59
3 217,56 -25,18 -14,01 19,57 -1,13 -1,25 4272,97 870,24
4 182,79 -65,72 29,70 37,87 7,37 19,55 6954,45 731,17
5 159,37 15,94 -66,85 43,27 24,83 1,97 6983,87 637,47
Soma 28243,78 4118,21
P
Qi
Média = P = 6, 86 cm
Ai
C(u) = fs no contorno S.
Tóp. Esp. Fluido-Témica 78
sendo u a variável principal do problema e varia de acordo com a posição no espaço. Define-se
a função residual como sendo:
R(u) = L(u) + fv
sendo ψ uma função peso dentre as possı́veis e u a solução para o problema que satisfaz as
condições de contorno C(u).
As transformações integrais são utilizadas para reduzir a ordem das equações diferenciais.
Relembrando ainda que para uma integração genérica:
Z Z Z Z
u · v = u · dv + v · du =⇒ u · dV = − v · du + u · v
V V V V
Caso se aplique este mesmo preceito para a equação integral de resı́duos ponderados,
eq. (6.5), este mesmo preceito quando esta acompanha uma derivada têm-se a forma fraca
da equação, que é dada por:
• Unidimensional
Z x2 Z x2
du dψ
ψ · dx = − u · dx + (ψ u)|xx21 (6.6)
x1 dx x dx
Z x2 2 Z 1x2 x
du dψ du du 2
ψ 2 · dx = − · dx + ψ (6.7)
x1 dx x1 dx dx dx x1
Z Z I
∂u ∂ψ
ψ · dx dy = − u · dx dy + (ψ u) · dy
A ∂x A ∂x
Z Z IS
∂u ∂ψ
ψ · dx dy = − u · dx dy + (ψ u) · dx
A ∂y A ∂y
Z Z S I
∂u ∂u ∂ψ ∂ψ
ψ + · dx dy = − + u · dx dy + (ψ un ) · dS (6.8)
A ∂x ∂y A ∂x ∂y S
Tóp. Esp. Fluido-Témica 79
∂2u ∂2u
Z Z I
∂ψ ∂u ∂ψ ∂u ∂u
ψ + · dx dy = − + · dx dy + ψ · dS (6.9)
A ∂x2 ∂y 2 A ∂x ∂x ∂y ∂y S ∂~n
I Z Z
∂u ∂u ∂u
sendo que ψ · dS = ψ · dx + ψ · dy
S ∂~n S ∂y S ∂x
A forma fraca da equação, obtida a partir da integração por partes mostrada anteriormente,
apresenta algumas caracterı́sticas e requisitos diferenciados:
(a) a ordem da maior derivada de variável de interesse u é reduzida, o que relaxa a condição
de continuidade necessária para a convergência;
Existem várias opções de escolha para a função peso, sendo que cada uma pode apre-
sentar melhores ou piores resultados de acordo com o tipo de problema a ser solucionado. Esta
escolha pode ser auxiliada com a utilização de referências básicas de elementos finitos, como
(Dhatt & Touzot, 1984).
No entanto existe um esquema de escolha de função peso que se destaca pela grande uti-
lização nos mais diversos tipos de problemas. Este esquema de solução, conhecido como o
ψ = hN i
O tratamento das condições de contorno através do método dos elementos finitos não é
uma tarefa simples, ele vem acompanhado de uma série de operações que não são imediatas.
Para simplificar esta tarefa será utilizado neste estudo um tratamento simplificando, vide (Pa-
tankar, 1980), das condições de contorno onde é definida uma condição de contorno genérica
na forma:
∂u
= αc u + βc (6.10)
∂n
Esta equação é capaz de representar qualquer condição de contorno usual (das três espécies)
e outras ainda podem ser aproximadas. Para esta representação é necessário que:
∂T ∂T h h T∞
−k = h(T − T∞ ) =⇒ =− T+
∂x ∂x k k
Tóp. Esp. Fluido-Témica 81
É importante ressaltar que caso se trate de uma fronteira inicial de x, como mostrada na
figura (6.8), ~n e ~i tem direções opostas, no entanto o sinal também Da expressão para
convecção também se inverte pela posição da fronteira. Desta forma, o resultado final é
sempre o mesmo e independe de se tratar de uma fronteira inicial ou final.
Desta forma, a variável de interesse u pode ser expressa em termos da função de interpolação
através da aproximação nodal:
u 1
D
E u
2
u(ξ, η) = N1 (ξ, η) N2 (ξ, η) N3 (ξ, η) N4 (ξ, η) ·
u3
u
4
u 1
1 D E u2
= (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
4
u3
u
4
Tóp. Esp. Fluido-Témica 82
Pode-se escolher qualquer uma das fronteiras para realizar a integração sobre a fronteira,
mudando apenas o sentido da derivada e os pontos considerados e a direção sobre a qual é feita
a derivada (ξ ou η).
∂ hN i 1 ∂ D E
= (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
∂ξ 4 ∂ξ
1D E
= −1 + η 1 − η 1 + η −1 − η
4
∂ hN i 1 ∂ D E
= (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
∂η 4 ∂η
1D E
= −1 + ξ −1 − ξ 1 + ξ 1 − ξ
4
0
I Z1 Z1 * +
∂u 1 0
ψ dS = ψ · (αu + β) · dξ = (αu + β) · dξ
S ∂~n 4 2 · (1 + ξ)
ξ=−1 ξ=−1
2 · (1 − ξ)
0
u1 0
Z1 * +
Z1 * +
α 0 D E u2 β 0
= 0 0 2(1 + ξ) 2(1 − ξ) dξ + dξ
16 2 (1 + ξ)
u 3
4 2 (1 + ξ)
ξ=−1
ξ=−1
2 (1 − ξ) u 2 (1 − ξ)
4
1
0 0 0 0
u 1
0
Z1
α 0 0 0 0 u 2
β 0
= dξ +
16 0 0
(2 + 2ξ)2 (2 + 2ξ) (2 − 2ξ) u3 4 2ξ + ξ
2
ξ=−1
2 2
0 0 (2 + 2ξ) (2 − 2ξ) (2 − 2ξ) u 2ξ − ξ
4
−1
Tóp. Esp. Fluido-Témica 83
1
0 0 0 0
0
I
∂u α 0 0 0 0 β 0
ψ dS = 1 3 4 3
+
S ∂~n 16
0 0 6
(2 + 2ξ) − 3
ξ + 4ξ
4 4
4 3 1 3
4
0 0 − 3 ξ + 4ξ − 6 (2 − 2ξ) −1
0 0 0 0 u
1 0
α 0 0 0 0 u2
0
= 32 16
+β
16
0 0 3 3 u3 1
16 32
0 0 3 3 u4 1
0 0 0 0 u
1
0
0
0 0 0 0 u2
=
2α α
+
0 0 3 3
u 3
β
α 2α
0 0 3 3 u4 β
0
0
0 0
= 2 1
+
3
αu 3 + 3
αu 4
β
1 αu + 2 αu
β
3 3 3 4
0
0
0
I
∂u 0 0
` = `
0
ψ dS =
2 αu + 1 αu +
S ∂~n 3 3 3 4 β 2
6 2αu3 + αu4 + 3β
1 αu + 2 αu
β
αu3 + 2αu4 + 3β
3 3 3 4
Até agora todas as integrais a serem resolvidas o foram analiticamente, no entanto não
pode deixar de se considerar a integral numérica como ferramenta importante neste tipo de
solução. Da forma já vista anteriormente pode-se dizer que a integral a ser solucionada é:
Z Z 1 ns
X ns
X ns X
X ns
g(x) · dx = G(ξ, η) · dξdη ≈ ωj ωk G(ξj , ηk ) = ωj ωk G(ξj , ηk )
−1 j=1 k=1 j=1 k=1
e
Os pontos de integração são obtidos assim como a função peso para diversas geometrias sendo as
mais comuns a quadratura de Gauss e o método de Newton-Cotes para elementos quadrilaterais
Tóp. Esp. Fluido-Témica 84
√ √
4 ±1/ 3, ±1/ 3 1
1/6, 1/6
2/3, 1/6
3 1/6, 2/3 1/6
Um grande forno industrial é suportado por uma longa coluna de tijolos refratários com
1 m por 1 m de lado. Durante a operação em regime estacionário, as condições são tais que que
três superfı́cies da coluna são mantidas a 500 K e a outra superfı́cie é exposta há uma corrente
de ar com T∞ = 300 K e o coeficiente de pelı́cula h = 10 W/m2 K. Usando uma malha com
δx = δy = 0.25 m, determine a distribuição bidimensional de temperatura bem como a taxa
de calor transmitida ao ar por unidade de comprimento da coluna. (problema apresentado por
(Incropera & DeWitt, 1999), pg 101)
Solução: Para a solução deste problema será utilizada uma malha relativamente grosseira
com 16 nós e 8 elementos, mostrada a seguir:
Tóp. Esp. Fluido-Témica 85
1D E
hN i = (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
4
∂N 1D E
= −1 + η 1 − η 1 + η −1 − η
∂ξ 4
∂N 1D E
= −1 + ξ −1 − ξ 1 + ξ 1 − ξ
∂η 4
" #
1 −1 + η 1−η 1 + η −1 − η
[Bξ ] =
4 −1 + ξ −1 − ξ 1 + ξ 1−ξ
Quanto ao Jacobiano, ele pode ser representado a partir da matriz [B], na forma:
x1 y1
x2 y2 −1
[J] = [Bξ ] ·
x y e [Q] = [J]
3 3
x4 y4
Tóp. Esp. Fluido-Témica 87
O procedimento descrito até aqui é genérico e é idêntico para qualquer problema de condução
simples. A partir de agora o procedimento passa a representar não só as caracterı́sticas do
problema, como também as caracterı́sticas de malha e discretização representados pelo número
de nós e tipo e número de elementos.
Para o problema considerado, é necessário montar uma tabela com o número de nós, que
pode ser dada por:
Nó x y
1 0 0
2 0,25 0
3 0,5 0
4 0 0,25
5 0,25 0,25
6 0,5 0,25
7 0 0,5
8 0,25 0,5
9 0,5 0,5
10 0 0,75
11 0,25 0,75
12 0,5 0,75
13 0 1
14 0,25 1
15 0,5 1
E também é necessário montar uma tabela que represente como estes nós estão associados
para formar os elementos, é a chamada tabela de conectividade:
elem. 1 2 3 4
1 1 2 5 4
2 2 3 6 5
3 4 5 8 7
4 5 6 9 8
5 7 8 11 10
6 8 9 12 11
7 10 11 14 13
8 11 12 15 14
Tóp. Esp. Fluido-Témica 88
Feita a conectividade é possı́vel notar que todos os elementos são iguais e a solução de um
será idêntica a todos os demais. Assim, tomando o elemento 1 tem-se:
Z 1Z 1 np np
T T
X X
[Bξ ] [Q] [Q] [Bξ ] det[J]·dξdη·{T } = ωi ωj [Bξ ]T [Q]T [Q] [Bξ ] det[J] ·{T }
−1 −1 i=1 j=1
"
1
√ 1
√ √ √ #
1 −1 + 3
3 1− 3
3 1 + 31 3 −1 − 13 3
[Bξ ] = 1
√ √ √ √
4 −1 + 3
3 −1 − 13 3 1 + 31 3 1 − 13 3
" #
−0. 105 66 0. 105 66 0. 394 35 −0. 394 35
=
−0. 105 66 −0. 394 35 0. 394 35 0. 105 66
e o Jacobiano para este elemento:
x1 y1 0 0
" #
x2 y2 −0. 105 66 0. 105 66 0. 394 35 −0. 394 35 0.25 0
[J] = [Bξ ] ·
x y = −0. 105 66 −0. 394 35 0. 394 35 0. 105 66
0.25 0.25
3 3
x4 y4 0 0.25
" #
0. 125 0 8.0 0
= sendo o valor do det [J] = 1. 562 5 × 10−2 e o [J]−1 = Q =
0 0. 125 0 8.0
e assim
−0. 105 66 −0. 105 66
" #
0. 105 66 −0. 394 35 8.0 0
[Bξ ]T [Q]T [Q] [Bξ ] =
0. 394 35
·
0. 394 35 0 8.0
−0. 394 35 0. 105 66
" #" #
8.0 0 −0. 105 66 0. 105 66 0. 394 35 −0. 394 35
·
0 8.0 −0. 105 66 −0. 394 35 0. 394 35 0. 105 66
1. 429 1. 952 2 −5. 333 4 1. 952 2
1. 952 2 10. 667 −7. 286 1 −5. 333 4
= −5. 333 4 −7. 286 1 19. 906 −7. 286 1
1. 952 2 −5. 333 4 −7. 286 1 10. 667
Tóp. Esp. Fluido-Témica 89
Que se usada toda a expressão para o primeiro ponto de integração resulta em:
sendo
1. 429 1. 952 2 −5. 333 4 1. 952 2
1. 952 2 10. 667 −7. 286 1 −5. 333 4 · 1. 562 5 × 10−2
[V1 ] = 1 · 1 ·
−5. 333 4 −7. 286 1 19. 906 −7. 286 1
1. 952 2 −5. 333 4 −7. 286 1 10. 667
2. 232 8 × 10−2 3. 050 3 × 10−2 −8. 333 4 × 10−2 3. 050 3 × 10−2
3. 050 3 × 10−2 −8. 333 4 × 10−2
0. 166 67 −0. 113 85
= −8. 333 4 × 10−2
−0. 113 85 0. 311 03 −0. 113 85
3. 050 3 × 10−2 −8. 333 4 × 10−2 −0. 113 85 0. 166 67
√ √
• Ponto 2: ωi = 1, ωj = 1, ξ = 1/ 3, η = −1/ 3 obtém-se det [J] = 0.015625
0. 166 67 −0. 113 84 −8. 333 1 × 10−2 3. 050 2 × 10−2
−8. 333 1 × 10−2
−0. 113 84 0. 311 02 −0. 113 84
[V2 ] =
−8. 333 1 × 10−2
−0. 113 84 0. 166 67 3. 050 2 × 10−2
3. 050 2 × 10−2 −8. 333 1 × 10−2 3. 050 2 × 10−2 2. 232 8 × 10−2
√ √
• Ponto 3: ωi = 1, ωj = 1, ξ = −1/ 3, η = −1/ 3
0. 311 02 −0. 113 84 −8. 333 1 × 10−2 −0. 113 84
−2
−8. 333 1 × 10−2
−0. 113 84 0. 166 67 3. 050 2 × 10
[V3 ] =
−8. 333 1 × 10−2 3. 050 2 × 10−2
2. 232 8 × 10−2 3. 050 2 × 10−2
−0. 113 84 −8. 333 1 × 10−2 3. 050 2 × 10−2 0. 166 67
√ √
• Ponto 4: ωi = 1, ωj = 1, ξ = −1/ 3, η = 1/ 3
0. 166 67 3. 050 2 × 10−2 −8. 333 1 × 10−2 −0. 113 84
3. 050 2 × 10−2 2. 232 8 × 10−2 3. 050 2 × 10−2 −8. 333 1 × 10−2
[V4 ] =
−8. 333 1 × 10−2
3. 050 2 × 10−2 0. 166 67 −0. 113 84
−2
−0. 113 84 −8. 333 1 × 10 −0. 113 84 0. 311 02
2. O mesmo procedimento deve ser repetido para todos os elementos. Neste caso, entretanto,
tem-se o fato conveniente de que todos os elementos se encontram na mesma disposição e
tem as mesmas caracterı́sticas geométricas e, portanto, esta matriz encontrada vale para
todos os elementos.
3. A próxima etapa consiste na montagem da matriz global a partir das matrizes elementares.
Neste caso utiliza-se a tabela de conectividade para converter da numeração local para a
numeração global, e cada linha e coluna da numeração local passam a responder por uma
outra na numeração global. Vejamos para como exemplo para o primeiro elemento (onde
a matriz global A ainda está vazia):
numeração local 1 2 3 4
numeração global 1 2 5 4
0 + 0. 666 69 0 − 0. 166 68 0 0 − 0. 166 68 0 − 0. 333 33 0 0 0 0 0 0 0 0 0 0
0 − 0. 166 68 0 + 0. 666 69 0 0 − 0. 333 33 0 − 0. 166 68 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 − 0. 166 68 0 − 0. 333 33 0 0 + 0. 666 69 0 − 0. 166 68 0 0 0 0 0 0 0 0 0 0
0 − 0. 333 33 0 − 0. 166 68 0 0 − 0. 166 68 0 + 0. 666 69 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Tóp. Esp. Fluido-Témica 91
4. Deve-se então incluir as condições de contorno que de acordo com a proposição geral pode
ser expressa na forma da eq.() e respeitando a tabela abaixo(lembrando que l = 0.25 m):
β·l
Nó 1 Nó 2 α β − α·l
3
− α·l
6 2
1 2 − 10
1
10·300
1
0. 833 33 0. 416 67 375
2 3 − 10
1
10·300
1
0. 833 33 0. 416 67 375
6 6 4 4
4 7 10 500 × 10 8. 333 3 × 10 4. 166 7 × 10 6. 25 × 107
7 10 106 500 × 106 8. 333 3 × 104 4. 166 7 × 104 6. 25 × 107
10 13 106 500 × 106 8. 333 3 × 104 4. 166 7 × 104 6. 25 × 107
13 14 106 500 × 106 8. 333 3 × 104 4. 166 7 × 104 6. 25 × 107
14 15 106 500 × 106 8. 333 3 × 104 4. 166 7 × 104 6. 25 × 107
sendo que na linha relativa a cada condição devem ser somados os respectivos valores.
Veja o exemplo para uma condição i-j:
i j
β·l
i − α·l
3
− α·l
6
= 2
β·l
j − α·l
6
− α·l
3 2
2 3
0.833333 0.416667 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7
6 0.416667 1.66667 0.416667 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6
6 0 0.416667 0.833333 0 0 0 0 0 0 0 0 0 0 0 0 7
7
6 7
6 0 0 0 83333.3 0 0 41666.7 0 0 0 0 0 0 0 0 7
6 7
6
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7
6 7
6 7
6
6 0 0 0 41666.7 0 0 166667. 0 0 41666.7 0 0 0 0 0 7
7
−[C] = 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7
7
6 7
6
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
7
0 0 0 0 0 0 41666.7 0 0 166667. 0 0 41666.7 0 0
6 7
6 7
6 7
6
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7
6 7
6 7
6
6 0 0 0 0 0 0 0 0 0 41666.7 0 0 166667. 41666.7 0 7
7
0 0 0 0 0 0 0 0 0 0 0 0 41666.7 166667. 41666.7
6 7
4 5
0 0 0 0 0 0 0 0 0 0 0 0 0 41666.7 83333.3
375
750
375
7
6.25 × 10
0
0
8
1.25 × 10
{Bc } = 0
0
8
1.25 × 10
0
0
8
×
1.25 10
8
×
1.25 10
6.25 × 107
E a matriz final:
[M ] = [A] + [C]
2 3
1.5 0.25 0 − 16 − 31 0 0 0 0 0 0 0 0 0 0
− 13 − 31 − 13
6 7
6 0.25 3. 0.25 0 0 0 0 0 0 0 0 0 7
6 7
6 0
6 0.25 1.5 0 − 13 − 16 0 0 0 0 0 0 0 0 0 7
7
6 − 16 − 13 − 31 − 13
6 7
0 83334.7 0 41666.5 0 0 0 0 0 0 0 7
6 7
6 −1 − 13 − 31 − 31 8
− 31 − 31 − 13 − 31 0 0 0 0 0 0 7
6 3 3 7
6 0 − 13 − 61 0 − 31 4
0 − 13 − 61 0 0 0 0 0 0
6 7
3
7
6 7
6 0
6 0 0 41666.5 − 13 0 166668. − 13 0 41666.5 − 31 0 0 0 0 7
7
=6 0 0 0 − 13 − 31 − 13 − 31 8
− 31 − 13 − 31 − 13 0 0 0
6 7
3
7
− 13 − 16 − 13 4
− 13 − 16
6 7
6 0 0 0 0 0 0 0 0 0 7
6 3 7
6 0 0 0 0 0 0 41666.5 − 13 0 166668. − 31 0 41666.5 − 13 0
6 7
7
− 13 − 13 − 31 − 13 8
− 13 − 31 − 13 − 31
6 7
6 0 0 0 0 0 0 7
6 3 7
6 0 0 0 0 0 0 0 − 13 − 61 0 − 31 4
0 − 13 − 61
6 7
3 7
− 13
6 7
6 0 0 0 0 0 0 0 0 0 41666.5 0 166667. 41666.5 0 7
6 7
4 0 0 0 0 0 0 0 0 0 − 13 − 31 − 13 41666.5 166668. 41666.5
6 7
5
0 0 0 0 0 0 0 0 0 0 − 31 − 16 0 41666.5 83334.
Tóp. Esp. Fluido-Témica 93
Num. Solução T2 T3
1 Diferenças finitas ((Incropera & DeWitt, 1999)) 357,0 339,1
2 Elementos finitos (15 pontos) 340,9 331,0
3 Elementos finitos (91 pontos) 346,8 336,5
4 Elementos finitos (231 pontos) 346,8 336,7
5 Idem a 2, mas utilizando T1 = 500 330,2 338,4
A matriz de carga {B}, não sofre alterações neste caso já que ela é alterada apenas pelas
condições de contorno (sendo nula para a matriz elementar). A solução do sistema fica
sendo:
Não existe solução analı́tica para este problema e não existe forma de determinar o valor
exato da temperatura para estes pontos, no entanto o refinamento da malha tende a fornecer
soluções mais próximas da solução real. São mostradas na tabela (6.5) uma série de soluções
obtidas para este problema.
CAPÍTULO 7
O método de diferenças finitas foi, durante muito tempo, o único método numérico
utilizado para problemas fluido-térmicos. Embora recentemente este venha perdendo espaço
para outros métodos ainda é muito utilizado nesta área.
Como se tratam de séries infinitas, pode-se fazer a aproximação com a ordem do erro que se
desejar. Grande número de trabalhos envolvendo a primeira derivada foram resolvidos através
94
Tóp. Esp. Fluido-Témica 95
de esquemas de primeira ordem (O(∆x)2 ), mas atualmente são muito utilizados os esquemas
de segunda ordem1 . A obtenção das expressões discretas é fácil a partir dai.
No caso das aproximações acima, se utilizarmos até o termo de primeira ordem somente,
cada uma pode resultar em aproximações para a primeira derivada. No caso da equação (7.1):
∂T Ti+1 − Ti
= (7.3)
∂x i ∆x
que é conhecida como a derivada avançada. Da mesma forma utilizando-se da expressão (7.2)
pode-se chegar numa outra expressão, denominada por aproximação recuada:
∂T Ti − Ti−1
= (7.4)
∂x ∆x
i
Estas duas expressões são aproximações de primeira ordem e portanto, em condições nor-
mais, apresentam piores resultados que as expressões de segunda ordem, as mais utilizadas. As
expressões de segunda ordem são as mais utilizadas, principalmente em problemas lineares, por
fornecerem melhores resultados. A expressão para a primeira derivada considerando os termos
de até segunda ordem pode ser obtida trabalhando-se com as expressões, basicamente fazendo
a subtração da equação (7.2) da (7.1). Desta forma obtém-se:
∂T
Ti+1 − Ti−1 = 2 ∆x
∂x i
que rearranjada resulta em:
∂T Ti+1 − Ti−1
= (7.5)
∂x i 2 ∆x
Como se está trabalhando com os termos de até segunda ordem pode-se obter também uma
expressão para a segunda derivada. Isto é possı́vel fazendo a soma das equações (7.1) e (7.2),
donde obtém-se:
∂ 2 T (∆x)2
Ti+1 + Ti−1 = 2 Ti + 2
∂x2 i 2!
que rearranjada na forma desejada resulta em:
∂ 2 T
Ti+1 − 2 Ti + Ti−1
2
= (7.6)
∂x
i (∆x)2
Como pode ser visto este procedimento é extremamente genérico e pode ser utilizado em
esquemas de ordem superiores sem maiores problemas, dependendo apenas da utilização de um
maior número de pontos. Repare que para chegar nas expressões de primeira ordem, apenas uma
das expansões em Série de Taylor precisava ser conhecida, a partir das expressões de segunda
ordem já são necessárias duas equações para resolver o problema (tanto as aproximações de
Ti+1 como Ti−1 ). Este mesmo raciocı́nio continua valendo para expressões de ordem superior.
1
esquemas de ordem superiores também tem sido motivos de estudos recentemente.
Tóp. Esp. Fluido-Témica 96
Exemplo: A partir de uma malha irregular como a mostrada a seguir obtenha as expressões
de segunda ordem para a primeira e segunda derivadas.
∆x2 ∆x1
e e e
Ti−1 Ti Ti+1
Solução: Expandindo cada um dos pontos por série de Taylor, a partir do ponto i:
∂ 2 T (∆x1 )2
∂T
Ti+1 = Ti + ∆x1 + + O(∆x)3
∂x i ∂x2 i 2!
∂ 2 T (∆x2 )2
∂T
Ti−1 = Ti − ∆x2 + + O(∆x)3
∂x i ∂x2 i 2!
A partir desta expansão é possı́vel obter a expressão para a primeira derivada fazendo-se a
soma da primeira equação multiplicada por (∆x2 )2 e da segunda multiplicada por −(∆x1 )2 :
∂ 2 T (∆x1 ∆x2 )2
2 2 ∂T 2
Ti+1 (∆x2 ) = Ti (∆x2 ) + ∆x1 (∆x2 ) +
∂x i ∂x2 i 2
∂ T (∆x2 ∆x1 )2
2
2 2 ∂T 2
−Ti−1 (∆x1 ) = −Ti (∆x1 ) + ∆x2 (∆x1 ) −
∂x i ∂x2 i 2
∂T
Ti+1 (∆x2 )2 − Ti−1 (∆x1 )2 = Ti (∆x22 − ∆x21 ) + (∆x1 ∆x22 + ∆x2 ∆x21 )
∂x i
Da mesma forma pode se obter a expressão para a segunda derivada, mas agora pena
multiplicando a expansão em Série de Taylor de Ti+1 por ∆x2 e a de Ti−1 por ∆x1 . Assim:
∂ 2 T ∆x21 ∆x2
∂T
Ti+1 ∆x2 = Ti ∆x2 + ∆x1 ∆x2 +
∂x i ∂x2 i 2
∂ T ∆x1 ∆x22
2
∂T
Ti−1 ∆x1 = Ti ∆x1 − ∆x 2 ∆x 1 +
∂x i ∂x2 i 2
2
∂ T ∆x1 ∆x2 (∆x2 + ∆x1 )
Ti+1 ∆x2 + Ti−1 ∆x1 = Ti (∆x1 + ∆x2 ) +
∂x2 i 2
Repare que estas duas expressões obtidas se reduzem às expressões (7.5) e (7.6) respectiva-
mente quando ∆x1 = ∆x2 = ∆x.
1. Discretização do domı́nio, que implica na escolha dos pontos onde serão obtidos valores
para a solução.
2. Substituição das derivadas por sua aproximação calculada a partir de uma série de Taylor
para um ponto genérico i. A aproximação central de segunda ordem para uma derivada
de primeira ordem é dada pela equação (7.5), por exemplo. Outras aproximações já foram
mostradas.
3. Transformação das equações diferenciais em sistema de equações baseados nos valores dos
pontos discretos. Para isto é necessário a utilização da equação genérica para o ponto i,
obtida no passo anterior para cada um dos pontos discretos.
∂2T ∂2T
+ =0
∂x2 ∂y 2
Solução: Utilizando as aproximações centrais para a segunda derivada em cada uma das
direções, equação (7.6) têm-se que:
Exemplo: Resolva o problema proposto anteriormente para a aleta com fluxo de calor na
base conhecido, resolvido por Runge Kutta, e compare os resultados com os obtidos através do
método de diferenças finitas (problema da página 32).
Solução: A equação diferencial da aleta foi obtida no exemplo anterior e é dada por:
d2 T 2h 1 dT
2
= (T − T∞ ) −
dr kt r dr
que discretizada pela aproximação central:
Ti+1 − 2 Ti + Ti−1 2h 1 Ti+1 − Ti−1
2
= (Ti − T∞ ) −
(∆r) kt ri 2 ∆r
Rearranjando a expressão tem-se:
1 1 2 2h 1 1 2h
+ Ti+1 − + Ti + − Ti−1 = − T∞
(∆r)2 2 ri ∆r (∆r)2 kt (∆r)2 2 ri ∆r kt
T = 50◦ C em r = 6 cm =⇒ T1 = 50
∂T 120
q = 120 W em r = 6 cm =⇒ =− = −296, 10
∂r π.0, 12.0, 005.215
Tabela 7.1: Resultados para o problema da aleta finita com fluxo de calor na base conhecido
Comparando estes resultados com os obtidos pela solução exata percebe-se um desvio. Este
desvio tende a diminuir com a redução do espaçamento da malha. No entanto é conveniente
ressaltar que através de Runge Kutta foram obtidos resultados muito mais precisos. Isto já
era esperado uma vez que foi utilizado um procedimento de 4a ordem contra o esquema de 2a
usado no caso de diferenças finitas.
Na tabela (7.2) são mostrados resultados do valor obtido para a temperatura quando r =
0.15 m em diferentes malhas e o ponto nodal onde a derivada se inverte. Obviamente que há
uma melhora na precisão quando se utiliza malhas mais densas.
Exemplo: Resolva o problema anterior para o caso onde o fluxo de calor que passa pela base
é desconhecido, mas a aleta é infinita.
Tóp. Esp. Fluido-Témica 100
Solução: É o mesmo caso do exemplo resolvido para Runge-Kutta na página 38. A equação
diferencial, e conseqüentemente a sua discretização, não mudam em nada do obtido no exemplo
anterior, assim como a condição de temperatura prescrita na base. A única condição modificada
foi a de fluxo de calor na base que deixou de existir, passando agora para:
∂T
= 0 quando r → ∞
∂r
Estipulando o valor em que o fluxo de calor como nulo a 1 m da base (r=1,06 m). Desta
forma utilizando ∆r = 0, 1, será obtido um sistema com 100 incógnitas.
T1 = 50 (Condição de Contorno)
10714, 3 T3 − 20093, 02T2 + 9285, 7 T1 = −2325, 6
10625 T4 − 20093, 02T3 + 9375 T2 = −2325, 6
10555, 6 T5 − 20093, 02T4 + 9444, 4 T3 = −2325, 6
..
.
10047, 6 T101 − 20093, 02T100 + 9952, 4 T99 = −2325, 6
T101 − T100 = 0 (Condição de Contorno)
Este sistema de equações deve ser resolvido por TDMA ou por Gauss-Seidel. Neste caso
o sistema foi resolvido por TDMA e o resultado para os primeiro 20 pontos e os últimos 10
encontra-se na tabela (7.3).
Comparando o fluxo de calor dissipado pela base calculado por diferenças finitas com o
calculado por Ruge Kutta, percebe-se novamente uma diferença significativa (qb = 175, 96 W
Tabela 7.2: Comparação do caso da aleta com fluxo de calor na base conhecido para diversas
malhas
Foi visto no capı́tulo anterior a forma de discretização geral através de diferenças finitas.
Embora o procedimento em si não mude tanto os problemas bidimensionais como transientes
apresentam certos detalhes que serão tratados separadamente.
Além disto estes são os grupos onde há uma maior utilização deste tipo de discretização
uma vez que, nos casos vistos até agora, o método de Runge Kutta poderia ser aplicado com
sucesso. De agora para frente isto não mais acontece pois as equações diferenciais tanto num
caso como no outro são equações diferenciais parciais.
No entanto será apresentado a seguir um procedimento denominado por ADI, sigla em inglês
102
Tóp. Esp. Fluido-Témica 103
para direção alternadamente implı́cita. Este método nada mais é do que uma forma de converter
o sistema de equações para um sistema tridiagonal e, portanto, possı́vel de ser solucionado pelo
TDMA.
6
T = 200◦ C
e e e e
4,1 4,2 4,3 4,4
e e e e
∂T /∂x = 0 3,1 3,2 3,3 3,4
T = 100◦ C
e e e e
2,1 2,2 2,3 2,4
e e e e -
1,1 1,2 1,3 1,4
∂T /∂y = 0
Considerando o procedimento ADI é preciso adotar valores iniciais para a solução Ti,j =
150◦ C, para todos os valores de i e j fora das condições de contorno.
Tóp. Esp. Fluido-Témica 104
Adotando como primeira direção a ser resolvida implicitamente a direção x têm-se que a
equação para o ponto i, j fica sendo:
∗ ∗
Ti+1,j Ti−1,j Ti,j+1 Ti,j−1
− Ti,j + =− −
4 4 4 4
onde ∗ indica a utilização dos valores admitidos, ou calculados na iteração anterior. Repare que
neste ponto a matriz já se tornou uma tridiagonal e pode ser resolvida através do algoritmo
TDMA.
De posse desta nova solução é possı́vel partir para a próxima etapa tratando explicitamente
os termos na direção x e implicitamente os da direção y. Desta forma o novo sistema de equações
fica:
2 T2,1 − 4 T1,1 = −292, 3
T3,1 − 4 T2,1 + T1,1 = −292.3
T4,1 − 4 T3,1 + T2,1 = −338, 5
T4,1 = 200
Tóp. Esp. Fluido-Témica 106
Resolve-se diversas vezes este mesmo procedimento, e sempre utilizando-se dos valores ob-
tidos do passo anterior, a solução final será obtida quando os valores do campo de temperatura
deixem de variar (ou sua variação atinja um limite admitido como tolerável). As diversas
soluções obtidas para este caso estão mostradas na tabela (8.1) até a convergência.
Até agora tratamos de problemas onde o buscado era simplesmente o estado estacionário
(ou regime permanente), mas existe uma parcela muito grande de problemas em engenharia em
que o interesse maior recai sobre o tempo necessário até que o regime estacionário (ou algum
outro fenômeno) ocorra. Nestes casos é preciso considerar o regime transiente do problema.
O estudo do transiente em si não apresenta grandes problemas, ele apenas inclui novos
termos relacionados à variação da variável em relação ao tempo na equação diferencial. O
problema passa a ser, desta forma, uma composição de diversas soluções intermediárias que
funcionam como fotos do problema em cada instante estudado.
Tóp. Esp. Fluido-Témica 107
Tabela 8.1: Valores das iterações para o caso de condução numa placa plana
Posi- Valores Iteração 1 Iteração 2 Iteração 3 Iteração 4
ção Iniciais Linha Coluna Linha Coluna Linha Coluna Linha Coluna
1,1 150.00 148.08 150.00 148.82 150.00 150.27 150.00 149.94 150.00
1,2 150.00 146.15 146.15 143.79 143.79 144.33 144.33 144.21 144.21
1,3 150.00 136.54 126.92 126.33 126.92 127.06 126.92 126.89 126.92
1,4 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
2,1 150.00 148.08 153.85 156.21 156.21 155.67 155.67 155.79 155.79
2,2 150.00 146.15 150.00 150.89 150.00 149.80 150.00 150.05 150.00
2,3 150.00 136.54 130.77 131.95 131.95 131.68 131.68 131.74 131.74
2,4 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
3,1 150.00 172.12 173.08 172.49 173.08 173.21 173.08 173.05 173.08
3,2 150.00 169.23 169.23 168.05 168.05 168.32 168.32 168.26 168.26
3,3 150.00 154.81 150.00 149.70 150.00 150.07 150.00 149.98 150.00
3,4 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
4,1 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00
4,2 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00
4,3 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00
4,4 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00
Além de tudo isto os problemas transientes trazem junto consigo uma série de novas de-
finições na bagagem, de acordo com a forma que é feita a sua discretização. A seguir apresen-
taremos algumas das mais importantes.
No entanto, esta facilidade tem o seu custo: este tipo de formulação não é incondicionalmente
estável. Isto implica em que há determinadas condições que devem ser satisfeitas para que se
consiga obter uma solução para problema. No caso, por exemplo da equação de calor, a condição
Tóp. Esp. Fluido-Témica 108
Exemplo: Considere uma placa de aço carbono com 1,6 cm de espessura que inicialmente se
encontra há uma temperatura uniforme de 600◦ C. A placa num instante t = 0, num banho de
15◦ C. O coeficiente transmissão de calor é adotado igual a 10.000 W/m2◦ C. As propriedades do
aço carbono podem ser adotadas como constantes (k = 40 W/m◦ C e α = 1×10−5 m2 /s). Calcule
o tempo necessário para que a temperatura do centro da placa atinja 100◦ C e a temperatura
de um plano situado a 0,2 cm de uma das superfı́cies da chapa neste instante.
∂T ∂2T
=α 2
∂t ∂x
que se discretizada na forma explı́cita fica:
Tim+1 − Tim T m − 2Tim + Ti−1
m
= α i+1
∆t ∆x2
No caso deste problema temos condição de simetria no centro da placa. Podemos adotar
neste ponto também a origem do eixo de coordenadas, vide figura (8.1). Isto implica que a
condição de contorno nesta face é dada por:
∂T T m+1 − T1m+1
= 0 =⇒ 2 = 0 =⇒ T1m+1 = T2m+1
∂x ∆x
Tóp. Esp. Fluido-Témica 109
e u u u u u -
2 1 2 3 4 5
A outra condição é dada na superfı́cie e implica que o fluxo de calor que sai por convecção
é igual ao que chega por condução:
∂T
−k A = h A (Tp − T∞ )
∂x p
T4m+1 + 0, 5T∞
1, 5 T5m+1 = T4m+1 + 0, 5T∞ −→ T5m+1 =
1, 5
Desta forma de posse da equação geral para os pontos internos e das duas condições de
contorno, pode-se partir dos valores iniciais e marchar rumo a solução desejada. Neste caso a
temperatura da placa é inicialmente uniforme em 600◦ C, podemos calcular o campo de tempe-
raturas em t = 0, 2 s:
T10 + T30 600 + 600
T21 = = = 600
2 2
1 T20 + T40 600 + 600
T3 = = = 600
2 2
T 0 + T50 600 + 600
T41 = 3 = = 600
2 2
e aplicando as condições de contorno:
A tabela (8.2) mostra os resultados obtidos para as iterações. Para economia de espaço a
partir de t = 2.0 s são mostrados apenas resultados em intervalos de 1 s.
Tóp. Esp. Fluido-Témica 110
t T1 T2 T3 T4 T5
0.0 600.00 600.00 600.00 600.00 600.00
0.2 600.00 600.00 600.00 600.00 405.00
0.4 600.00 600.00 600.00 502.50 340.00
0.6 600.00 600.00 551.25 470.00 318.33
0.8 575.63 575.63 535.00 434.79 294.86
1.0 555.31 555.31 505.21 414.93 281.62
1.2 530.26 530.26 485.12 393.41 267.28
1.4 507.69 507.69 461.84 376.20 255.80
1.6 484.76 484.76 441.94 358.82 244.21
1.8 463.35 463.35 421.79 343.08 233.72
2.0 442.57 442.57 403.22 327.76 223.50
3.0 352.59 352.59 321.40 261.91 179.61
4.0 281.50 281.50 256.88 209.91 144.94
5.0 225.38 225.38 205.94 168.87 117.58
6.0 181.08 181.08 165.73 136.47 95.98
7.0 146.10 146.10 133.99 110.89 78.92
8.0 118.50 118.50 108.93 90.70 65.46
8.8 100.66 100.66 92.74 77.65 56.77
9.0 96.70 96.70 89.15 74.76 54.84
10.0 79.50 79.50 73.54 62.17 46.45
11.0 65.91 65.91 61.21 52.24 39.83
12.0 55.19 55.19 51.48 44.40 34.60
Muito embora tenha sido obtido o resultado ele está ainda um pouco afastado da solução
analı́tica que prevê que a temperatura do centro alcançará os 100◦ C em 11,6 s (contra os 8,8 s
da solução numérica). Neste mesmo instante esperava-se obter uma temperatura de 73,6◦ C a
0,2 cm da superfı́cie contra os 77,65◦ C obtidos numericamente. Detalhes da solução analı́tica
podem ser vistos em (Bejan, 1996), página 137. Embora este erro tenha valores significativos,
principalmente no que se refere ao tempo é possı́vel minimizar os seus valores com o refinamento
da malha. Vejamos por exemplo as soluções obtidas para diversas malhas.
Tóp. Esp. Fluido-Témica 111
Este tipo de formulação é qualquer uma em que estejam envolvidos termos na posição
de tempo atual. Vejamos por exemplo se utilizamos uma aproximação genérica para o campo
de temperaturas onde:
Tiθ = θ Tim+1 + (1 − θ)Tim (8.1)
É óbvio que a escolha do valor de θ influirá nas caracterı́sticas do sistema a ser solucionado.
Um grande exemplo disto é a estabilidade, a formulação implı́cita só é incondicionalmente
estável para valores de θ ≥ 1/2.
Tóp. Esp. Fluido-Témica 112
e e e m+1
3 k
6
e e e m
Esquema Explı́cito
e - e e m+1
3 k
6
e e e m
Esquema Implı́cito
e - e e m+1
6
e e e m
Esquema Totalmente Implı́cito
A figura (8.2) mostra esquemas dos valores utilizados em cada iteração pelos métodos
explı́cito, implı́cito e totalmente implı́cito. Esta figura é bastante ilustrativa e permite en-
tender o relacionamento existente entre os pontos em um dado instante para cada um dos
esquemas.
Exemplo: Considere uma placa de aço carbono com 1,6 cm de espessura que inicialmente se
encontra há uma temperatura uniforme de 600◦ C. A placa num instante t = 0, num banho de
15◦ C. O coeficiente transmissão de calor é adotado igual a 10.000 W/m2◦ C. As propriedades do
aço carbono podem ser adotadas como constantes (k = 40 W/m◦ C e α = 1×10−5 m2 /s. Calcule
o tempo necessário para que a temperatura do centro da placa atinja 100◦ C e a temperatura
de um plano situado a 0,2 cm de uma das superfı́cies da chapa neste instante.
Tóp. Esp. Fluido-Témica 113
∂T ∂2T
=α 2
∂t ∂x
que se discretizada na forma genérica fica:
m+θ
Tim+1 − Tim Ti+1 − 2Tim+θ + Ti−1
m+θ
=α
∆t ∆x2
1, 5 Tim+1 − 0, 25 Ti+1
m+1 m+1
− 0, 25 Ti−1 m
= 0, 5 Tim + 0, 25 Ti+1 m
+ 0, 25 Ti−1
No caso deste problema temos condição de simetria no centro da placa. Podemos adotar
neste ponto também a origem do eixo de coordenadas, vide figura (8.1). Isto implica que a
condição de contorno nesta face é dada pela existência de um ponto idêntico ao ponto 4:
T1m+1 = T2m+1
A outra condição é dada na superfı́cie e implica que o fluxo de calor que sai por convecção
é igual ao que chega por condução:
∂T
−k A = h A (Tp − T∞ )
∂x p
T5m+1 − T4m+1
h m+1 h ∆x h ∆x
= (T∞ − T5 ) → 1 + T5m+1 = T4m+1 + T∞
∆x k k k
Desta forma é possı́vel montar o sistema de equações para o primeiro passo no tempo
considerando-se as duas condições de contorno e o valor inicial uniforme para a temperatura
de 600◦ C:
1, 5 T1m+1 − 0, 5 T2m+1 = 600
1, 5 T2m+1 − 0, 25 T3m+1 − 0, 25 T1m+1 = 600
1, 5 T3m+1 − 0, 25 T4m+1 − 0, 25 T2m+1 = 600
1, 5 T4m+1 − 0, 25 T5m+1 − 0, 25 T3m+1 = 600
1.5 T5m+1 − T4m+1 = 7, 5
A tabela (8.3) mostra os resultados obtidos para as iterações. Para economia de espaço a
partir de t = 0, 1 s são mostrados apenas alguns resultados.
Relembrando do exercı́cio anterior onde se viu que o tempo para que a temperatura do
centro atinja 100◦ C e a temperatura a 0,2 cm da superfı́cie no mesmo instante, obtidos através
de métodos analı́ticos, são respectivamente 11,6 s e 73,6 s. Comparando-se com os resultados
obtidos através deste método percebe-se que estes se aproximam bem mais da solução exata
que o método explı́cito (11 s e 73,1◦ C). Estes resultados podem ser ainda melhorados com o
refinamento da malha, veja por exemplo se reduzirmo o ∆t para 0,1 s e a malha para ∆x =
0, 4 mm obtém-se o tempo para chegar a 100◦ Cigual a 11,5 s e a a 0,2 cm da superfı́cie de
73.3◦ C. Refinamentos maiores fornecerão resultados melhores.
t T1 T2 T3 T4 T5
0.0 600.00 600.00 600.00 600.00 600.00
0.2 599.62 598.86 593.51 562.22 379.81
0.4 597.39 593.70 573.95 501.88 339.59
0.6 591.38 583.07 548.30 463.24 313.83
0.8 580.99 568.53 524.34 434.61 294.74
1.0 567.18 552.03 502.60 411.73 279.49
1.2 551.28 534.63 482.68 392.48 266.65
1.4 534.29 516.95 464.18 375.65 255.43
1.6 516.86 499.34 446.80 360.51 245.34
1.8 499.40 482.01 430.34 346.59 236.06
2.0 482.17 465.10 414.67 333.61 227.41
3.0 402.81 388.23 345.54 277.86 190.24
4.0 336.21 324.10 288.66 232.57 160.05
5.0 280.99 270.95 241.60 195.15 135.10
6.0 235.25 226.94 202.63 164.17 114.45
7.0 197.38 190.50 170.37 138.52 97.35
8.0 166.02 160.32 143.65 117.28 83.19
9.0 140.05 135.33 121.53 99.69 71.46
10.0 118.54 114.64 103.21 85.13 61.75
11.0 100.74 97.50 88.04 73.07 53.71
12.0 86.00 83.32 75.48 63.08 47.06
Tóp. Esp. Fluido-Témica 116
Tabela 8.4: Comparação da solução do transiente para uma placa plana utilizando-se de três
métodos para discretização no tempo.
Esquemas
Tempo Explı́cito Tot. Implı́cito Crank-Nicholson
(s) θ=0 θ=1 θ = 1/2
0.00 600.00 600.00 600.00
0.20 600.00 597.55 599.62
0.40 600.00 591.59 597.39
0.60 600.00 582.24 591.38
0.80 575.63 570.15 580.99
1.00 555.31 556.08 567.18
1.20 530.26 540.74 551.28
1.40 507.69 524.64 534.29
1.60 484.76 508.21 516.86
1.80 463.35 491.73 499.40
2.00 442.57 475.40 482.17
3.00 352.59 399.25 402.81
4.00 281.50 334.55 336.21
5.00 225.38 280.56 280.99
6.00 181.08 235.67 235.25
7.00 146.10 198.37 197.38
8.00 118.50 167.37 166.02
9.00 96.70 141.61 140.05
10.00 79.50 120.20 118.54
11.00 65.91 102.42 100.74
12.00 55.19 87.64 86.00
REFERÊNCIAS BIBLIOGRÁFICAS
Dhatt, G. e Touzot, G., The Finite Element Method Displayed, Ed. J. Wiley & Sons, 1984.
Lewis, R.W., Morgan,K., Thomas, H.R. e Seetharamu, K.N.,The Finite Element Method in
Heat Transfer Analysis, Ed. J. Wiley & Sons, 1996.
Maliska, C. R., Transferência de Calor e Mecânica dos Fluidos Computacional, LTC Editora,
1995.
Patankar, S., Numerical Heat Transfer and Fluid Flow, Hemisphere, 1980.
117
Tóp. Esp. Fluido-Témica 118