Você está na página 1de 123

UNIVERSIDADE ESTADUAL PAULISTA

Campus Universitário de Bauru

FACULDADE DE ENGENHARIA DE BAURU

DEPARTAMENTO DE ENGENHARIA MECÂNICA

Tópicos Especiais em Fluido-Térmica

Métodos Numéricos em Fluido Térmica

Build:08-2007 Autor: VICENTE LUIZ SCALON


SUMÁRIO

1 Equações Diferenciais e Métodos Numéricos 1

2 Introdução aos Sistemas Matlab/GNU Octave 7

2.1 Operações Fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Definições e operações com matrizes e vetores . . . . . . . . . . . . . . . . . . . 8

2.2.1 Funções e operações especiais . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Definição de funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.4 Montagem de gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.5 Operações lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6 Diferenças básicas entre o Matlab e o Octave . . . . . . . . . . . . . . . . . . . . 18

3 Métodos para a solução de Eq. Diferenciais Ordinárias 19

3.1 Método de Runge Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.1 Implementação da solução no Gnu-Otave . . . . . . . . . . . . . . . . . . 26

i
SUMÁRIO ii

3.2 Soluções de sistemas de equações diferenciais ou equações diferenciais de ordem


superior utilizando Runge Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2.1 Procedimento de solução usando o octave . . . . . . . . . . . . . . . . . . 34

3.3 Condição de Contorno Deslocada . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3.1 Procedimento de solução usando o octave . . . . . . . . . . . . . . . . . . 40

4 Solução de Sistema de Equações Lineares 42

4.1 Métodos iterativos de solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Métodos de inversão direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Equações Diferenciais Parciais - Caracterização e Métodos de Discretização


e Solução 48

5.1 Subdivisão das equações diferenciais parciais . . . . . . . . . . . . . . . . . . . . 48

5.2 Formas de solução de equações diferenciais parciais . . . . . . . . . . . . . . . . 50

5.3 Discretização do domı́nio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 Método dos Elementos Finitos 55

6.1 Princı́pios gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1.1 Aproximação por funções . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1.2 Aproximação nodal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.2 Aproximação por Elementos Finitos . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.2.1 Definição geométrica dos elementos. . . . . . . . . . . . . . . . . . . . . . 62

6.2.2 Regras para a discretização de domı́nios através de elementos finitos . . . 62

6.3 Elementos de referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64


SUMÁRIO iii

6.4 Propriedades das funções de aproximação u(x) . . . . . . . . . . . . . . . . . . . 66

6.5 Construção das funções de interpolação . . . . . . . . . . . . . . . . . . . . . . . 67

6.6 Transformação de operadores diferenciais . . . . . . . . . . . . . . . . . . . . . . 70

6.6.1 Montagem do Jacobiano . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.6.2 Transformação de uma integral . . . . . . . . . . . . . . . . . . . . . . . 72

6.7 Coordenadas nodais e conectividade . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.8 O método dos resı́duos ponderados . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.8.1 Transformação integral: a integral por partes . . . . . . . . . . . . . . . . 78

6.8.2 Método de Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.9 Tratamento das condições de contorno . . . . . . . . . . . . . . . . . . . . . . . 80

6.9.1 Implementação da condição de contorno generalizada . . . . . . . . . . . 81

6.10 Integração Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.11 Exemplos de Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

7 Método de Diferenças Finitas 94

7.1 Aplicação da formulação de diferenças finitas em sistemas de equações diferenciais 97

8 Aplicação do Método de Diferenças Finitas em Problemas Bidimensionais e


Transientes 102

8.1 Solução de problemas bidimensionais . . . . . . . . . . . . . . . . . . . . . . . . 102

8.2 Solução de problemas transientes . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.2.1 Formulação Explı́cita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.2.2 Formulação Totalmente Implı́cita . . . . . . . . . . . . . . . . . . . . . . 111


SUMÁRIO iv

8.2.3 Formulação Implı́cita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


CAPÍTULO 1

Equações Diferenciais e Métodos Numéricos

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

a) E.D.O. - Sistema Massa Mola b) E.D.P. - Eq. da quantidade de movimento

Figura 1.1: Exemplos de E.D. ordinárias e parciais.

Equação Diferencial Ordinária: onde a função que é a solução da equação diferencial é


dependente de uma única variável. O exemplo clássico deste tipo de equação é a primeira
lei de Newton, comumente aplicada em problemas envolvendo vibrações, como mostrado
na figura (??a):
mu00 (t) = F [t, u(t), u0 (t)]

onde todas as variáveis são direta ou indiretamente função de t. Um grande número de


problemas recai em equações diferenciais deste tipo.

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

Um exemplo de aplicação desta equação seria para a obtenção do perfil de velocidades


em torno de uma asa, como mostrado na figura (??b).

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

a) E. D. Linear - Conduçã numa placa b) E.D. não linear - Eq. do pêndulo

Figura 1.2: Exemplos de E.D. linear e não linear.

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 00 (x) = y 0 (x) + y(x) =⇒ y 00 (x) − y 0 (x) − y(x) = 0


Tóp. Esp. Fluido-Témica 5

Equação Diferencial Não Homogênea: é a contraposição da da definição acima ou seja,


quando o termo independente é necessariamente função de uma das variáveis do problema
e não se conhece transformação de variáveis que o deixe homogêneo. Exemplo de equação
diferencial não homogênea:

y 00 (x) − y 0 (x) − y(x) = cos(x)

Ordem de uma Equação Diferencial: representa o ı́ndice de derivação da maior derivada


das que compõe a equação diferencial. Veja por exemplo a expressão:

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.

Estas classificações indicam caracterı́sticas principais da equações diferenciais e fornecem


informações sobre como estas podem ser resolvidas. Não existe uma forma imediata para
afirmar que uma equação diferencial tem solução exata pois até mesmo o tipo de condição
de contorno pode influir sobre este aspecto. Um exemplo disto é a equação de condução bi-
dimensional que tem solução analı́tica para temperaturas de parede dadas, mas não tem se
uma das paredes está sujeita a um processo de convecção, por exemplo. Assim sendo a única
maneira de descobrir sobre a existência da solução analı́tica para uma dada equação diferencial,
caso você não saiba de antemão, é consultando um livro sobre o assunto.

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

Introdução aos Sistemas Matlab/GNU Octave

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.

2.1 Operações Fundamentais

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

octave> disp(5**2), disp(’ ou ’),disp(5^2)


25
ou
25

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.

2.2 Definições e operações com matrizes e vetores

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

ou então se estabelecendo não o incremento, mas sim o número de componentes da matriz:

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

ou ainda utilizando um <enter>, ao invés do ”; ”, para indicar mudança de linha:

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 ”.”.

2.2.1 Funções e operações especiais

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

• Matriz Inversa (inv):

octave> inv(b)
ans =
-0.095238 0.142857
0.214286 -0.071429

• Matriz Transposta (’):

octave> b’
ans =
3 9
6 4

• Matriz nula de qualquer tamanho (z eros):

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

• Matriz Unitária também pode ser montada de dorma análoga (ones):

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.

• Matriz Identidade de qualquer tamanho (eye):

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

• Matriz Diagonal genérica a partir de um vetor (d iag):

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

Se aplicado em uma matriz bidimensional, o comando diag retorna a respectiva diago-


nal indicada na forma de vetor, como se fizesse uma operação inversa da anteriormente
demonstrada:
Tóp. Esp. Fluido-Témica 13

octave:18> b=[8 5 5 6 7; 0 3 4 1 5; 1 2 2 4 0;3 9 7 8 6 ]


b =
8 5 5 6 7
0 3 4 1 5
1 2 2 4 0
3 9 7 8 6

octave:19> diag(b,1)’
ans =
5 4 4 6

• Operações com as colunas de componentes de uma matriz: no caso da soma (sum)

octave> sum(a)
5 9

e ainda existem outros comandos que permitem a obtenção da média(mean), o produto


dos termos(prod ), o valor máximo (max ), o valor mı́nimo (min) e a ordenação de matrizes
(sort). Todos estes comandos realizam estas operações entre os elementos pertencentes à
mesma coluna.

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

como era de se esperar.

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

2.3 Definição de funções

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.

ii. na linha a seguir são definidas as variáveis globais, se existirem.

iii. depois vem o corpo da função com a sua sequência de comandos.

iv. o procedimento é finalizado com a palavra end .

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.

2.4 Montagem de gráficos

Para elaboração de gráficos o octave se utiliza de um programa externo denominado ”GNU-


PLOT”. Existem comandos internos do próprio gnuplot que muitas vezes são utilizados para
definir parâmetros preliminares dos gráficos. Para um bom conhecimento destas funções sugere-
se uma leitura do manual do próprio programa.

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:

octave> x1=0:0.1:pi; %define vetor x


octave> a=cos(x1); %define o primeiro vetor y
octave> b=sin(x1); %define o segundo vetor y
octave> __gnuplot_set__ xlabel "x" % define nome do eixo x
octave> __gnuplot_set__ ylabel "y" % define nome do eixo y
octave> __gnuplot_set__ key outside box % define legenda
% do lado de fora do grafico e com borda
octave> plot(x1,a,"-;cos(x);",x1,b,"-;sin(x);")
Tóp. Esp. Fluido-Témica 16

Figura 2.1: Gráfico gerado no 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:

• - define a curva na forma de linhas;.

• ., +, *, o e x define a curva na forma de diferentes estilos de pontos;

• ^ define gráfico de impulsos;

• L define gráfico de ”steps”;

• ‘n’ ou ‘c’, definem a cor a ser utilizada de forma:

Num. Letra Cor


0 k preto
1 r vermelho
2 g green
3 b azul
4 m magenta
5 c cyan

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.

octave> __gnuplot_set__ xlabel "x" % define nome do eixo x


octave> __gnuplot_set__ ylabel "y" % define nome do eixo y
octave> fplot("[cos(x), sin(x)]", [0,pi])

2.5 Operações lógicas

É 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 (=).

• if é utilizado para realização de comparações diretas e direcionar o fluxo do programa em


funçaõ de seu resultado.

octave> a=2
2

octave> if (mod(a,2)==0) disp(\"Numero par\") else disp(\"Numero impar\") endif


Numero par

octave> a=3;
3

octave> if (mod(a,2)==0) disp(\"Numero par\") else disp(\"Numero impar\") endif


Numero impar

• 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.

octave> for z=1:2:4 disp(z); endfor


1
3
Tóp. Esp. Fluido-Témica 18

• 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)

2.6 Diferenças básicas entre o Matlab e o Octave

Algumas diferenças básicas que podem afetar a compatibilidade entre ambos são:

• o nome de algumas funções são diferentes

• o comentário no Matlab é % e no Octave também é aceito o #

• no Matlab, os blocos formados por while, if e for e as “functions“ necessariamente ter-


minam com end . No octave pode-se usar, opcionalmente, endwhile, endif , endfor e
endfunction.

• no Matlab a única forma aceita para a desigualdade é o ˜=. O != é aceito apenas no


Octave.

• operadores incrementais ++ e - - não são aceitos no Matlab.


CAPÍTULO 3

Métodos para a solução de Eq. Diferenciais


Ordinárias

Os problemas envolvendo as Equações Diferenciais Ordinárias são normalmente subdi-


vididos em dois grandes grupos:

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 é:

T 00 (x) = −
k

19
Tóp. Esp. Fluido-Témica 20

Imaginando que a uma das temperaturas das faces é conhecida e T (x = 0) = T0 . Se além


dela, for conhecido o fluxo de calor que está entrando por esta face ou seja, na mesma posição
q(x = 0) = kT 0 (0) = q0 este problema será um problema de valor inicial e o procedimento de
marcha poderá ser adotado.

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.

3.1 Método de Runge Kutta

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:

y = f 0 (x, y) =⇒ yn0 = f (xn , yn )

No caso da derivada de uma função qualquer em relação a x é conveniente lembrar da regra


da cadeia:
d dy
f (x, y) = fx (x, y) + fy (x, y)
dx dx
sendo que os ı́ndices x ou y da função representam a derivada parcial da função em relação a
tal derivada.

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!

O método de Runge Kutta se baseia no princı́pio de que existe um ponto em um determinado


intervalo cuja a derivada fornece exatamente a tangente para o cálculo do ponto no extremo
deste intervalo. Esta derivada pode ser expressa como uma composição linear na forma:

yn+1 = yn + (a1 yn0 + a2 y∗0 )h (3.2)

sendo y∗0 um valor previsto para a derivada para o ponto genérico (xn + b1 h, yn + b2 yn0 h).

Assim o valor para y∗0 :


y∗0 = f (xn + b1 h, yn + b2 yn0 h)
que pode ser ainda expandida numa série de Taylor de primeira ordem (envolvendo os termos
de h)

f (xn + b1 h, yn + b2 yn0 h) = f (xn , yn ) + b1 fx (xn , yn )h + b2 yn0 hfy (xn , yn )


= f (xn , yn ) + b1 fx (xn , yn )h + b2 hf (xn , yn )fy (xn , yn )

Substituindo o valor da expansão de y∗0 na equação (3.2) tem-se que:

yn+1 = yn + {a1 f (xn , yn ) + a2 [f (xn , yn ) + b1 fx (xn , yn )h + b2 hf (xn , yn )fy (xn , yn )]}h

Que rearranjada resulta em:

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)

Finalmente, comparando-se as equações (3.1) e (3.3) obtém- se o seguinte sistema de


equações:

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

Figura 3.1: Esquema de funcionamento do Runge Kutta de 4a ordem

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).

Exercı́cio: Resolva a equação diferencial para um problema de condução onde a geração de


energia é função da temperatura dada por:
dT
= x + 2T
dx
utilizando o Runge Kutta de 2a ordem numa placa de 2 m (0 ≤ x ≤ 2) e usando um incremento
h = 0.4. A temperatura numa face da parede é dada e é igual 10◦ C. (x = 0 → T = 10).

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.

As expressões que são utilizadas para o Runge Kutta de 4a ordem na aproximação de um


problema y 0 (x) = f (x, y) são:
Tóp. Esp. Fluido-Témica 23

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 )

sendo que o valor posterior é calculado na forma:


1
yn+1 = yn + (K1 + 2 K2 + 2 K3 + K4 ) (3.4)
6

Exemplo de Aplicação: Determinar o tempo de resposta de um termômetro de mercúrio


de vidro quando este instrumento é utilizado na leitura de um ambiente cuja temperatura varia
de forma senoidal com o tempo: T∞ = 40 + 22.48 sin(2πt) sendo o tempo t dado em horas.
Admitir que o coeficiente global de transferência de calor entre o termômetro e o fluido é de
25 kcal/h m2◦ C. O termômetro pode ser idealizado como um cilindro de mercúrio de 25 mm
de comprimento e 6 mm de diâmetro e sua temperatura inicial de 15◦ C.

ρmerc = 13600 kg/m3


Dados: cmerc = 0.0325 kcal/kg ◦ C
Volmerc = 7.07 × 10−7 m3

Solução:

Pelo balanço térmico tem-se que:

 
"
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 .

Substituindo os valores na equação (3.5) tem-se:

dT
13600 × 0.0325 × (7.07 × 10−7 ) = 25 × (4.71 × 10−4 ) (T∞ − T )
dt
Tóp. Esp. Fluido-Témica 24

ou de forma rearranjada tem-se:


dT
= 37.681 × (T∞ − T )
dt

Como o valor de T∞ = 40 + 22.48 sin(2πt):


dT
= 37.681[40 + 22.48 sin(2πt) − T ] (3.6)
dt
que é uma expressão na forma T 0 = F (t, T ).

A condição inicial do problema também é conhecida e é dada por t = 0 ⇒ T = 15◦ C.

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 = 40 + 22.17 sin(2πt − 0.165) − 21.36 exp(−37.17 t) (3.7)

Aplicando-se Runge Kutta para o problema em intervalos de tempo de 2 min (h = 0.03333 h)


tem-se que:

• t = 0 : T=15◦ C

• t = 0.03333

K1 = h F (0, 15) = 0.03333{37.681[40 + 22.48 sin(2π0) − 15]} = 31.401


K2 = h F (0 + 0.03333/2, 15 + 31.401/2) = 0.03333F (0.01667, 30.700) = 14.632
K3 = h F (0 + 0.03333/2, 15 + 14.632/2) = 0.03333F (0.01667, 22.316) = 25.163
K4 = h F (0 + 0.03333, 15 + 25.163) = 0.03333F (0.03333, 40.163) = 5.666

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.

Tabela 3.1: Tabela de resultados para o exemplo 1

Tempo (h) Texata Tnumérica K1 K2 K3 K4


0.00000 14.999 15.000
0.03333 34.797 34.443 31.401 14.632 25.163 5.666
0.06667 43.776 43.560 12.851 7.635 10.910 4.761
0.10000 49.389 49.285 7.013 5.242 6.354 4.144
0.13333 53.665 53.613 4.934 4.132 4.636 3.498
0.16667 57.075 57.043 3.885 3.305 3.669 2.746
0.20000 59.661 59.635 3.046 2.475 2.834 1.888
0.23333 61.365 61.340 2.192 1.580 1.964 0.952
0.26667 62.129 62.104 1.277 0.630 1.036 −0.025
0.30000 61.924 61.900 0.317 −0.344 0.071 −0.999
0.33333 60.760 60.737 −0.653 −1.302 −0.894 −1.930
0.36667 58.688 58.668 −1.593 −2.202 −1.820 −2.777
0.40000 55.800 55.783 −2.464 −3.006 −2.666 −3.502
0.43333 52.222 52.208 −3.227 −3.679 −3.395 −4.075
0.46667 48.109 48.099 −3.849 −4.191 −3.976 −4.469
0.50000 43.641 43.637 −4.302 −4.519 −4.383 −4.668
0.53333 39.015 39.015 −4.568 −4.651 −4.599 −4.662
0.56667 34.432 34.437 −4.634 −4.578 −4.613 −4.453
0.60000 30.092 30.102 −4.497 −4.306 −4.426 −4.050
0.63333 26.185 26.199 −4.164 −3.846 −4.046 −3.469
0.66667 22.882 22.900 −3.649 −3.217 −3.488 −2.737
0.70000 20.327 20.348 −2.974 −2.448 −2.778 −1.885
0.73333 18.632 18.654 −2.170 −1.572 −1.947 −0.951
0.76667 17.870 17.894 −1.270 −0.627 −1.031 0.025
0.80000 18.076 18.100 −0.315 0.345 −0.070 0.999
0.83333 19.240 19.263 0.653 1.302 0.895 1.930
0.86667 21.312 21.332 1.594 2.202 1.820 2.777
0.90000 24.200 24.217 2.464 3.006 2.666 3.502
0.93333 27.778 27.792 3.227 3.679 3.395 4.075
0.96667 31.891 31.901 3.849 4.191 3.976 4.469
1.00000 36.359 36.363 4.302 4.519 4.383 4.668
Tóp. Esp. Fluido-Témica 26

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]

Figura 3.2: Temperaturas do termômetro e banho no exemplo 1

3.1.1 Implementação da solução no GNU-Otave

Para arepresentar o problema será escolhida a solução da relação entre a temperatura de


um termômetro e de seu banho apresentada na apostila. Neste caso a equação do problema é
dada por:
T 0 (t, T ) = 37.681(40 + 22.48 sin(2πt) − T )

sendo a condição de partida a temperatura inicial do termômetro T (0) = 15.

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.

Entretanto o objetivo principal é a solução desta equação diferencial, portanto é preciso


resolvê-la. Para tanto será montado uma outra função runge.m na qual será implementado o
método de Runge-Kutta. A função referida que utilizará a dert.m, anteriormente definida.

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:

octave> [te’ TT’ texv’ tba’]


ans =
0.00000 15.00000 14.99853 40.00000
0.03333 34.44279 34.90197 44.67385
0.06667 43.55979 43.83592 49.14344
0.10000 49.28485 49.41487 53.21341
0.13333 53.61306 53.67464 56.70590
0.16667 57.04284 57.07827 59.46825
0.20000 59.63482 59.66188 61.37975
0.23333 61.34022 61.36521 62.35685
0.26667 62.10423 62.12881 62.35685
0.30000 61.89951 61.92357 61.37975
0.33333 60.73686 60.75968 59.46825
0.36667 58.66766 58.68836 56.70590
0.40000 55.78252 55.80022 53.21341
0.43333 52.20758 52.22153 49.14344
0.46667 48.09910 48.10870 44.67385
0.50000 43.63665 43.64147 40.00000
0.53333 39.01527 39.01510 35.32615
0.56667 34.43692 34.43177 30.85656
0.60000 30.10170 30.09180 26.78659
0.63333 26.19909 26.18487 23.29410
0.66667 22.89964 22.88172 20.53175
0.70000 20.34756 20.32672 18.62025
0.73333 18.65439 18.63154 17.64315
0.76667 17.89412 17.87027 17.64315
0.80000 18.09998 18.07617 18.62025
0.83333 19.26298 19.24024 20.53175
0.86667 21.33229 21.31162 23.29410
0.90000 24.21747 24.19977 26.78659
0.93333 27.79242 27.77847 30.85656
0.96667 31.90090 31.89130 35.32615
1.00000 36.36335 36.35853 40.00000
Tóp. Esp. Fluido-Témica 29

Figura 3.3: Gráfico gerado no GNU-Octave

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:

xlabel "Tempo [horas]"


ylabel "Tempertura [C]"
plot(te,texv,"-;Sol Analitica;",te,TT,"*;Sol Numerica;",te,tban, "-;Temp. Banho;");

Solução usando comandos preexistentes no GNU-Octave

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.

Este comando consiste na utilização do algoritmo de Hindmarsh, um algoritmo um pouco


mais recente que o de Runge-Kutta e otimizado para sistemas de Equações Diferenciais Or-
dinárias. Para a solução do problema anteriormente proposto é preciso conhecer o uso de:

lsode(”nome da função”, condição, domı́nio)

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:

function dr=dert2(temper, tempo)


dr=37.681*(40+22.48*sin(2*pi*tempo)-temper);
endfunction

condição são a(s) condição(ões) de partida necessárias para a solução do problema.

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.

Para o caso do exemplo anterior pode-se utilizar:

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.

EXERCÍCIO: Repita o procedimento anteriormente apresentado agora para um termopar,


cuja capacidade térmica e, por consequência, o tempo de resposta são bem menores. Supondo
que as condições do banho são as mesmas propostas para o caso do termômetro e que as
propriedades fı́sicas do termopar são: ρ = 7600 kg/m3 ; c = 0.12 kcal/kg K; D = 0.0008
m.Considere neste caso que o volume submerso é igual ao diâmetro total do par termoelétrico.
Tóp. Esp. Fluido-Témica 31

Solução: Neste caso a EDO do problema seria dada por:

T 0 (t, T ) = 137.06(40 + 22.48 sin(2πt) − T )

e a solução analı́tica do problema seria dada por:

T (t) = 40 + 22.46 sin(2πt − 0.0458) − 23.97 exp(−137.06t)

Agora apresente a solução numérica deste problema e compare-a com a resposta obtida a partir
da solução analı́tica.

3.2 Soluções de sistemas de equações diferenciais ou equa-


ções diferenciais de ordem superior utilizando Runge
Kutta

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

Esta equação diferencial é análoga ao sistema abaixo:

y0 = Z
y 00 = −Z + y − 2 x

O procedimento para a solução de sistemas é idêntico ao método de solução de uma única


equação desde que seja tomado o cuidado de calcular os Ks em paralelo para todas as equações.
Isto é muito importante e deve ser respeitado e implica que antes de calcular qualquer K2 os
valores de K1 devem ter sido calculados para todas as equações.

Para ilustrar a forma de utilização deste procedimento será apresentado um exemplo a


seguir.

Exemplo de Aplicação: Considere uma aleta circular sobre um duto de de 12 cm de


diâmetro e 0.5 cm de espessura e feita de alumı́nio (k = 215 W/m2◦ C). A aleta troca ca-
lor com um ambiente a 25◦ C e com coeficiente de pelı́cula de 50 W/m2◦ C. Sabendo que a base
Tóp. Esp. Fluido-Témica 32

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?

Obs: O calor trocado pela ponta da aleta pode ser desprezado.

Solução:

Fazendo um balanço térmico em um anel de espessura dr nesta aleta tem-se que:

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

Fazendo a a aproximação da derivada (dT /dr)r+dr por série de Taylor na forma:


d2 T

dT dT
= + dr
dr r+dr dr r dr2 r
e ainda simplificando a equação obtém-se:
d2 T
 
dT dT 2 h r dr
r = (r + dr) + 2 dr − (T − T∞ )
dr dr dr kt

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

Desprezando-se o termo de ordem O(dr2 ) e simplificando a expressão:


d2 T 1 dT 2h
2
+ − (T − T∞ )
dr r dr kt
ou rearranjada
d2 T 2h 1 dT
2
= (T − T∞ ) −
dr kt r dr

Substituindo pelos valores numéricos:


d2 T 1 dT
= 93.02 (T − 25) − (3.8)
dr2 r dr

Esta equação está sujeita às condições de contorno:

r = R, T = Tb na base da aleta a temperatura é conhecida. Substituindo os valores tem-se


que neste caso: T=50◦ C.
Tóp. Esp. Fluido-Témica 33

r = R, q = qb o fluxo de calor na base também é conhecido. No entanto é importante ressaltar


que o fluxo de calor tem que ser adaptado para se tornar uma condição de contorno:

dT dT qb
qb = −k 2 π R t =⇒ =−
dr r=R
dr r=R
2πkRt

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)

• r = 0.06 T1 = 50; e G1 = −296.1.

• r = 0.07 adotar-se a o segundo sub-ı́ndice 1 para os valores da integração da função e o


ı́ndice 2 para a integração da sua derivada, assim

K1,1 = h ∗ G(0.06, 50, −296.1) = 0.01 ∗ −296.1 = −2.96


1
K1,2 = h ∗ F (0.06, 50, −296.1) = 0.01 ∗ [93.02 (50 − 25) − − 296.1] = 72.61
0.06
K2,1 = h ∗ G(0.06 + 0.01/2, 50 − 2.96/2, −296.1 + 72.61/2) = −2.60
K2,2 = h ∗ F (0.065, 48.52, −259.8) = 61.851
K3,1 = h ∗ G(0.06 + 0.01/2, 50 − 2.60/2, −296.1 + 61.85/2) = −2.65
K3,2 = h ∗ F (0.065, 48.70, −265.17) = 62.84
K4,1 = h ∗ G(0.06 + 0.01, 50 − 2.65, −296.1 + 62.84) = −2.33
K4,2 = h ∗ F (0.07, 47.35, −233.26) = 54.11

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

E agora é possı́vel calcular os valores desejados:


1
T2 = T1 + (K1,1 + 2 K2,1 + 2 K3,1 + K4,1 ) =
6
1
50 + (−2.96 − 2 2.60 − 2 2.65 − 2.33) = 47.37
6
1
G2 = G1 + (K1,2 + 2 K2,2 + 2 K3,2 + K4,2 ) =
6
1
−296.1 + (72.61 + 2 61.85 + 2 62.64 + 54.11) = −233.41
6

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:

T (r) = 25 + 5.472I0 (9.645 r) + 23.648K0 (9.645 r)


T 0 (r) = 26.388[I−1 (9.645 r) + I1 (9.645 r)] − 114.04[K−1 (9.645 r) + K1 (9.645 r)]

sendo ainda que os valores calculados por estas funções também estão presentes na tabela (3.2).

Um ponto importante no que tange ao cálculo da eficiência da aleta é descobrir o ponto


onde a derivada se anula. Utilizando a solução analı́tica obtém-se r = 0.16408, e fazendo uma
regressão linear na tabela para os resultados numéricos obtém-se r = 0.16413 que equivale a
um erro de 0.03%.

Deste resultado é possı́vel avaliar a eficiência da aleta:


qreal 120 120
η= = = = 65.49%
qideal 50 2 π (0.16412 − 0.062 ) (50 − 25) 183.22

3.2.1 Procedimento de solução usando o GNU-Octave

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

0.06 50.00 50.00 −296.10 −296.10


0.07 47.37 47.37 −233.42 −233.42 −2.96 72.61 −2.60 61.85 −2.65 62.84 −2.33 54.11
0.08 45.28 45.28 −185.70 −185.70 −2.33 54.15 −2.06 47.23 −2.10 47.82 −1.86 42.06
0.09 43.62 43.62 −148.02 −148.02 −1.86 42.08 −1.65 37.38 −1.67 37.75 −1.48 33.75
0.10 42.30 42.30 −117.38 −117.38 −1.48 33.77 −1.31 30.44 −1.33 30.69 −1.17 27.82
0.11 41.26 41.26 −91.84 −91.84 −1.17 27.83 −1.03 25.40 −1.05 25.58 −0.92 23.46
0.12 40.45 40.45 −70.07 −70.07 −0.92 23.47 −0.80 21.66 −0.81 21.79 −0.70 20.21
0.13 39.85 39.85 −51.15 −51.15 −0.70 20.21 −0.60 18.84 −0.61 18.94 −0.51 17.74
0.14 39.42 39.42 −34.39 −34.39 −0.51 17.74 −0.42 16.70 −0.43 16.78 −0.34 15.87
0.15 39.15 39.15 −19.26 −19.26 −0.34 15.87 −0.26 15.08 −0.27 15.14 −0.19 14.45
0.16 39.03 39.03 −5.37 −5.37 −0.19 14.45 −0.12 13.85 −0.12 13.90 −0.05 13.38
0.17 39.04 39.04 7.61 7.604 −0.05 13.39 0.01 12.95 0.01 12.99 0.08 12.61
Tabela 3.2: Tabela de solução para o exemplo resolvido 2
35
Tóp. Esp. Fluido-Témica 36

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.

function temr=sol_ale1(temper, raio)


temr=zeros(2,1);
temr(1)=temper(2);
temr(2)=93.02*(temper(1)-25)-1/raio*temper(2);
endfunction

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.

octave> saida=lsode("sol_ale1", [50 -296.1], rr=[0.06:0.01:0.2]);


octave> xlabel "Tempo [horas]"
octave> ylabel "Temperatura [C]"
octave> plot(rr,saida(:,1),"-*; Sol. Numerica;")
octave> figure(2)
octave> xlabel "Tempo [horas]"
octave> ylabel "Grad. Temper [C/h]"
octave> gset key left top
octave> plot(rr,saida(:,2),"-*; Sol. Numerica;")

que apresentaria a solução do problema na tela e o armazenaria na variável saida. A partir


destes dados, poderia ser traçar os gráficos da forma que se mostrasse adequada e também
identificar o tamanho real da aleta, a partir do ponto em que a derivada se anula. A figura (3.4),
mostra o comportamento da solução.

3.3 Condição de Contorno Deslocada

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

Figura 3.4: Temperatura e gradientes no caso da aleta

é necessário utilizar-se de um procedimento iterativo repetindo-o para diferentes condições


iniciais até obter a condição deslocada desejada. Este procedimento é usado como uma maneira
de contornar as limitações do método utilizando-o na solução de um problema de contorno.

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 )

Método da Secante: é uma adaptação do Método de Newton-Raphson que procura expres-


sar a derivada da função de forma discreta. Relembrando a definição de derivada é:

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 é:

f (xn ) xn−1 − f (xn−1 ) xn


xn+1 = (3.9)
f (xn ) − f (xn−1 )

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.

Exemplo de Aplicação: Considere uma aleta circular sobre um duto de de 12 cm de


diâmetro e 0.5 cm de espessura e feita de alumı́nio (k = 215 W/m2◦ C). A aleta troca ca-
lor com um ambiente a 25◦ C e com coeficiente de pelı́cula de 50 W/m2◦ C. Sabendo que a base
da aleta trabalhará há uma temperatura de 50◦ C pergunta-se qual máximo fluxo de calor que
poderá ser dissipado pela aleta, independente do seu comprimento?

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.

A outra condição de contorno é dada pela temperatura na base da aleta, ou seja T (r =


0.06) = 50◦ C.

Como este problema é similar ao exemplo anterior tomou-se inicialmente a condição de


contorno para a derivada, já calculada anteriormente, T 0 (r = 0.06) = −296.1. Depois dele
adotou-se um valor arredondado para o T 0 (r = 0.06) = −300. Os valores obtidos para a
derivada em x = 2 m é mostrada a seguir:
Tóp. Esp. Fluido-Témica 39

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:

(−296.1)(296887.049) − (−300)(307617.567) 4377014.78


xn+1 = = = −407.903415
296887.049 − 307617.567 −10730.52

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:

T (r) = 25 + 31.019 K0 (9.645 r)


dT
= −149.589 (K−1 (9.645 r) + K1 (9.645 r))
dr

Desta forma pode-se calcular o fluxo de calor máximo transmitido:



dT
= −409.23 =⇒ qb = 165.86 W
dr r=0.06

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

3.3.1 Procedimento de solução usando o octave

Os problemas de ordem superior nem sempre fornecem as condições necessárias para a


partida do processo de marcha, ou seja, o valor da função e de sua derivada no ponto. Em um
grande número de situações serão conhecidos o valor da função, ou mesmo da função e derivadas,
em dois pontos distintos. Imagine o caso da aleta anterior, se conhece o valor da temperatura
na base e a da temperatura na ponta, ou mesmo a temperatura na base e as condições de
convecção na ponta, o problema não poderia ser resolvido da maneira apresentada.

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.

Calcula-se os valores inicialmente para duas ”estimativas”da derivada na base da aleta,


usando-se a seguinte sequência de comandos:

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

onde os valores fx1 e fx2 são os valores da derivada da temperatura no ponto r = 2 m.

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).

Um procedimento similar a este, embora utilizando-se do comando pré-implementado no


GNU-Octave, o fsolve (equivalente ao fzero no Matlab), para encontrar zero de funções pode
também ser utilizado. Para tanto será necessária a definição de uma função que se anule quando
o resultado esperado de derivada nula em x = 2 m ocorra. A implementação foi realizada na
função ale inf.m, onde o parâmetro de entrada x é o vetor com o chute inicial da derivada e
o valor retornado é a derivada da temperatura no ponto afastado da base, como mostrado a
seguir:

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:

octave:65> solu=fsolve("ale_inf", -300)


solu = -409.25
octave:66> printf("%15.8f\n",solu);
-409.25472132

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

Solução de Sistema de Equações Lineares

Diversos métodos se apresentam como eficientes na solução de sistemas de equações


lineares. Destacam-se dois grandes grupos que, neste caso, são os métodos iterativos de solução
e os métodos diretos de solução. Neste capı́tulo apresentaremos os dois grupos com dois dos
métodos mais usuais, sendo um representante de cada grupo.

4.1 Métodos iterativos de solução

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).

São representantes destes métodos: Método da Sucessiva Sobre-Relaxação, Método de


Gauss-Jacobi, Método de Gauss-Siedel, etc. O mais utilizado dentre todos é o método de
Gauss-Siedel, cujo o procedimento pode ser descrito em alguns passos:

1. isolar em todo o sistema de equação, em cada linha a variável correspondente à diagonal


da matriz (elemento central).

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.

5. adotar a solução obtida como solução do sistema de equações.

Tanto o método de Gauss-Jacobi como o método da sucessiva sobre-relaxação (S.O.R.) tem


procedimento similar ao descrito. No entanto convém ressaltar que o método de Gauss-Jacobi
tem uma menor velocidade de convergência para a solução do sistema pois atualiza os valores das
variáveis somente ao final de cada iteração. O método S.O.R. também é um método eficiente,
no entanto o seu maior complicador é o cálculo do valor da sobre-relaxação, que depende das
condições dos sistema linear. Na maior parte dos casos a sua convergência é até mais rápida
que a de Gauss-Seidel. Maiores detalhes a respeito destes métodos podem ser encontrados em
(Ruggiero & Lopes, 1988) e (Maliska, 1995).

Exemplo: Resolva o sistema linear mostrado abaixo:

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

Se isolarmos o elemento central de cada nó obtém-se:

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 .

Chute Número de Iterações Solução


inicial 1 2 3 4 5 10 20 30 Exata
0.000 2.500 -0.125 0.972 0.735 0.990 0.953 0.985 0.995 1
0.000 3.500 2.037 2.353 2.014 2.106 2.055 2.018 2.007 2
0.000 3.700 2.548 3.158 2.866 2.917 2.963 2.987 2.995 3
0.000 5.075 3.074 4.314 4.049 4.009 4.010 4.004 4.002 4
0.000 9.155 3.586 4.939 5.047 5.039 4.996 4.996 4.998 5
0.000 8.461 5.840 5.905 5.944 5.967 6.000 6.002 6.001 6
0.000 8.026 7.220 7.088 7.047 7.027 7.000 6.999 6.999 7
0.000 7.658 7.927 7.971 7.984 7.991 8.000 8.000 8.000 8

Tabela 4.1: Resultados obtidos com o método de Gauss-Siedel


Tóp. Esp. Fluido-Témica 45

 
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

Figura 4.1: Esquema de uma matriz triangular

4.2 Métodos de inversão direta

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

De acordo com as condições já descritas C1 = 0 logo:


−B1
P1 =
A1
D1
Q1 =
A1
e a partir deles é possı́vel calcular todos os outros até os valores Pn e Qn .

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).

Exemplo: Resolva o sistema linear, idêntico ao solucionado por Gauss-Seidel, mostrado


abaixo:
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:

Este mesmo sistema pode ser expresso matricialmente na forma:


    
4 3 0 0 0 0 0 0  x
 1   
 10 

   
 
 

 2 4 3 0 0 0 0 0   x2  
 19 

  










 0 3 5 2 0 0 0 0 
 x3  29
  
   
 

   
 
 

 0 0 2 8 2 0 0 0  x4    48 
 0 0 0 3 5 4 0 0   x  =  61
 
  5   

   
 
 

 0 0 0 0 1 4 2 0  
 x 
6 




 43 


    
 

 0 0 0 0 0 2 3 1  x7   41 
  
 







   
0 0 0 0 0 0 2 6  x8   62 

e repare na sua formação Tridiagonal.


Tóp. Esp. Fluido-Témica 47

Os valores para A, B, C e D são retirados diretamente de cada linha do sistema de equações


e podem ser vistos na tabela (4.2), assim sendo os valores de P1 e Q1 são:

−B1 3 D1 10
P1 = = − = −0, 75 Q1 = = = 2, 5
A1 4 A1 4

E os próximos valores de podem ser calculados através da expressão:


−B2 −3
P2 = = = −1, 2
A2 + C2 P1 4 + 2 (−0, 75)
Di − Ci Qi−1 19 − 2 2, 5
Q2 = = = 5, 6
Ai + Ci Pi−1 4 + 2 (−0, 75)

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).

Calculados todos os valores de P e Q é possı́vel voltar calculando a solução para o sistema


de equações. Para a última linha sabe-se que:

x8 = Q8 = 8

Com este resultado pode-se calcular o valor de x7 através da expressão:

x7 = P7 x8 + Q7 = −0, 607 8 + 11.857 = 7

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

Tabela 4.2: Resultados obtidos através do método TDMA


CAPÍTULO 5

Equações Diferenciais Parciais - Caracterização


e Métodos de Discretização e Solução

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.

5.1 Subdivisão das equações diferenciais parciais

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)

Figura 5.1: Figuras ilustrativas dos tipos de equações diferenciais

Quanto à classificação pode-se dizer que as equações diferenciais se dividem em:

Equação Diferencial Parabólica: é um tipo de equação diferencial em que existe uma


direção definida para a a propagação de uma dada perturbação, vide figura (5.1a). Este tipo
de equação é a mais simples de ser solucionada numericamente pois a solução de cada passo de-
pende basicamente do conhecimento do passo anterior. Um bom exemplo da parcela parabólica
de uma equação diferencial é a coordenada que envolve o tempo, cujo o comportamento é pu-
ramente parabólico. Veja por exemplo que para se conhecer a situação em um determinado
tempo basta conhecer como este se encontrava no instante anterior. Embora este seja o melhor
exemplo de comportamento deste tipo existem uma série de outros problemas que podem ter
parcelas deste tipo (equações de camada limite, por exemplo).

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.

5.2 Formas de solução de equações diferenciais parciais

As formas básicas de solução de equações diferenciais parciais já foram discutidas na


introdução. A respeito do seu uso não existe propriamente um consenso e várias discussões se
apresentam. Embora não deva ficar apenas nisto vou transcrever aqui um trecho da referência
(Maliska, 1995), cujo o autor é um dos mais respeitados da área numérica de todo o paı́s. É
importante notar que se trata apenas da opinião do autor e não propriamente de um consenso.

”Com o grande desenvolvimento experimentado pelos métodos numéricos e a conseqüente


penetração dos mesmos na engenharia, não raramente se travam discussões acaloradas a res-
peito da eficiência do método das diferenças finitas (MDF) e elementos finitos (MEF). Minha
intervenção neste ponto polêmico deve-se ao fato de ter observado, ao longo dos últimos 10 anos,
que muitas afirmações acerca desses métodos são oriundas do desconhecimento desta natureza.
Um breve histórico é importante para o entendimento. 0 MDF sempre foi empregado pelos
especialistas da área de escoamento de fluidos, enquanto o MEF o foi para área estrutural, na
solução de problemas da elasticidade. Os problemas, do ponto de vista fı́sico, são completa-
mente diferentes. Os de escoamento são altamente não-lineares (equações de Navier-Stokes),
enquanto os de elasticidade não possuem os termos convectivos, não-lineares, e assemelham-se
a problemas puramente difusivos de transferência de calor. Foi natural, portanto, o fato de os
pesquisadores do MDF terem se concentrado na tentativa de dominar as não-linearidades dos
termos convectivos e no problema do difı́cil acoplamento entre as equações, dificuldades não
encontradas em problemas de elasticidade. Por muito tempo foi deixado para segundo plano o
problema do tratamento de geometrias complexas, e o MDF teve todo o seu desenvolvimento
baseado nos sistemas coordenados ortogonais, como o cartesiano, o cilı́ndrico e o esférico. Por
esta razão, muitas pessoas ainda vinculam o MDF com malhas cartesianas, equivocadamente,
uma vez que ele pode ser aplicado a qualquer tipo de malha, mesmo a não-estruturada usada
em elementos finitos.

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

em fluidos foi retardada.

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.

0 uso do método de Galerkin em elementos finitos é equivalente ao uso de diferenças cen-


trais em diferenças finitas, ambos produzindo instabilidade em problemas de convecção domi-
nante. Este e outros problemas similares, que possuem a adequada interpretação fı́sica pelo
não-funcionamento, motivaram pesquisas para o aprimoramento do método dos volumes finitos
(MVF), no qual as equações aproximadas são obtidas através de balanços de conservação da
propriedade envolvida (massa, quantidade de movimento, entalpia, etc.) no volume elementar.
A observação do caráter fı́sico de cada termo da equação diferencial permitiu que métodos
mais robustos fossem desenvolvidos. A possibilidade de associar a interpretação fı́sica com a
matemática influiu de modo considerável para que praticamente todos os analistas envolvidos
com o MDF passassem a usar o MVF, visto que ambos, por serem equivalentes para uma série
de problemas, levam muitas pessoas a confundi-los. Importantes desenvolvimentos foram então
realizados no MVF, mas ainda em coordenadas ortogonais, principalmente cartesianas.

Uma grande transformação, motivada pelo aparecimento de equipamentos mais velozes,


processou-se na década de 70. Em meados dessa década, os sistemas coordenados ortogonais
convencionais começaram a ceder espaço para os sistemas coordenados generalizados coinciden-
tes com a fronteira do domı́nio, e o MVF passou a resolver problemas de fluidos em geometria,
irregulares. Nos últimos 15 anos, foi espantoso o crescimento experimentado pelo MVF em co-
ordenadas coincidentes com a fronteira. Praticamente todos os grandes pacotes hoje disponı́veis
no mercado para a solução de problemas de escoamento de fluidos com transferência de calor
empregam coordenadas generalizadas no âmbito do MVF.

Paralelamente, o MEF passou a empregar outras funções de interpolação para permitir o


tratamento adequado dos termos convectivos não-lineares. As funções do tipo Petrov-Galerkin,
que nada mais são do que a ponderação entre os efeitos difusivos e convectivos, semelhantes
aos esquemas hı́bridos empregados em volumes finitos, possibilitaram um expressiva avaliação
do MEF na área de escoamento de fluidos. Recentes formulações, onde estas funções são
desenvolvidas ao longo da linha de corrente, também equivalentes aos esquemas skew usados
em volumes finitos, permitiram que o MEF passasse, também, a tratar problemas de fluidos
Tóp. Esp. Fluido-Témica 52

minimizando os efeitos de difusão numérica.

Atualmente, um grande esforço de pesquisa está sendo dedicado ao desenvolvimento de


métodos em volumes finitos, usando malhas não-estruturadas, semelhantes, portanto, aquelas
usadas em elementos finitos.

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.

Recentes desenvolvimentos mostram também o MEF aplicado em nı́vel de volumes ele-


mentares, sendo denominado método dos elementos finitos baseado no volume de controle,
conhecido na literatura internacional como CVFEM - Control Volume Finite Element Method,
cujo objetivo é obter as equações aproximadas em nı́vel de volumes elementares em uma base
de elementos finitos. Muitos autores, principalmente aqueles ligados ao MEF clássico, não con-
sideram o CVFEM como um MEF. Entretanto, foge do nosso escopo aprofundar esta e outras
Tóp. Esp. Fluido-Témica 53

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.

5.3 Discretização do domı́nio

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.

A escolha da malha também pode influir decisivamente na solução de um problema numérico.


Um grande exemplo disto é que a utilização de dois pontos muito próximos numa malha onde a
distância média entre os pontos é significativamente maior pode induzir em erros significativos
na solução final do problema. Isto é explicável pela inclusão de uma quase-singularidade na
matriz (dois pontos que respondem pela mesma equação), dificultando a solução do sistema.

Recentemente tem sido desenvolvidas muitas técnicas de geração automática de malhas, em


(Maliska, 1995) pode ser encontrada descrição de uma série destes métodos. Este procedimento
é um conforto necessário pois, a medida que as geometrias dos problemas vão se tornando mais
Tóp. Esp. Fluido-Témica 54

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

Método dos Elementos Finitos

Será mostrado neste capı́tulo todos os princı́pios da formulação de um problema através


do método dos elementos finitos. Serão apresentados, de forma sucinta, os princı́pios da meto-
dologia de elementos finitos, todos os passos a serem cumpridos na formulação de um problema
desde a discretização até solução final do problema.

6.1 Princı́pios gerais

6.1.1 Aproximação por funções

O princı́pio fundamental de elementos finitos consiste em utilizar funções, de diferentes


ordem, para aproximar a solução dentro do domı́nio do elemento (subdomı́nio do problema).
Normalmente quando se tem uma determinada quantidade expressa em termos de uma variação,
espacial ou temporal, pode-se determinar uma equação de aproximação. A qualidade desta
aproximação pode ser determinada através de um desvio expresso por:

e(x) = u(x) − uex (x)

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

Para construir uma aproximação exata é necessário escrever a aproximação de u(x) em


função da posição e dos parâmetros de aproximação:

• escrever uma função contendo n parâmetros ai como, por exemplo u(x) = a1 + a2 x +


a3 x2 + · · · + an xn − 1, ou qualquer outra função onde:

u = f (x, a1 , a2 , a3 , · · · an )

• determinar os parâmetros ai da aproximação usando uma determinada regra. Esta regra


pode ser a de mı́nimos quadrados, ou ainda, a mais comum para determinação das funções
de elementos finitos, a função em que o desvio e(x) = 0, nos pontos considerados.

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;

• solução para equações diferenciais parciais ou ordinárias (normalmente associadas a pro-


blemas fı́sicos).

Exemplo Aproximação da quantidade fı́sica: Suponha que deseja-se obter a distribuição de


temperatura numa dada região e sabe-se que esta é uma função contı́nua (sem ressaltos) e são
conhecidos os seus valores em três pontos:

x uex (x)
0,0 20◦ C
0,5 25◦ C
1,0 22◦ C

Pode-se determinar uma expressão para as temperaturas entre os pontos 0 e 1, utilizando a


o desvio nulo (e(x) = 0) nos pontos conhecidos e uma aproximação polinomial quadrática:

uex (x) ≈ u(x) = a1 + a2 x + a3 x2


Tóp. Esp. Fluido-Témica 57

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

Se resolvido o sistema com três equações e três incógnitas obtém-se que:

a1 = 20; a2 = 18; a3 = −16;

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:

u(x = 0, 7) = 20 + 18 × 0, 7 − 16 × (0, 7)2 = 20 + 12.6 − 7, 84 = 24.76

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:

uex (x) ≈ u(x) = a1 sin(π x) + a2 sin(2 π x)


Tóp. Esp. Fluido-Témica 58

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

e para os pontos analisados:

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

Resolvendo o sistema composto por duas equações e duas incógnitas, obtém-se:


5 1 3 1
a1 = √ ; a2 = ;
4 2 π2 32 π 2

que implica numa solução:


5 1 3 1
u(x) = √ 2
sin(π x) + sin(2 π x)
4 2π 32 π 2

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

6.1.2 Aproximação nodal

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

sendo Pi chamada de função básica de interpolação (basis function).

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

série de pontos nodais x1 , x2 , · · · , xn os valores da função são, respectivamente, u1 , u2 , · · · , un .


Pode-se desta forma fazer a aproximação nodal:

u(x) = N1 (x) u1 + N2 (x) u2 + · · · + Nn (x) un

ou ainda numa forma matricial:


 

 u 1 

 
 u2 
 
u(x) = [N1 (x) N2 (x) · · · Nn (x)] = ..  = [N ] · u


 . 
 
un
 

sendo Ni chamada de função de interpolação (interpolation function)

Assim sendo, é possı́vel notar que

(a) como u(xi ) = ui , as funções de interpolação assumem os valores::


(
0 sei 6= j
Nj (ui ) =
1 sei = j

(b) o erro da aproximação nos pontos nodais é nulo.

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

Tomando o exemplo de N1 (x) tem-se:

(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

Figura 6.1: Comportamento da função N1 (x) na região considerada

Assim se x1 = 1, x2 = 2, x3 = 5 e x4 = 7 tem-se que:


1
N1 (x) = − (x − 2) (x − 5) (x − 7)
24
que se substituı́do

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).

Raciocı́nio análogo é usado para as demais funções:

(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

Assim, considerando a interpolação da própria variável espacial, ou seja u1 = 1, u2 = 2,


u3 = 5 e u4 = 7: tem se que a função de interpolação u(x) é dada por:
Tóp. Esp. Fluido-Témica 61

u(x) = N1 (x) u1 + N2 (x) u2 + N3 (x) u3 + N4 (x) u4


1 2
= − (x − 2) (x − 5) (x − 7) + (x − 1) (x − 5) (x − 7) −
24 15
5 7
(x − 1) (x − 2) (x − 7) + (x − 1) (x − 2) (x − 5)
24 60
=x

que resulta com isto na solução exata: u(x) = x.

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:

uex (x, y, z) = uex (~x)

ou ainda  

 u1 
 
 u2 
 
u(~x) = [N1 (~x) N2 (~x) · · · Nn (~x)] = ..  = [N ] · {u}


 . 

 
un
 

6.2 Aproximação por Elementos Finitos

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:

• divisão do domı́nio principal V em sub-domı́nios V e ;

• 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:

– a aproximação nodal dentro do sub-domı́nio depende apenas dos nós do próprio


elemento;
Tóp. Esp. Fluido-Témica 62

– a aproximação elementar ue (x) deve garantir um mı́nimo de continuidade entre dois


elementos assim como nas suas fronteiras.

Algumas definições importantes:

Nós: são os pontos do sub-domı́nio onde a função é avaliada;

Coordenadas nodais: são as coordenadas geométricas dos pontos avaliados.

Variáveis nodais: são valores da função de interesse, u(x), nos nós.

6.2.1 Definição geométrica dos elementos.

Imagine o problema genérico aproximado por elementos compostos pelos nós 1, 2, 3 e 4 e


compreendendo o domı́nio total entre x1 e x4 . Os três elementos lineares seriam responsáveis
pelo seguintes domı́nios:

Elemento 1 V 1 x 1 < x < x2


2
Elemento 2 V x 2 < x < x3
Elemento 3 V 3 x 3 < x < x4

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.

6.2.2 Regras para a discretização de domı́nios através de elementos


finitos

A subdivisão de um domı́nio V em sub-domı́nios V e deve obedecer a algumas regras.

(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

(a) Overlapping (b) Hole

Figura 6.2: Anomalias comuns na discretização de um domı́nio através de malhas.

(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

Figura 6.3: Erro comum na discretização do domı́nio.


Tóp. Esp. Fluido-Témica 64

Figura 6.4: Transformação do domı́nio elementar.

6.3 Elementos de referência

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.

Pode-se expressar a transformação de um sistema de coordenadas em outro através da


expressão:
τ e : ξ =⇒ xe (ξ)

onde o ponto ξ representa um ponto no sistema de coordenadas local e x o ponto no sistema


global.

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).

• cada nó local do sistema de coordenadas corresponde a um nó do sistema generalizado e


vice-versa.

• da mesma forma que os nós cada fronteira do elemento corresponde a uma fronteira global.

Neste sistema de coordenadas pode-se utilizar as próprias coordenadas para verificar as


funções de interpolação. Desta forma:

x(ξ, η) = N1 (ξ, η) · xi + N2 (ξ, η) · xj + N3 (ξ, η) · xk = [N ] · {x}


y(ξ, η) = N1 (ξ, η) · yi + N2 (ξ, η) · yj + N3 (ξ, η) · yk = [N ] · {y}

sendo N as funções de interpolação.

Estes conceitos de transformação de coordenadas podem ser vistos mais detalhadamente


quando se realiza uma transformação para o elemento triangular, originalmente proposta na
figura (6.4), assim:

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.

6.4 Propriedades das funções de aproximação u(x)

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

tem-se que a propriedade é atendida se sobre o ponto nodal considerado j tem-se:


(
0 se i 6= j
Nj (xi ) =
1 se i = j

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.

Função polinomial completa O erro de truncamento é minimizado com a diminuição do


elemento. Por muitas outras razões é necessário diminuir o erro das derivadas e da função
de aproximação. Além do mais, é necessário que para que se resolva um problema ele
possua pelo menos a mesma ordem (s) de derivadas contı́nuas na função de interpolação.
Caso contrário a função seria automaticamente anulada e não se conseguiria os resultados
desejados para o problema.

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.

• se a transformação de coordenadas e as funções de aproximação se utilizam das mesmas


funções de interpolação, o elemento é chamado de isoparamétrico.

• se as funções de interpolação são diferentes podem haver dois tipos de transformação:

pseudo-paramétrico: se as funções são diferentes mas utilizam a mesma base.


Tóp. Esp. Fluido-Témica 67

subparamétrica: quando as funções de interpolação da geometria são de ordem inferior


à da variável de interesse.

• o número de variáveis nodais associados a cada um dos nós de cada elemento é denominado
por grau de liberdade do sistema.

6.5 Construção das funções de interpolação

Escolha da base polinomial: está diretamente associada ao número de pontos nodais do


elemento, sendo que quanto maior o número de pontos, maior a base polinomial. A tabela (6.1)
mostra a base associada ao número de pontos do elemento.

Tabela 6.1: Base polinomial para elementos de até duas dimensões.

Dimensão Grau do Base Polinomial Nós


Polinômio nd
Base completa
1 1 <1 ξ> (linear) 2
2
1 2 <1 ξ ξ > (quadrático) 3
2 1 <1 ξ η> (linear) 3
2 2
2 2 <1 ξ η ξ ξη η > (quadrático) 3
Base incompleta
2 2 <1 ξ ξη η> (quadrático) 3

Para a construção do polinômio é utilizada a propriedade básica da função de interpolação,


ou seja, o fato de que no ponto nodal o valor resultante é igual ao próprio valor da função.
Sabendo que a transformação de sistemas é dada na forma:

u(ξ) =< P (ξ) >< a(x) > (6.2)

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

Relação entre o sistema generalizado e nodal: é dada pela aproximação avaliada no


ponto nodal:
 
< P1 (ξ1 ) P2 (ξ1 ) · · · Pn (ξ1 ) >
 
 < P1 (ξ2 ) P2 (ξ2 ) · · · Pn (ξ2 ) > 
{un } =   {a} = [Pn ]{a}

 ··· ··· 

< P1 (ξn ) P2 (ξn ) · · · Pn (ξn ) >
ou ainda invertendo a matriz dos polinômios:

{a} = [Pn ]−1 {un } (6.3)

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 }

ou ainda as funções de aproximação nodal são dados por:

< N (ξ) >=< P (ξ) > [Pn ]−1 (6.4)

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η >

Exemplo: Construção das funções de interpolação para um elemento quadrilateral de quatro


nós: Serão utilizados agora os preceitos fornecidos para a obtenção das funções de interpolação
de um elemento linear de quatro nós, como mostrado na figura (6.5).

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

Figura 6.5: Elemento bidimensional, linear e isoparamétrico.

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

Inversão de Pn : neste caso a matriz é inversı́vel:


 
1 1 1 1
 
−1 1 T 1 −1 1 1 −1 
[Pn ] = [Pn ] =  
4 4  −1 −1 1
 1 

1 −1 1 −1

Obtenção das expressões de hN i: a partir da multiplicação da base polinomial pela inversa


de [Pn ]
Tóp. Esp. Fluido-Témica 70

 
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

O elemento determinado é isoparamétrico e portanto as mesmas funções utilizadas para a


interpolação de uma quantidade genérica podem ser utilizadas para as variáveis espaciais (x e
y no caso deste elemento bidimensional):
   


 x1 




 y 1 



 x 
 
 y  
2 2
x(ξ, η) = hN i · , y(ξ, η) = hN i ·


 x3 




 y3 


 x 
 
 y  
4 4

6.6 Transformação de operadores diferenciais

As equações que governam os fenômenos fı́sicos envolvem normalmente não somente as


funções u, mas também as suas derivadas. Como já foi destacado, a aproximação no espaço
real é sempre complexa devendo ser dada preferência para se trabalhar no domı́nio elementar.
Isto implica na utilização das funções de aproximação no espaço ξ:

uex ≈ u(ξ) = h< N (ξ)i{un }

sendo possı́vel a obtenção da solução através da transformação de coordenadas. Normalmente a


transformação é complexa, como já foi enfatizado. De qualquer forma, quando é preciso avaliar
uma derivada da referida função, seja qual for a transformação desejada, esta é feita através do
princı́pio da regra da cadeia, que numa forma matricial poderia ser expressa por:
 ∂   ∂x ∂y ∂z   ∂ 
 ∂ξ 
  ∂ξ ∂ξ ∂ξ  ∂x 
 
∂  ∂x ∂y ∂z  ∂
∂η
=  ∂η ∂η ∂η  · ∂y 
=⇒ {∂ξ } = [J] · {∂x }
 ∂ 
 ∂y

 ∂x ∂z  ∂ 
∂ζ ∂ζ ∂ζ ∂ζ ∂z

sendo [J] o Jacobiano da matriz de transformação.


Tóp. Esp. Fluido-Témica 71

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 ∂ζ

e que nos permite afirmar que [j] = [J]−1 .

Com isto é possı́vel obter qualquer matriz de transformação, desde que esta seja biunı́voca
e, portanto, gere matrizes inversı́veis.

Alguns Jacobianos e seus inversos

• 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 
 

J3,1 J3,2 J3,3


 
J2,2 J3,3 − J2,3 J3,2 −J1,2 J3,3 + J1,3 J3,2 J1,2 J2,3 − J1,3 J2,2
1 
[j] = [J]−1 =  −J2,1 J3,3 + J2,3 J3,1 J1,1 J3,3 − J1,3 J3,1 −J1,1 J2,3 + J1,3 J2,1 

det[J]
J2,1 J3,2 − J2,2 J3,1 −J1,1 J3,2 + J1,2 J3,1 J1,1 J2,2 − J1,2 J2,1
det[J] = J1,1 (J2,2 J3,3 − J2,3 J3,2 ) + J1,2 (J3,1 J2,3 − J2,1 J3,3 ) + J1,3 (J2,1 J3,2 + −J3,1 J2,2 )

6.6.1 Montagem do Jacobiano

Considerando a matriz de transformação de variáveis entre um espaço real x e um espaço


elementar ξ tem-se que a aproximação nodal se apresenta na forma:

{ x y z } = hN i[ {x}n {yn } {zn } ]


Tóp. Esp. Fluido-Témica 72

E o Jacobiano pode ser montado a partir das próprias derivadas da função:


 ∂   ∂hN i 
 ∂ξ  n
  o ∂ξ h i
∂  ∂hN i 
[J] = ∂η
x y z =  ∂η  {x n } {y n } {zn }
∂hN i
 ∂ 
 
∂ζ ∂ζ

Exemplo: Jacobiano para o elemento de quatro nós:


 
x1 y1
" #  
1 −(1 − η) (1 − η) (1 + η) −(1 + η)  x2 y2 
[J] = × 
4 −(1 − ξ) −(1 + ξ) (1 + ξ) (1 − ξ)  x y 
 3 3 
x4 y4
que após realizada a multiplicação resulta em:
 
−x1 + x2 + x3 − x4 + η (x1 − x2 + x3 − x4 ) −y1 + y2 + y3 − y4 + η (y1 − y2 + y3 − y4 )
1
[J] = 

4

−x1 − x2 + x3 + x4 + ξ (x1 − x2 + x3 − x4 ) −y1 − y2 + y3 + y4 + ξ (y1 − y2 + y3 − y4 )
sendo que o determinante da matriz pode ser calculado através da expressão:

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

6.6.2 Transformação de uma integral

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

d~x = J1,1 · dξ~ + J2,1 · d~η + J3,1 · dζ~


d~y = J1,2 · dξ~ + J2,2 · d~η + J3,2 · dζ~
d~z = J1,3 · dξ~ + J2,3 · d~η + J3,3 · dζ~
Tóp. Esp. Fluido-Témica 73

que implica que esta mesma função dV pode ser representada na forma:

dV = det[J] · dξ · dη · dζ

6.7 Coordenadas nodais e conectividade

Com os nós numerados de forma seqüencial de 1 até n e expresso num sistema de


coordenadas global (generalizado), pode-se montar um descrição com todos os pontos em uma
tabela. No caso bidimensional devem constar na tabela o número do nó e sua respectiva
coordenada x e y.

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.

Um exemplo da montagem da tabela de coordenadas dos nós e de conectividade, pode ser


visto no exemplo que se segue.

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.

O total de chuva Q pode ser definido como sendo:


Z
Q= u(x, y) · dA
A

sendo que u(x, y) representa o nı́vel de precipitação.


Tóp. Esp. Fluido-Témica 74

Figura 6.6: Discretização do problema em elementos

Com estes dados determine o valor total da precipitação sobre a região considerada e o
ı́ndice médio de precipitação (umed ).

Tabela 6.2: Nı́vel de precipitação em diversos pontos selecionados

No x[km] y[km] un [cm]


1 0 33, 3 4, 62
2 13, 2 62, 3 3, 81
3 39, 3 84, 5 4, 76
4 22, 2 30, 1 5, 45
5 49, 9 57, 6 4, 90
6 78, 8 78, 2 10, 35
7 39, 3 10, 0 4, 96
8 59, 7 34, 3 4, 26
9 73, 9 36, 2 18, 36
10 69, 8 5, 1 15, 69

Solução: A primeira etapa consiste na montagem da tabela de conectividade para represen-


tar como os pontos estão interconectados. Esta tabela está representada na tabela (6.3).

Aproximação nodal:
Tóp. Esp. Fluido-Témica 75

Tabela 6.3: Tabela de Conectividade

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

que depois de integrada:


 


 u 1 


D E
 u  
2
Q= − 31 A1 + A0 − 13 A2 1
A
3 1
+ A0 − 31 A2 1
A
3 1
+ A0 + 13 A2 1 1
− 3 A1 + A0 + 3 A2
 u3 
 

 
 u  
4
Tóp. Esp. Fluido-Témica 76

que na forma polinomial pode ser escrita como:


   
1 1 1 1
Q = − A1 + A0 − A2 u 1 + A1 + A0 − A2 u 2 +
3 3 3 3
   
1 1 1 1
A1 + A0 + A2 u 3 + − A1 + A0 + A2 u 4
3 3 3 3

e depois de reagrupada resulta em:


A1 A2
Q = A0 (u2 + u1 + u4 + u3 ) + (−u1 − u4 + u3 + u2 ) + (u3 − u2 − u1 + u4 )
3 3
ou ainda representado na forma:
A1 A2
Q = A0 U1 + U2 + U3
3 3
sendo:

U1 = u2 + u1 + u4 + u3
U2 = −u1 − u4 + u3 + u2
U3 = u3 − u2 − u1 + u4

Para o primeiro elemento tem-se que:

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

Utilizando das definições anteriormente obtidas para elementos de quatro nós:


1
A0 = [(y4 − y2 )(x3 − x1 ) − (y3 − y1 )(x4 − x2 )] ⇒ A0 = 228, 19
8
1
A1 = [(y4 − y3 ) (x1 − x2 ) − (y2 − y1 )(x3 − x4 )] ⇒ A1 = 1, 638
8
1
A2 = [(y1 − y4 )(x2 − x3 ) − (y2 − y3 )(x1 − x4 )] ⇒ A2 = 55, 04
8

Conseqüentemente a vazão para o elemento 1 pode ser representada por:


A1 A2
Q1 = A0 (u2 + u1 + u4 + u3 ) + (−u1 − u4 + u3 + u2 ) + (u3 − u2 − u1 + u4 ) ⇒
3 3
Q1 = 4261, 5 cm km2
Tóp. Esp. Fluido-Témica 77

Quanto ao cálculo da área, tem-se que:


Z Z
A= dx · dy = det [J] · dξ · dη
A A
Z 1Z 1 Z 1
A= (A0 + A1 ξ + A2 η) dξ · dη = (2 · A0 + 2 · A2 η)dη
−1 −1 −1

A = 4 · A0

que implica em que:


A1 = 4 · A0 = 4 · 228, 19 = 912, 76 km2

Tabela 6.4: Resumo dos resultados do exemplo.

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

6.8 O método dos resı́duos ponderados

Considere a resolução de um sistema fı́sico qualquer, do qual se conhece a equação


diferencial. Trata-se de uma equação em termos de derivadas parciais ou totais, linear ou não
linear e de ordem m e pode ser expressa na forma:

L(u) + fv = 0 em todo o domı́nio V.

e sujeita às condições de contorno:

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

O método dos resı́duos ponderados é normalmente expresso em sua forma integral:


Z Z
W (u) = hψi{R(u)}dV = hψi{L(u) + fv }dV (6.5)
V V

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).

6.8.1 Transformação integral: a integral por partes

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

• Bidimensional (vide figura 6.7)

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;

(b) algumas das condições de contorno aparecem diretamente na expressão geral;

(c) reduz a ordem necessária para a função de interpolação entre os nós;

(d) aumenta a ordem necessária para a função peso da solução.

6.8.2 Método de Galerkin

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

Figura 6.7: Composição vetorial para integral sobre a superfı́cie


Tóp. Esp. Fluido-Témica 80

método de Galerkin, se utiliza da mesma função usada na interpolação da variável principal


(u) para a função de interpolação (ψ), ou seja:

ψ = hN i

6.9 Tratamento das condições de contorno

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:

Condição de contorno da primeira espécie onde o valor da variável u é especificado na


fronteira. Isto é possı́vel de se obter substituindo os valores constantes na eq. (6.10) por:
αc → −∞ e βc → ∞×ue sendo ue o valor especificado para a variável u na fronteira. Este
esquema pode ser facilmente explicado indicando uma tendência de para qualquer valor
resultante da derivada (∂u/∂~n),o valor de u estará muito próximo do valor especificado
ue .
Uma outra possibilidade para este tipo de condição de contorno, e até mesmo mais comum
no tratamento de condições deste tipo é a substituição da linha da matriz equivalente ao
nó pela respectiva igualdade, ou sejam, ui = ue onde i é o número do nó considerado.

Condição de contorno de segunda espécie onde o valor conhecido é a taxa de variação,


ou fluxo, da variável considerada. Neste caso substitui-se os valores da eq. (6.10) por:
αc = 0 e βc = u0e onde u0e é o valor da derivada na fronteira considerada, não se esquecendo
de considerar o sinal da derivada, que deve estar de acordo com o sentido de ~n.

Condição de contorno de terceira espécie é uma condição tı́pica de transmissão de calor


com a condição de convecção e deve expressar a igualdade (caso em que se trata de uma
fronteira final de x):

∂T ∂T h h T∞
−k = h(T − T∞ ) =⇒ =− T+
∂x ∂x k k
Tóp. Esp. Fluido-Témica 81

Figura 6.8: Tipos de fronteira para a discretização da C.C. de terceira espécie.

e se igualarmos esta expressão à eq. (6.10) obtém-se que:


h h T∞
αc = − e βc =
k k

É 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.

6.9.1 Implementação da condição de contorno generalizada

Vejam o caso de implementação desta condição de contorno num elemento quadrilateral


simples, figura (6.5), e cuja função de interpolação já foi obtida sendo:
1D E
hN i = (1 − ξ)(1 − η) (1 + ξ)(1 − η) (1 + ξ)(1 + η) (1 − ξ)(1 + η)
4

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

Para a face superior do elemento quadrado (η = 1) unindo os nós 3 e 4, a derivada normal


passa a ser ∂u/∂η e a integral sobre a superfı́cie passa a ser:

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

Considerando o comprimento total ` sendo representado por ξ variando entre -1 e 1 (2


unidades), tem-se:

     

 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

6.10 Integração Numérica

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

Esquema Num. pontos Posições Peso

√ √
4 ±1/ 3, ±1/ 3 1

1/6, 1/6
2/3, 1/6
3 1/6, 2/3 1/6

Figura 6.9: Pontos de integração para elementos triangulares e quadrangulares.

e o método de Gauss-Radau para elementos triangulares. Existem uma série de pontos de


integração escolhidos com funções peso também determinadas. Dentre estas possibilidades
estão mostradas na figura (6.9) as mais utilizadas que são as de 4 pontos para elementos
quadrangulares e 3 pontos para elementos triangulares.

6.11 Exemplos de Aplicação

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

Se trata de um problema de condução simples em um meio isotrópico e a equação geral que


rege o problema é dada por:
∂2T ∂2T
+ =0
∂x2 ∂y 2

Considerando a sua forma de resı́duos ponderados, tem-se que:


Z  2
∂2T

∂ T
Ψ + dVe = 0
e ∂x2 ∂y 2
e reduzida à sua forma fraca resulta em:
Z   I  
∂Ψ ∂T ∂Ψ ∂T ∂T
− + dVe + Ψ dSe = 0
e ∂x ∂x ∂y ∂y e ∂n

Usando a aproximação nodal e multiplicando a expressão por (-1):


Z   I  
∂Ψ ∂ ∂Ψ ∂ ∂T
hN i + hN i dVe · {T } − Ψ dSe = 0
e ∂x ∂x ∂y ∂y e ∂n
e depois, aplicando Galerkin:
Z   I  
∂ ∂ ∂ ∂ ∂T
{N } hN i + {N } hN i dVe · {T } − {N } dSe = 0
e ∂x ∂x ∂y ∂y e ∂n
que é a expressão geral para o problema e que pode ser representada, em termos matriciais, na
forma: " # !
Z ∂ I  
∂ ∂ ∂x ∂T
{N } [ ∂x ∂y
] · ∂
hN i dVe · {T } − {N } dSe = 0
e ∂y e ∂n

Pelas propriedades matriz transposta, sabe-se que:


" #
∂ h i
∂x

hN i = [B] =⇒ [B]T = {N } ∂
∂x

∂y
∂y
Tóp. Esp. Fluido-Témica 86

e portanto a representação matricial pode ser feita através da expressão:


Z I  
T ∂T
[B] · [B] dVe · {T } + {N } dSe = 0
e e ∂n

Sendo que para os elementos internos a integral de superfı́cie é desprezada resultando


em: Z
[B]T · [B] dVe · {T } = 0
e
que em termos de variáveis locais se reduz a:
Z 1Z 1
[B]T · [B] det[J] · dξ · dη · {T } = 0
−1 −1

onde a matriz [B] é escrita como:


"
∂N # " #  D ∂N E 
∂ξ ∂η
∂x
[B] = D ∂N E = ∂x ∂x  D ∂ξ E  = [J]−1 · [Bξ ] = [Q] · [Bξ ]
∂ξ ∂η ∂N
∂y ∂y ∂y ∂η

Reescrevendo a expressão acima em termos de variáveis locais tem-se:


Z 1Z 1 Z 1Z 1
T
([Q] [Bξ ]) [Q] [Bξ ] det[J]·dξdη·{T } = 0 ⇒ [Bξ ]T [Q]T [Q] [Bξ ] det[J]·dξdη·{T } = 0
−1 −1 −1 −1

Para elementos quadriláteros as funções de aproximação são dadas por:

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:

1. Integração Numérica: é feita sobre a equação anteriormente obtida, no domı́nio elementar


transformando-se a integral em uma soma, avaliada nos pontos determinados e com a
função peso adequada:

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

sendo que neste caso foram escolhidos quatro pontos de integração:


√ √
• Ponto 1: ωi = 1, ωj = 1, ξ = 1/ 3, η = 1/ 3

"
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:

[Vi ] = ωi ωj [Bξ ]T [Q]T [Q] [Bξ ] det[J]

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

E se feita a somatória resulta na matriz elementar:


 
2 1 1 1
− − −
4  13 6
2
3
1
6
1 

X  −6 3
− 6
− 3
[Vi ] = 
 −1 −1 2

1 
i=1  3 6 3
− 6 
1 1 1 2
−6 −3 −6 3
Tóp. Esp. Fluido-Témica 90

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

que depois de incluı́dos todos os elementos resulta em:


 
2
−1 0 − 16 − 13 0 0 0 0 0 0 0 0 0 0
 31 46 1

 −
 6 3 −6 − 31 − 13 − 13 0 0 0 0 0 0 0 0 0  
 0 − 16 23 0 − 13 − 16 0 0 0 0 0 0 0 0 0 
 
 1 
 − −1 0 4
− 31 0 − 16 − 13 0 0 0 0 0 0 0 
 6 3 3 
 1
 − 3 − 13 − 13 − 31 8
− 13 − 13 − 13 − 13 0 0 0 0 0 0 

 3 
 0 −1 −1 0 − 13 4
0 − 13 − 16 0 0 0 0 0 0 
 3 6 3 
 0 0 0 − 16 − 13 0 4
− 13 0 − 61 − 13 0 0 0 0 
 
 3 
[A] = 
 0 0 0 − 13 − 13 − 13 − 13 8
3
− 13 − 13 − 13 − 13 0 0 0  
 0 0 0 0 − 31 − 16 0 − 31 4
0 − 31 − 16 0 0 0 
 
 3 
 0
 0 0 0 0 0 − 61 − 13 0 4
3
− 31 0 − 16 − 13 0  
 0 0 0 0 0 0 − 13 − 13 − 13 − 13 8
− 13 − 31 − 13 − 31 
 
 3 
 0
 0 0 0 0 0 0 − 13 − 16 0 − 13 4
3
0 − 13 − 61 

− 16 − 13 2
− 16

 0 0 0 0 0 0 0 0 0 0 0 

 3 
 0
 0 0 0 0 0 0 0 0 − 31 − 13 − 13 − 61 4
3
− 61 

0 0 0 0 0 0 0 0 0 0 − 13 − 16 0 − 61 2
3

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

Implementando numa matriz terı́amos:


Tóp. Esp. Fluido-Témica 92

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

Tabela 6.5: Soluções diversas obtidas para o exemplo considerado.

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:

T1 → 341.57, T2 → 340.933, T3 → 331.023, T4 → 499.999, T5 → 417.765, T6 → 405.08, T7 → 500,


T8 → 468.708, T9 → 454.805, T10 → 500, T11 → 488.392, T12 → 483.626, T13 → 500, T14 → 500, T15 → 500

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

Método de Diferenças Finitas

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.

A solução de qualquer problema em diferenças finitas se baseia no princı́pio da série de


Taylor em que um ponto qualquer pode ser expresso em função dos seu pontos próximos, ou
seja:
df (x) d2 f (x) (∆x)2 d3 f (x) (∆x)3
f (x + ∆x) = f (x) + ∆x + + + ···
dx dx2 2! dx3 3!
que é na realidade uma série infinita.

Para exemplificar esta aproximação imaginemos que a aproximação de pontos Ti e Ti+1 a


partir de ponto Ti . Imaginando que eles são igualmente espaçados e a distância entre os pontos
é ∆x. Neste caso:
∂ 2 T (∆x)2 ∂ 3 T (∆x)3

∂T
Ti+1 = Ti + ∆x + + + O(∆x)4 (7.1)
∂x i ∂x2 i 2! ∂x3 i 3!
e o outro ponto, considerado na direção negativa de x, pode ser expresso por:
∂ 2 T (∆x)2 ∂ 3 T (∆x)3

∂T
Ti−1 = Ti − ∆x + − + O(∆x)4 (7.2)
∂x i ∂x2 i 2! ∂x3 i 3!

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

Rearranjando a expressão de forma a isolar o valor da primeira derivada obtém-se:


Ti+1 (∆x2 )2 − Ti−1 (∆x1 )2 + Ti (∆x21 − ∆x22 )

∂T
=
∂x i ∆x1 ∆x2 (∆x2 + ∆x1 )

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

E desta forma a expressão final para a segunda derivada fica:


∂ 2 T

Ti+1 ∆x2 − Ti (∆x1 + ∆x2 ) + Ti−1 ∆x1
2
=2
∂x
i ∆x1 ∆x2 (∆x2 + ∆x1 )
Tóp. Esp. Fluido-Témica 97

Repare que estas duas expressões obtidas se reduzem às expressões (7.5) e (7.6) respectiva-
mente quando ∆x1 = ∆x2 = ∆x.

7.1 Aplicação da formulação de diferenças finitas em sis-


temas de equações diferenciais

A utilização da metodologia de diferenças finitas em equações diferenciais em um dados


problema é bastante simples, consistindo basicamente das seguintes etapas:

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.

4. Discretização e aplicação das condições de contorno nos pontos da fronteira do domı́nio


e, com isto, obter equações discretizadas neste ponto.

5. Solução do sistema de equações obtido.

Exemplo: Obtenha a equação geral discretizada para a equação de condução bidimensional:

∂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:

∂2T Ti+1,j − 2 Ti,j + Ti−1,j


=
∂x2 (∆x)2
∂2T Ti,j+1 − 2 Ti,j + Ti,j−1
=
∂y 2 (∆y)2
Tóp. Esp. Fluido-Témica 98

Desta forma a equação geral fica:


Ti+1,j − 2 Ti,j + Ti−1,j Ti,j+1 − 2 Ti,j + Ti,j−1
+ =0
(∆x)2 (∆y)2
ou rearranjada na forma de mostrar os coeficientes de cada termo:
 
2 2 1 1 1 1
+ Ti,j = Ti+1,j + Ti−1,j + Ti,j+1 + Ti,j−1
(∆x)2 (∆y)2 (∆x)2 (∆x)2 (∆y)2 (∆y)2

Por curiosidade repare que se ∆x = ∆y, a expressão anterior fica:


Ti+1,j + Ti−1,j + Ti,j+1 + Ti,j−1
Ti,j =
4

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

Considerando os valores de incremento de raio constante ∆r iguais ao usados no Runge


Kutta de 0,01 m e que o r0 = 0, 06 m e os valores são idênticos ao do exercı́cio anterior:
   
50 50
10000 + Ti+1 − 20093, 02Ti + 10000 − Ti−1 = −2325, 6 (7.7)
ri ri

Têm-se também que as condições de contorno são conhecidas:

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

Discretizando a condição de contorno do fluxo de calor especificado pela discretização


avançada da primeira derivada tem-se que:

dT T2 − T1
= = −296, 10 =⇒ T2 − T1 = −2, 96 =⇒ T2 = 47, 04
dr r=6
∆r
Tóp. Esp. Fluido-Témica 99

Tabela 7.1: Resultados para o problema da aleta finita com fluxo de calor na base conhecido

r T Texata dT /dr2 dT /drexata


0.06 50.00 50.00 -296.10 -296.10
0.07 47.04 47.37 -237.49 -233.42
0.08 44.66 45.28 -192.33 -185.70
0.09 42.74 43.62 -156.45 -148.02
0.10 41.18 42.30 -127.22 -117.38
0.11 39.90 41.26 -102.90 -91.84
0.12 38.88 40.45 -82.27 -70.07
0.13 38.05 39.85 -64.49 -51.15
0.14 37.41 39.42 -48.90 -34.39
0.15 36.92 39.15 -35.01 -19.26
0.16 36.57 39.03 -22.46 -5.37

Utilizando agora a equação (7.7) para o ponto 2 (r = 0, 07) tem-se:


   
50 50
10000 + T3 − 20093, 02 47, 04 + 10000 − 50 = −2325, 6
0, 07 0, 07

que implica em:

10714.3 T3 = 945175, 7 − 464285, 7 − 2325, 6 =⇒ T3 = 44, 66

Aplicando-se esta temperatura na equação do ponto 3 é possı́vel calcular a temperatura do


ponto 4 e assim sucessivamente. A tabela (7.1) mostra os resultados para este caso.

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.

Desta forma a nova equação de contorno fica:



dT T101 − T100
= = 0 =⇒ T101 − T100 = 0
dr r=1.06
∆r

Utilizando-se a equação (7.7) o sistema de equações fica sendo:

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

∆r 0,01 0,005 0.001 0.0001 Exato


T (r = 0.15) 36,92 38,03 38,93 39,13 39,15
x∗i 0.19 0.175 0.1660 0.1640 0.16408

Posição nodal onde o sinal da derivada se inverte.
Tóp. Esp. Fluido-Témica 101

Tabela 7.3: Resultados para o problema da aleta infinita


r A B C D P Q T dT /dx −kAdT /dx
0.06 1.00 50.00 -0.00000 50.000 50.00 -367.51 175.96
0.07 -20093 10714.29 9285.71 -2325.50 0.53323 23.223 46.32 -300.00 167.57
0.08 -20093 10625.00 9375.00 -2325.50 0.70392 14.578 43.32 -248.66 158.74
0.09 -20093 10555.56 9444.44 -2325.50 0.78510 10.413 40.84 -208.53 149.76
0.10 -20093 10500.00 9500.00 -2325.50 0.83105 8.014 38.75 -176.48 140.83
0.11 -20093 10454.55 9545.45 -2325.50 0.85973 6.482 36.99 -150.47 132.08
0.12 -20093 10416.67 9583.33 -2325.50 0.87875 5.436 35.48 -129.07 123.59
0.13 -20093 10384.62 9615.38 -2325.50 0.89188 4.689 34.19 -111.28 115.43
0.14 -20093 10357.14 9642.86 -2325.50 0.90119 4.137 33.08 -96.35 107.63
0.15 -20093 10333.33 9666.67 -2325.50 0.90791 3.718 32.12 -83.72 100.21
0.16 -20093 10312.50 9687.50 -2325.50 0.91280 3.394 31.28 -72.99 93.18
0.17 -20093 10294.12 9705.88 -2325.50 0.91638 3.139 30.55 -63.80 86.55
0.18 -20093 10277.78 9722.22 -2325.50 0.91899 2.937 29.91 -55.91 80.30
0.19 -20093 10263.16 9736.84 -2325.50 0.92088 2.775 29.35 -49.09 74.43
0.20 -20093 10250.00 9750.00 -2325.50 0.92222 2.643 28.86 -43.20 68.94
0.21 -20093 10238.10 9761.90 -2325.50 0.92315 2.536 28.43 -38.07 63.80
0.22 -20093 10227.27 9772.73 -2325.50 0.92376 2.449 28.05 -33.61 58.99
0.23 -20093 10217.39 9782.61 -2325.50 0.92413 2.377 27.71 -29.71 54.52
0.24 -20093 10208.33 9791.67 -2325.50 0.92431 2.318 27.42 -26.29 50.35
0.25 -20093 10200.00 9800.00 -2325.50 0.92435 2.269 27.15 -23.30 46.48
.. .. .. .. .. .. .. .. .. ..
. . . . . . . . . .
0.97 -20093 10051.55 9948.45 -2325.50 0.91290 2.178 25.00 -0.01 0.06
0.98 -20093 10051.02 9948.98 -2325.50 0.91285 2.179 25.00 -0.01 0.06
0.99 -20093 10050.51 9949.49 -2325.50 0.91280 2.180 25.00 -0.01 0.05
1.00 -20093 10050.00 9950.00 -2325.50 0.91275 2.181 25.00 -0.00 0.04
1.01 -20093 10049.50 9950.50 -2325.50 0.91271 2.182 25.00 -0.00 0.03
1.02 -20093 10049.02 9950.98 -2325.50 0.91266 2.184 25.00 -0.00 0.02
1.03 -20093 10048.54 9951.46 -2325.50 0.91261 2.185 25.00 -0.00 0.02
1.04 -20093 10048.08 9951.92 -2325.50 0.91257 2.186 25.00 -0.00 0.01
1.05 -20093 10047.62 9952.38 -2325.50 0.91253 2.187 25.00 0.00 -0.00
1.06 -1 0.00 1.00 0 0.00000 25.001 25.00

contra q = 165, 31 W, no caso da aproximação de 4a ordem e 165,86 W da solução exata. A


única forma de contornar esta diferença na precisão é utilizando malhas mais refinadas.
CAPÍTULO 8

Aplicação do Método de Diferenças Finitas em


Problemas Bidimensionais e Transientes

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.

8.1 Solução de problemas bidimensionais

A solução de problemas tridimensionais não envolve grandes dificuldades em termos de


formulação, o seu único inconveniente é o fato de que o sistema de equações obtidos não é
Tridiagonal e portanto não pode ser resolvido por TDMA. Desta forma a única possibilidade
de solução para o sistema é o método de Gauss Seidel, dentre os vistos até agora.

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.

A metodologia é simples e consiste em tratar uma das direções implicitamente, enquanto a


outra é tratada de forma explı́cita. É mostrado a seguir um exemplo desta forma de solução.

Exemplo: Resolva o problema o problema de condução em uma placa plana de alumı́nio


onde os seus lados estão submetidos a temperaturas especificadas de 100, 200, 100, 200◦ C,
rotacionalmente. Considere a placa quadrada com lados de 2 m. Utilizando a discretização
mostrada na figura abaixo obtenha o valor das temperaturas nos pontos.

Dados: kalumı́nio = 215 W/m◦ C.

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

Solução: A equação de condução bidimensional já foi discretizada em exemplo anterior


(página 97), e neste caso onde a malha é uniforme foi mostrado que a expressão para a tempe-
ratura genérica i, j é dada por:
Ti+1,j + Ti−1,j + Ti,j+1 + Ti,j−1
Ti,j =
4
ou na forma matricial:
Ti+1,j Ti,j+1 Ti−1,j Ti,j−1
+ − Ti,j + =0
4 4 4 4

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

É importante ressaltar que a presença de condições de simetria no interior da placa é equi-


valente à existência de uma linha ou coluna idêntica à do lado oposto. No caso, por exemplo,
da linha de simetria inferior é equivalente à existência de uma linha idêntica à linha 2 do lado
inferior à linha 1. Fato similar ocorre na superfı́cie direita onde é equivalente a existir do
lado esquerdo da coluna 1 uma coluna idêntica à 2. Quando nos utilizamos desta condição de
simetria a expressão geral do problema passa a valer também para estes pontos no contorno.

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.

No caso deste problema o sistema de equações fica:

2 T2,1 + 2 T1,2 − 4 T1,1 = 0


T1,3 + 2 T2,2 − 4 T1,2 + T1,1 = 0
T1,4 + 2 T2,3 − 4 T1,3 + T1,2 = 0
T1,4 = 100
2 T2,2 + T3,1 − 4 T2,1 + T1,1 = 0
T2,3 + T3,2 − 4 T2,2 + T2,1 + T1,2 = 0
T2,4 + T3,3 − 4 T2,3 + T2,2 + T1,3 = 0
T2,4 = 100
2 T3,2 + T4,1 − 4 T3,1 + T2,1 = 0
T3,3 + T4,2 − 4 T3,2 + T3,1 + T2,2 = 0
T3,4 + T4,3 − 4 T3,3 + T3,2 + T2,3 = 0
T3,4 = 100
T4,1 = 200
T4,2 = 200
T4,3 = 200
T4,4 = 200

Adotando a direção x como a primeira a ser resolvida implicitamente, o primeiro sistema


Tóp. Esp. Fluido-Témica 105

tridiagonal a ser resolvido fica:

2 T1,2 − 4 T1,1 = −300


T1,3 − 4 T1,2 + T1,1 = −300
T1,4 − 4 T1,3 + T1,2 = −300
T1,4 = 100
2 T2,2 − 4 T2,1 = −300
T2,3 − 4 T2,2 + T2,1 = −300
T2,4 − 4 T2,3 + T2,2 = −300
T2,4 = 100
2 T3,2 − 4 T3,1 = −350
T3,3 − 4 T3,2 + T3,1 = −350
T3,4 − 4 T3,3 + T3,2 = −350
T3,4 = 100
T4,1 = 200
T4,2 = 200
T4,3 = 200
T4,4 = 200

Resolvendo por TDMA obtém-se a seguinte solução para o campo de temperaturas:

T1,1 T1,2 T1,3 T1,4 T2,1 T2,2 T2,3 T2,4


148,07 146,15 136,53 100 148,07 146,15 136,53 100
T3,1 T3,2 T3,3 T3,4 T4,1 T4,2 T4,3 T4,4
172,12 169,23 154,81 100 200 200 200 200

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

2 T2,2 − 4 T1,2 = −284, 6


T3,2 − 4 T2,2 + T1,2 = −284, 6
T4,2 − 4 T3,2 + T2,2 = −326, 9
T4,2 = 200
2 T2,3 − 4 T1,3 = −246, 2
T3,3 − 4 T2,3 + T1,3 = −246, 2
T4,3 − 4 T3,3 + T2,3 = −269, 2
T4,3 = 200
T1,4 = 100
T2,4 = 100
T3,4 = 100
T4,4 = 200

Resolvendo por TDMA obtém-se a seguinte solução para o campo de temperaturas:

T1,1 T2,1 T3,1 T4,1 T1,2 T2,2 T3,2 T4,2


150 143,84 173,07 200 146,15 150 169,23 200
T1,3 T2,3 T3,3 T4,3 T1,4 T2,4 T3,4 T4,4
126,92 130,76 150 200 100 100 100 200

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.

8.2 Solução de problemas transientes

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.

8.2.1 Formulação Explı́cita

A formulação explı́cita é aquela que mais se aproveita do caráter parabólico da solução


transiente, como já foi discutido em capı́tulos anteriores. Ela se utiliza de uma solução num
instante anterior já conhecida para calcular a solução posterior desejada. Utilizando-se deste
procedimento ela não depende da inversão de matrizes tornando-se extremamente fácil e rápida
para ser aplicada, pois o a obtenção dos resultados depende única e exclusivamente das tempe-
raturas calculadas para o instante anterior.

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

a ser satisfeita é:


∆t 1
≤ α
∆x2 2
onde ∆t é o incremento de tempo, ∆x o menor valor de espaçamento da malha e α a difusividade
térmica.

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.

Solução: A equação diferencial para o problema transiente de condução unidimensional é:

∂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 da formulação explı́cita o único termo desconhecido é o do instante m + 1 e desta


forma:  
α ∆t α ∆t m α ∆t m
Tim+1 = 1−2 Tim + Ti+1 + T
∆x2 ∆x 2 ∆x2 i−1

Adotando um espaçamento de malha regular e igual a 0,2 cm obtém-se 5 pontos no domı́nio


como mostra a figura (8.1), e neste caso o valor máximo para o incremento de tempo é:
∆t ∆t ∆t 1
α 2
= 1 × 10−5 −3 2
= ≤ =⇒ ∆t ≤ 0, 2
∆x (2 × 10 ) 0, 4 2

Adotando o valor máximo possı́vel para o ∆t = 0, 2 s a equação geral fica sendo:


1 m 1 m
Tim+1 = Ti+1 + Ti−1
2 2

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

Figura 8.1: Malha na placa considerando a simetria.

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

que pode ser divida por A e discretizada na forma:


T5m+1 − T4m+1
 
h m+1 h ∆x h ∆x
= (T∞ − T5 ) → 1 + T5m+1 = T4m+1 + T∞
∆x k k k
ou substituindo os valores (h = 1 × 104 W/m2◦ C, ∆x = 2 × 10−3 m e k = 40 W/m◦ C):

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:

T11 = T21 = 600


T41 + 0, 5 T∞ 600 + 0, 5 15
T51 = = = 405
1, 5 1, 5

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

Tabela 8.2: Transiente numa placa plana.

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

Malha Tempo para Temperatura a 0,2 cm


(∆t × ∆x) o centro atingir 100◦ C da superfı́cie da placa
0, 2 × 0, 2 8,8 s 77,65 ◦ C
0, 05 × 0, 2 8,85 s 76,98◦ C
0, 05 × 0, 1 10,2 s 75,10◦ C
0, 0125 × 0, 05 10,86 s 74,53◦ C

8.2.2 Formulação Totalmente Implı́cita

Ao contrário da formulação explı́cita, este tipo se utiliza das temperaturas no próprio


instante de tempo a ser calculado para avaliar as derivadas. Desta forma o grau de complexidade
do problema aumenta consideravelmente, uma vez que a solução do campo de temperaturas só
pode ser obtida através da solução de um sistema linear de equações.

Este aumento na complexidade da solução do problema, no entanto, apresenta em con-


traponto uma vantagem, o esquema torna-se totalmente estável. Desta forma o incremento
de tempo utilizado se torna independente da malha, permitindo uma melhor otimização dos
parâmetros de solução.

8.2.3 Formulação Implı́cita

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)

temos que através desta expressão genérica que se:

θ = 0 o esquema recai na formulação explı́cita;

θ = 1 o esquema recai na formulação totalmente implı́cita;

0 < θ < 1 o esquema recai na formulação implı́cita.

É ó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

Figura 8.2: Interrelação entre os pontos em cada esquema de discretização de transientes.

Existem diversos valores de θ utilizados comumente na solução de problemas transientes


e, de acordo com a escolha do valor de θ o esquema recebe um nome diferente. De todos
estes esquemas o mais difundido e também, que apresenta melhores resultados, é o de Crank-
Nicholson, obtido quando se toma θ = 1/2. Este esquema é muito utilizado pois funciona como
um tipo de aproximação de segunda ordem em relação ao tempo, e é altamente recomendado
quando se está estudando problemas transientes onde se deseja acompanhar o tempo de evolução
de um dado fenômeno.

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

Solução: Este problema é idêntico ao resolvido anteriormente utilizando-se da formulação


explı́cita, no entanto agora nos utilizaremos da discretização genérica, equação (8.1):

∂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

Adotando a formulação de Crank-Nicholson, temos que θ = 1/2:


m+1/2 m+1/2 m+1/2
Tim+1 − Tim T − 2Ti + Ti−1
= α i+1
∆t ∆x2
e as temperaturas podem ser admitidas como:
1 m 1 m+1
T m+1/2 = T + T
2 2

Substituindo os valores na expressão e reagrupando os termos de forma a deixar os no tempo


m + 1 no primeiro termo da equação:
 
α ∆t α ∆t m+1 α ∆t m+1
1+ Tim+1 − − Ti+1 − T =
∆x 2 2 ∆x 2 2 ∆x2 i−1
 
α ∆t α ∆t m α ∆t m
1− Tim + Ti+1 + T
∆x 2 2 ∆x 2 2 ∆x2 i−1

Adotando um espaçamento de malha regular e igual a 0,2 cm obtém-se 5 pontos no domı́nio


e um incremento de tempo de 0,2 s a equação geral fica sendo:

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

que se substituirmos na equação geral para o problema:

1, 5 T1m+1 − 0, 5 T2m+1 = 0, 5 T1m + 0, 5 T2m


Tóp. Esp. Fluido-Témica 114

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

que pode ser divida por A e discretizada na forma:

T5m+1 − T4m+1
 
h m+1 h ∆x h ∆x
= (T∞ − T5 ) → 1 + T5m+1 = T4m+1 + T∞
∆x k k k

ou substituindo os valores (h = 1 × 104 W/m2◦ C, ∆x = 2 × 10−3 m e k = 40 W/m◦ C):

1, 5 T5m+1 − T4m+1 = 0, 5T∞

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.

A tabela (8.4) mostra a evolução transiente da temperatura na posição central da placa


utilizando-se ∆t = 0, 2 s e ∆x = 2 mm utilizando-se dos três esquemas: explı́cito, totalmente
implı́cito e Crank-Nicholson. Esta tabela permite uma comparação de como funciona cada um
dos esquemas.
Tóp. Esp. Fluido-Témica 115

Tabela 8.3: Solução por Crank-Nicholson do transiente numa placa plana.

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

Bejan, A., Transferência de Calor, Editora Edgard Blücher, 1996.

Dhatt, G. e Touzot, G., The Finite Element Method Displayed, Ed. J. Wiley & Sons, 1984.

Domingues, M. O. and Mendes, Jr, O., Introdução aos Programas Ci-


entı́ficos de Distribuição Gratuita: GNU/Octave, GNU:Maxima, LaTeX
e GNU/Rcs, Instituto Nacional de Pesquisas Espaciais - INPE, 2002,
http://mtc-m16.sid.inpe.br/col/sid.inpe.br/iris\%401916/2005/08.16.14.21/
doc/Ermac2002.pdf, Acesso em 28/09/2006.

Eaton. J.W., Octave Manual, http://www.gnu.org/software/octave/doc/interpreter/,


2006, Acesso 25/09/2006.

Holman, J.P., Transferência de Calor, Editora McGraw Hill, 1983.

Incropera, F.P. e DeWitt,D.P., Fundamentos da Transferência de Calor e Massa, 4a ed., LTC


Ed. 1998.

Kreith, F. Princı́pios da Transmissão de Calor, Editora Edgard Blücher, 1977.

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

Ruggiero, M. A. G. e Lopes, V.L.R., Cálculo Numérico: Aspectos Teóricos e Computacionais,


McGraw Hill, 1988.

Apostila de Transferência de Calor Computacional, UNICAMP, 1989.

Você também pode gostar