Sie sind auf Seite 1von 35

Centro Federal de Educação Tecnológica

Celso Suckow da Fonseca


CEFET-RJ
Pós-Graduação em Engenharia Mecânica
ênfase em Eficiência Energética
Equações Diferenciais Aplicadas

Prof. Cláudio Corrêa


Campus Angra dos Reis
Resumo

1. Primeiros contatos com ambiente Octave

2. Problemas Difusivos e aplicações

3. Método de Diferenças Finitas

4. Solução Numérica Unidimensional e Bidimensional de Problemas difusivos no Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 2
Fonseca
GNU Octave
Primeiros contatos com ambiente Octave
• Introdução ao ambiente Octave
• Elementos do Octave
• Tipos
• Variáveis
• Marizes
• Lendo, salvando e construindo gráfico
• Programando no ambiente Octave
• Funções e Scripts

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 3
Fonseca
GNU Octave
Primeiros contatos com ambiente Octave

O programa GNU Octave é uma linguagem de alto nível, direcionada para cálculo numérico. Ele fornece uma
interface de linha de comando conveniente para resolver problemas numericos lineares e não lineares, e para
realizar outros experimentos numéricos usando uma linguagem que é bastante compatível com o Matlab.

https://www.gnu.org/software/octave/

O programa Octave possui uma grande quantidade de ferramentas para a resolução de problemas de álgebra
linear, encontra as raízes de equações não lineares, integra funções ordinárias, manipula polinômios, integra
equações diferenciais ordinárias e equações diferenciais algébricas.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 4
Fonseca
GNU Octave
Primeiros contatos com ambiente Octave

Pode ser estendido facilmente, como personalizado através das funções definidas pelo usuário escritas na própria
linguagem do Octave, ou usando módulos lincados, escritos em C + +, C, Fortran ou outras linguagens.

GNU Octave é um software livre. Você pode redistribuí-lo e / ou modificá-lo sob os termos da GNU General
Public License (GPL) conforme licença de publicação da Free Software Foundation.

O Octave foi escrito por John W. Eaton e muitos outros. Pelo fato do Octave ser um software livre, todos são
convidados a torná-lo mais útil, escrevendo funções adicionais que contribuam para isso, e relatando
quaisquer problemas que possam encontrar.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 5
Fonseca
GNU Octave
Primeiros contatos com ambiente Octave

Curiosidade

O Octave originalmente foi criado por volta de 1988, com o propósito de ser um software de apoio a um livro
de graduação em projetos de reator químico, escrito por James B. Rawlings da Universidade de Wisconsin-
Madison e John G. Ekerdt da Universidade do Texas. Originalmente foi idealizado como ferramenta muito
especializada relacionado à criação de reatores químicos. Posteriormente, após constatar as limitações dessa
abordagem, optou-se pela construção de uma ferramenta mais flexível.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 6
Fonseca
GNU Octave

Octave Versão versão Data de lançamento


4.2.1 liberada (released) 24/02/2017
4.2.0 liberada (released) 14/11/2016

Linux: A versão Linux geralmente está disponível com as distribuições (Debian, SuSE, RedHat, e outros
pacotes). É a versão própria do pacote.

Mac OX X, Sun Solaris, OS/2 ou eComStation.

Pacote binário para windows com código fonte.


https://ftp.gnu.org/gnu/octave/windows/

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 7
Fonseca
GNU Octave

Octave foi escrito em linguagem C e por isso, absorve o estilo do próprio C. Alguns comandos lembram o
próprio C com, por exemplo, dir. O Octave dispõe de comando de gerenciamento tanto para gerenciamento de
diretórios como, para gerenciamento do próprio ambiente Octave. Podemos, por exemplo, listar as variáveis por
nome, tamanho, número de bits e classe. Podemos deletar uma variável ou todas elas. Tudo que segue será feio
na linha de comando, seguido do comando <enter>.

Variáveis e matrizes

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 8
Fonseca
GNU Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 9
Fonseca
GNU Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 10
Fonseca
GNU Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 11
Fonseca
GNU Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 12
Fonseca
GNU Octave

Gráficos

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 13
Fonseca
GNU Octave

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 14
Fonseca
Processos Difusivos
Processo difusivo significa dispersão de uma dada quantidade física nas direções espaciais. Este processo se
dependente do tempo será processo difusivo transiente, caso contrário será difusivo estacionário.

Ou seja, o processo difusivo ocorre quando há movimento relativo da espécie em uma mistura devido à presença
de gradientes de concentração. Este processo é análogo à transferência de calor por condução.

Exemplos:
1. dispersão de óxidos de enxofre pela chaminé de uma usina termoelétrica para o ambiente;
2. transferência de vapor de água para o ar seco;
3. transferência de calor em uma placa ou barra;
4. dispersão de efluentes em rios e mares.
5. dispersão de óxido nitroso de descarga de automóvel no ar.
Centro Federal de Educação Tecnológica Celso Suckow da
Wednesday, December 6, 2017 16
Fonseca
Modelo Matemático

A equação de calor é um modelo matemático utilizado para representar o processo difusivo. Independetemente
do processo ser de transferencia de calor ou de difusão de massa.

No caso de transferência de calor teremos que definir previamente um coeficiente de difusividade


correlacionado com a lei de Fourier e para difusão massica este coeficiente correlaciona-se com a Lei de Fick de
difusão.
u 2  u
2
  f ( x)
t x 2

α2 = coeficiente de difusividade
u
  2 u  S
t

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 17
Fonseca
Método de Diferenças Finitas

O Método de Diferenças Finitas substitui todas as derivadas e outros termos de uma EDP por aproximações, um
esquema de diferenças finitas é criado para obtermos a solução aproximada da EDP. Este método depende
fundamentalmente do Teorema de Taylor, e ainda substitui a região sobre a qual a variável independente na EDP
foi definida por uma malha de pontos onde aproximamos a variável dependente.

malha
unidimensional
malha
bidimensional

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 18
Fonseca
Método de Diferenças Finitas
As aproximações que podem ser utilizada são da forma:

Aproximação avançada (forward) de 1ª ordem.

Aproximação atrasada (backward) de 1ª ordem.

Aproximação centrada de 2ª ordem para derivada primeira.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 19
Fonseca
Método de Diferenças Finitas
Aproximação centrada de 2ª ordem para derivada segunda.

Método de Diferenças Finitas e a equação de calor:

 u u (i  1)  u (i )
  Aproximação avançada no tempo
u  2
u  t t
  2 2  f ( x)    2u u (i  1)  2u (i )  u (i  1)
t x  2  Aproximação centrada no espaço
 x x 2

u(n  1)  u(n) u(i  1)  2u(i)  u(i  1)


Equação de calor unidimensional 2 f
t x 2

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 20
Fonseca
Método de Diferenças Finitas
Método de Diferenças Finitas e a equação de calor:
Aproximação avançada no tempo

 u u (n  1)  u (n)

u  t t
  2 u  S  u  u u (i  1, j )  2u (i, j )  u (i  1, j ) u (i, j  1)  2u (i, j )  u (i, j  1)
2 2
t u  2  2  
 x y x 2 y 2

Equação de calor bidimensional Aproximação centrada no espaço

u (n  1)  u (n)  u (i  1, j )  2u (i, j )  u (i  1, j ) u (i, j  1)  2u (i, j )  u (i, j  1) 


2  
t   x 2
y 2 

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 21
Fonseca
Método de Diferenças Finitas
Problema 1 – Equação do Calor: Considere uma barra feita de um material condutor de calor sujeita a alguma
fonte externa de calor e condições de contorno nos extremos da barra.

Suponha que as propriedades do material, a distribuição de temperatura inicial e a fonte externa dependem
apenas de x e não das direções na seção transversal e nem do tempo

d  du ( x) 
  k ( x )   g ( x) x ]a, b[ (EDO)
dx  dx  Fonte Externa
Difusão Equação da Difusão Estacionária
onde  (x) é o coeficiente de condução do calor e g(x) é a fonte externa de calor .
Centro Federal de Educação Tecnológica Celso Suckow da
Wednesday, December 6, 2017 22
Fonseca
Método de Diferenças Finitas
Problema 1 – Equação do Calor Estacionária- continuação:

O material é homogêneo, então k(x) não depende de x e a EDO se transforma em:

d 2u ( x)
k 2
 g ( x) x ]a, b[ (EDO)
dx Fonte Externa
Difusão

A temperatura é conhecida nos extremos do intervalos:

u (a)  ua , u (b)  ub Condição de Dirichlet


Este problema é tão simples que pode ser resolvido de forma exata:

d 2u ( x) du ( x)
k 
dx 2
dx   g ( x)dx ou k
dx
  g ( x)dx  C Primeira Integração
1

G1 ( x ) Primitiva

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 23
Fonseca
Método de Diferenças Finitas
Problema 1 – Equação do Calor - continuação:

du ( x)
k  dx   G1 ( x)dx  C1  dx ou  ku ( x)   G1 ( x)dx  C1x  C2 Segunda Integração
dx
G2 ( x ) Primitiva

ku (a)  G2 (a)  C1a  C2 Primeira Condição de Contorno

ku (b)  G2 (b)  C1b  C2 Segunda Condição de Contorno

k[u(b)  u(a)]  [G2 (b)  G2 (a)] k[u(b)  u(a)]  [G2 (b)  G2 (a)]
C1  e C2  ku(b)  G2 (b) 
ba ba

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 24
Fonseca
Método de Diferenças Finitas
Problema 1 – Equação do Calor - continuação:

d 2u ( xi ) u ( xi  x)  2u ( xi )  u ( xi  x) U i 1  2U i  U i 1
 D 2
(u ( xi ))  
dx 2
(x) 2
(x) 2
Então a aproximação pelo MDF para o PVC anterior consiste em encontrar U i  u ( xi ) que satisfaz:
U i 1  2U i  U i 1
k  g ( xi ) 0  i  n (EDO)
(x) 2

U 0  u a , U n  ub 2 Condições de Contorno
onde a malha usada para discretizar o problema é:

(b  a)
xi  a  ix, x  , i  0,1,, n
n

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 25
Fonseca
Método de Diferenças Finitas
k
[U i 1  2U i  U i 1 ]  g i
0  i  n (EDO) Note que isto é um sistema linear de n-2
(x) 2
equações com n-2 incógnitas que pode
U 0  ua , U n  ub 2 C. C., onde g i  g ( xi ) ser resolvido pelos métodos já estudados.

k
[U 0  2U1  1U 2 ]  g 1
(x) 2

k  2 1   1 k 
[U1  2U 2  U 3 ]  g 2  U1   g  U 0 
(x) 2  1 2 1  (x) 2

  U   2 
 2   g 
k k  1 2 1 
[U 2  2U 3  U 4 ]  g 3
A ( n 1)( n 1) U  F, onde A    U   U 3 , F  g 3 
(x) 2 (x) 2         
      
 1 2 1 
  U n 1   g n 1  k 
k  1  2  U n 
[U n  2  2U n 1  U n ]  g n 1  (x) 2

(x) 2

U 0  ua , U n  ub 2 C. C.
Solução do sistema - solução da EDO aproximada

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 26
Fonseca
Método de Diferenças Finitas
Problema 1 – Equação do Calor 2D: Considere uma chapa feita de um material condutor de calor sujeita a
alguma fonte externa de calor e condições de contorno no contorno da chapa.

O fenômeno de condução do calor estacionário nesta chapa pode ser modelado pela seguinte equação:

  (ku )  g (x) x  (EDP)


Difusão Fonte Externa

Se o material é homogêneo, então k(x) não depende da posição e a EDP se transforma em:

k u  g (x) x  ]0,1[]0,1[ (EDP) ou k2u  g (x)


Difusão Fonte Externa Difusão Fonte Externa

u(x)  u , x   (C.C. de Dirichlet )


Este problema não é tão simples e vamos aproximar o Laplaciano por formulas de diferenças finitas centradas:

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 27
Fonseca
Método de Diferenças Finitas

(b  a)
Note que o domínio agora é um quadrado unitário e xi  a  ix, x  , i  0,1,, n
n
podemos discretizar o problema construindo uma ( d  c)
y j  c  jy, y  , j  0,1,, m
malha uniforme da seguinte forma: m

Denotemos por uij = u(xi , yj) a


solução exata no nó de
coordenadas (xi, yj) e por Uij ≈
u(xi , yj) a solução aproximada.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 28
Fonseca
Método de Diferenças Finitas
 2u ( xi , y j ) u ( xi  x, y j )  2u ( xi , y j )  u ( xi  x, y j ) U i 1, j  2U ij  U i 1, j
 D (u ( xi , y j )) 
2

x 2
(x) 2
(x) 2

 2u ( xi , y j ) u ( xi , y j  y )  2u ( xi , y j )  u ( xi , y j  y ) U i , j 1  2U ij  U i , j 1
 D (u ( xi , y j )) 
2

y 2
(y ) 2
(y ) 2

Então a aproximação pelo MDF para a EDP anterior consiste em encontrar Uij ≈ u(xi , yj) que satisfaz:

U i 1, j  2U ij  U i 1, j U i , j 1  2U ij  U i , j 1  0  i  n


 k    g ( xi , y j )  (EDP)
(x) (y ) 0  j  m
2 2
  
 2u  2u
x 2 y 2

x  y  h 0  i  n
k
 
 2 U i 1, j  U i , j 1  4U ij  U i 1, j  U i , j 1  g ( xi , y j )  (EDP)
mn h 0  j  n
Centro Federal de Educação Tecnológica Celso Suckow da
Wednesday, December 6, 2017 29
Fonseca
Método de Diferenças Finitas
Como a malha tem n partição por x e n partição por y o número total de incógnitas (graus de liberdade) do
sistema linear equações será de (n-2)2

A(n-2)2X (n-2)2 U = F ==> (A = matriz esparsa)

O sistema para o problema unidimensional é de ordem n-2 e para o problema bidimensional é de ordem (n-2)2.
Logo, para o problema tridimensional a ordem do sistema será (n-2)3.

k 0  i  n
 2 U i 1, j  U i , j 1  4U ij  U i 1, j  U i , j 1   g ( xi , y j )  (EDP)
h 0  j  n

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 30
Fonseca
Método de Diferenças Finitas
k
 U  U1,0  4U11  U 2,1  U1,2   g ( xi , y j ) i  1, j  1
2  0,1
h
k
 2 U 0,2  U11,  4U12  U 2,2  U1,3   g ( xi , y j ) i  1, j  2
h

k
 2 U 0,n 1  U1,n 2  4U1,n 1  U 2,n 1  U1,n   g ( xi , y j ) i  1, j  n  1
h
k
 2 U11,  U 2,0  4U 2,1  U 3,1  U 2,2   g ( xi , y j ) i  2, j  1
h

n - 1 equações para i  3, , n - 1 equações para i  n  1


k
 2 U n 2,n 1  U n 1,n 2  4U n 1,n 1  U n ,n 1  U n 1i ,n   g ( xi , y j ) i  n  1, j  n  1
h

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 31
Fonseca
Método de Diferenças Finitas
U 11
, ,U1,2 , ,U1,n1 , U 2,1,U 2,2 , ,U 2,n1 , , U n11, ,U n1,2 , ,U n1,n1
2 sub-índices i  1, ,(n  1) e j  1, ,(n  1)

U1,U2 , ,U n1 , U n ,U n1, ,U n( n1)  , , U ( n1)( n2) , U ( n1)( n2)1, , U ( n1)( n1) 
1 sub-índices m  1, ,(n  1)(n  1)

Existem diferentes maneiras de construir a


função de ligação. Uma forma muito
m  ( j  1)i, com i  1, ,(n  1) e j  2, ,(n  1)
simples é reordenar a numeração por
linhas.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 32
Fonseca
Método de Diferenças Finitas

A matriz A( n 1)2 ( n 1)2 seria formada por matrizes blocos de ordem (n-1) na forma:

T I   4 1 
I T I   1 4 1 
   
k  I T I   1 4 1 
A 2   T( n 1),( n 1)  
h    
 I T I  1 4 1 
   
 I T  1 4

Se o reordenamos a numeração por coluna a função seria:

m  (i  1) j, com j  1, , (n  1) e i  2, , (n  1)

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 33
Fonseca
Método de Diferenças Finitas
Trabalho 2 – Equação do Calor 1D:

Atividade 01:

Resolva o problema de PVC para a seguinte condição de contorno: u(0)=0 e u(1)=1, considerando que o
domínio será dado por 0 < x < L, onde L = 1.

Atividade 02:

Aplique o MDF com aproximação centrada de segunda ordem para as derivadas e resolva explicitamente
o sistema linear encontrado para número de nodos (nós) igual a 5, ou seja Δx = (b-a)/n, onde n = 5.

Atividade 03:

Construa um código no Octave que resolva o PVC dado na atividade 01, plotando consecutivamente a
solução exata e a numérica, para k = 1, k = 10 e k = 0.1

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 34
Fonseca
Método de Diferenças Finitas
Trabalho 2 – Equação do Calor 2D :

Atividade 04:

Resolva o problema de PVC para a seguinte condição de contorno: u(0,y)=0 e u(1,y)=1, u(x,0)=0 e
u(x,1)=0 considerando que o domínio será dado por 0 < x < 1, 0 < y < 1. Aplicando o método de
diferença finitas, com aproximada centrada de 2ª ordem para as derivadas espaciais. Supondo que o
problema seja homogêneo.

Atividade 05:
Construa um código no Octave que resolva o PVC dado na atividade 04, plotando a numérica, para k =
10, 1, 0.1, 0.01 e n= 5, n = 20, n = 100.

Centro Federal de Educação Tecnológica Celso Suckow da


Wednesday, December 6, 2017 35
Fonseca