o calor vem desumano Tudo irá se expandir Crescer com as águas Quiçá, amores nos corações E um santeiro, Milagreiro Prevê a dor De terceiros E diz que a vida É feita de ilusão ... Girassóis me lembram a Cássia Eller
derivadas de uma função : (, ) → ℝ. Assumirei que as funções envolvidas são deriváveis tantas vezes quantas forem necessárias nos intervalos em questão.
ℎ→0 + ℎ − () ℎ A intuição por trás dessa imagem é que: “se a curva (azul) definida pelo gráfico da função f é suficientemente suave, então a reta secante (vermelha) tenderá à reta tangente (azul) quando ℎ → 0”.
derivada () de uma função num ponto . Plotaremos os gráficos das sequências das diferenças avançadas, atrasadas e centradas, para ℎ = 2− e = 0,1, … , , com e fixos e ~40 − 50.
Os erros por DDF avançadas e retardadas é igual e eles decaem na mesma velocidade (estão superpostos na descida). 3. As DDF centradas convergem mais rapidamente que as outras duas (vermelho abaixo de azul e verde e com inclinação maior). 4. O erro mínimo nas aproximações por DDF centrada é da ordem de 10−11, muito menor que nas outras duas, entre 10−8 e 10−7. 5. Após o mínimo todos os erros crescem, estacionando num valor máximo (horizontal à direita). Observem que:
avançadas à derivada ′ da função num ponto ∈ () obtemos: ′′() ≅ ′ + ℎ − ′() ℎ Então, aproximando tanto ′( + ℎ) como ′() por diferenças atrasadas, obtemos a aproximação para a derivada 2ª: ′′ ≅ + ℎ − 2 + ( − ℎ) ℎ2
transferência de energia térmica de uma região onde a temperatura é maior para uma região onde ela é menor. Condução de calor Como modelar a propagação do calor?
num isolante, para não haver troca de calor com o meio externo através de sua superfície cilíndrica. u alta (, ) u baixa Mais adiante vamos retirar essa restrição.
a Lei de Fourier fica: , = − (, ) Nessa fórmula: • k é o coeficiente de difusividade térmica, • ρ é a densidade do material, • C é a capacidade calórica do material. u alta (, ) u baixa
∙ é o fluxo de calor entrando • ∙ + ∆ é o fluxo de calor saindo • O calor acumulado nesse volume elementar, na ausência de fontes ou sumidouros, é proporcional a ∆ ∙ ∆ u alta u baixa (, ) ( + ∆, ) ∆
da superfície lateral da barra, é proporcional à diferença de temperatura entre a barra e o meio no ponto e no instante , podemos escrever (, ) = 2(, ) 2 + + +
vigas de metal ou em oleodutos) é descobrir a distribuição de temperatura ao longo de uma barra transcorrido um tempo = dada uma distribuição inicial de temperatura em = 0 . 0 (, = 0 ) = 0 ()
, + (0, ) = , t > 0 Uma distribuição inicial de temperatura: , 0 = 0 , ∈ [0. ] A lei que rege o fenômeno: = 2 2 + + + , = (, ), para (, ) ∈ 0, × (0, ∞) Temos então um problema de valor inicial e de contorno: Uma fonte ou sumidouro f de calor: , , ∈ 0, , ≥ 0
para ≥ 0, temos o problema homogêneo. • No problema de Neumann, quando, ℎ = = 0 para ≥ 0, dizemos que as fronteiras são reflexivas (fluxo nulo). • Quando = = 0, temos o problema de Dirichlet. • Quando = = 0, temos o problema de Neumann. • Caso , , e sejam diferentes de zero temos o problema de Robin.
solução particular (, ) à solução geral (, ) do problema homogêneo. Sim Colega! E como a derivada segunda de uma função linear na variável é nula, podemos usar a solução particular , = ℎ + Τ − ℎ ( − ) .
caso homogêneo. O mais simples de todos, aquele em que = = 0. Para obter uma solução aproximada do problema de valor inicial e de contorno, precisaremos efetuar discretizações espaciais e temporais.
x 1 x 2 t 0 = 0 t 3 t 1 t 2 t 18 t 19 t 20 = t F x 29 x 30 Assumindo ∆ = − (+1) construímos uma malha espacial cujos pontos internos ao [, ] são dados por = + ∆, com = 1, ⋯ , . Então, para ∆ dado e = ∆, = 0, 1, 2, ⋯, teremos uma malha temporal num intervalo finito [0 , ], onde = ∆.
x 1 x 2 t 0 = 0 t 3 t 1 t 2 t 18 t 19 t 20 = t F x 29 x 30 2,3 = (2 , 3 ) Adotaremos a notação simplificadora: , = ( , ) Com essa notação, a equação , = 2 2 , + ( , ) pode ser reescrita como , = 2, 2 + , , uma igualdade válida para cada ponto interno da malha. 3,1 = (3 , 1 )
x 1 x 2 t 0 = 0 t i+1 t i t F x 29 x 30 A ideia para resolver numericamente o problema é: conhecidos os valores da temperatura num nível de tempo calcular os valores da temperatura no nível de tempo seguinte +1 usando as aproximações em diferenças finitas. +1, ,
x 1 x 2 t 0 = 0 t i+1 t i t F x 29 x 30 +1, , • Aprox. espacial no nível de tempo : 2 , 2 ≅ +1,−2,+−1, (∆)2 • Aprox. espacial no nível de tempo + 1: 2,+1 2 ≅ +1,+1−2,+1+−1,+1 (∆)2 • A passagem entre níveis de tempo (mesmo ): • diferenças avançadas: , ≅ ,+1−, ∆ • diferenças retardadas: , ≅ ,−,−1 ∆
x 1 x 2 t 0 = 0 t i+1 t i t F x 29 x 30 No método explícito, você calcula diretamente o valor de +1, em função dos valores conhecidos de ,−1 , , , ,+1 . +1, ,−1 , , , ,+1
x 1 x 2 t 0 = 0 t i+1 t i t F x 29 x 30 O método implícito, resolve esse problema. Entretanto, em cada passo temporal, você precisará resolver um sistema linear envolvendo os valores de +1,+1 , +1, , +1,+1 em função dos valores conhecidos de , . +1,−1 , +1, , +1,+1 ,
(∆)2 + , Método implícito Como a igualdade , = 2, 2 + , é válida para cada ponto interno da malha, usando diferenças avançadas no tempo, teremos (com = 1):
… − − 1 + 2 Método implícito = 1 − 2 1 − 2 … … 1 − 2 Método explícito Comparando as matrizes dos métodos fica clara a condição de estabilidade para o explícito: Sua matriz deixa de ser diagonalmente dominante, ao contrário do que acontece com o método implícito. = Τ ∆ ∆ 2 ≥ 1/2 Instável quando
x 1 x 2 t 0 = 0 t i+1 t i t F x 29 x 30 No método de Crank-Nicholson, você precisará resolver um sistema linear envolvendo uma média entre os valores do método implícito e explícito. Mas isto fica para você, Surfista! +1,−1 , +1, , +1,+1 ,−1 , , , ,+1
× (0, 0 ) • , , 0 = 0 (, ) em Ω • , , prescrita na borda Ω × (0, 0 ) Uma fonte de calor na placa Ω. Trata-se de um problema de propagação de calor numa placa de metal retangular Ω = (0, 0 ) × (0, 0 ).
], através de uma malha uniforme envolvendo 4 subintervalos na direção x e outros 4 subintervalos na direção y. Utilizaremos diferenças finitas para aproximara solução. 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j
parciais por diferenças finitas. O valor da temperatura U nos pontos da borda da placa (em vermelho) é conhecido. 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j
temperatura U em pontos internos da malha obedece o esquema em cruz indicado abaixo para o ponto 3. 2 3 2 ≃ − 23 + 6 ℎ2 2 3 2 ≃ 2 − 23 + ℎ2 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j
pacote scipy.linalg. Como a matriz desse sistema linear, com sinal trocado, é definida-positiva e de banda, poderemos utilizar cholesky_ banded( ) e cho_solve_banded( ).
de dois vetores de ordem 20: ℎ2 + Um deles provém da fonte: ℎ2 = ℎ2 1 2 ⋯ 20 O outro é o vetor em frente, oriundo das condições de contorno: = − + + 0 0 0 0 0 0 ℎ + +
, os métodos apropriados para resolver o sistema linear são os métodos iterativos lá da scipy.linalg.esparse, que veremos mais adiante. Repetindo a fala de meu colega: No caso geral de uma malha retangular com linhas e pontos internos em cada linha teremos uma matriz com blocos quadrados de tamanho , seguindo esse mesmo padrão do exemplo.
de linhas internas da discretização e a quantidade de pontos internos nas linhas. Retorna a solução do sistema e uma representação colorida da distribuição de calor na placa.
o sistema linear esparso (3). A construção das matrizes de temperatura nos pontos da malha (4) para desenhar (5) a representação colorida das temperaturas com imshow( ). 3 4 5
(0, 0 ) • , , 0 = 0 (, ) em Ω1 • (,) = () em Ω2 • (,) = ℎ() em Ω3 • , , prescrita na borda Ω × (0, 0 ) Agora vamos resolver o problema de calor em estado estacionário numa placa Ω com o formato de um L.
regiões Ω como esta, constituidas por blocos retangulares contíguos com fronteira Ω = Γ = Γ ∪ Γ ∪ Γ Sim colega, é só repetir o mesmo procedimento do exemplo para cada bloco.
os azuis. Mais que isto, além das 36 incógnitas dos pontos internos (para as quais você tem 36 equações), acrescente outras 6 incógnitas vindas das condições de fluxo, nos pontos cinza e verdes. Mestre, como eu faço para usar a condição de fluxo prescrito na fronteira?
16 ≅ 16 − 36 ℎ , 17 = 17 ≅ 17 − 28 ℎ , 18 = 18 ≅ 18 − 20 ℎ . Bem, Loirinha, prescrever o fluxo num ponto da fronteira é prescrever o valor da derivada parcial nele. Para a fronteira cinza teremos ቃ =