+ − () Lembrem-se, nesta definição de derivada, o h pode ser positivo ou negativo, nunca nulo. Iniciaremos analisando algumas aproximações para a derivada 1ª de uma função : (, ) → ℝ.
+ − () 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 (verde) quando ℎ → 0”.
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?
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. T alta (, ) T 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 ∆ ∙ ∆ T alta T baixa (, ) ( + ∆, ) ∆
, = , t > 0 Uma condição inicial: • , 0 = , ∈ [0. ] = 2 2 , (, ) ∈ 0, × (0, ∞) x = 0 x = L O problema de evolução da temperatura T (x, t) numa barra Um problema de valor inicial e de contorno.
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) os pontos internos ao intervalo [, ] são dados por = + ∆, com = 1, ⋯ , . Então, para = ∆, = 1, 2, ⋯, teremos: , = 2 2 , , = 1, ⋯ , , = = 1,2, ⋯
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 Em cada ponto , do interior do retângulo, usaremos as aproximações: , ≅ , − ,−1 ∆ 2 2 , ≅ +1, − 2, + , − −1, (∆)2
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 Assim, em cada ponto , do interior do retângulo, vale a igualdade: , − ,−1 ∆ = +1, − 2, + −1, (∆)2 Para = 0 e = + 1 a temperatura é prescrita e também para = 0.
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 Então, para = 1,2, ⋯ , e = 1,2, ⋯, vale a igualdade: −−1, + 2 + , − +1, = ,−1 . Além disso, para: = 1,2, ⋯ , → 0, = ℎ = ℎ( ) = 1,2, ⋯ , → +1, = = ( ) = 1,2, ⋯ , , → ,0 = = ( ) = (∆)2 ∆
x 1 x 2 t = 0 t = t 1 x 29 x 30 3,1 Portanto, os valores da temperatura no nível de tempo 1 são dados pela solução do sistema linear −−1,1 + 2 + ,1 − +1,1 = , = 1,2, ⋯ , com 0,1 = ℎ1 e +1,1 = 1 = (∆)2 ∆
0, → ℝ; • Faça uma discretização espacial 0 = 0, 1 , … , = com pelo menos 30 sub-intervalos igualmente espaçados de 0, ; • Escolha um instante de tempo final e faça uma discretização temporal 0 = 0, 1 , … , = compatível com a espacial, para o intervalo temporal [0, ]; • Construa a solução numérica do problema de valor inicial e de contorno, com condições de contorno homogêneas, conforme descrito nas últimas transparências; • Apresente a solução (, ) graficamente, no domínio 0, × [0, ]. Eis o 1º problema:
10 ºC T = 20 ºC Surfista, imagine uma placa de metal, quadrada, cujas bordas são mantidas às temperaturas indicadas. Como será a distribuição de temperatura no interior da placa em estado estacionário?
100 ºC T = 200 ºC 2 2 + 2 2 = 0 no interior da placa Mais as condições no contorno Se não há variação de temperatura então = 0 e as equações que modelam o fenômeno físico são:
de uma malha uniforme envolvendo n subintervalos na direção x e outros m subintervalos na direção y. No exemplo = = 4. 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. 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j O valor da temperatura T nos pontos da borda da placa (em amarelo, azul e verde) é conhecido.
temperatura T 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, é semi-definida- positiva e de banda, poderemos utilizar cholesky_ banded( ) e cho_solve_banded( ).
na horizontal por outros 50 pontos internos na vertical. Ao todo teremos 2.500 pontos internos e, consequentemente, um sistema linear de 2.500 equações à 2.500 incógnitas! Impressionante Mestra! Mas continuará sendo um sistema penta- diagonal. A única diferença é que a 2ª sobre diagonal iniciará na coluna 51 e a 2ª sub diagonal na linha 51.
apresentou uma forma de descrever a solução dos métodos de Jacobi e Gauss-Seidel através de equações. Inclusive o Sherlock explicou porquê e o Manuel apresentou onde buscar informações na Scipy.
e uma fonte de calor descrita por uma função : → ℝ; • Faça uma discretização espacial 0 = 0, 1 , … , = com pelo menos 25 sub-intervalos igualmente espaçados de 0, e outra com pelo menos 30 sub-intervalos de [0, ]; • Imponha condições de contorno com fluxo nulo em duas laterais de e de temperatura prescrita nas outras duas laterais; • Construa a solução numérica do problema desse problema de contorno; • Apresente a solução (, ) graficamente, no domínio 0, × [0, ]. • Use o método dia_matrix( ) da classe scipy.sparse para guardar a matriz do problema. Eis o 1º problema: