Acessibilidade / Reportar erro

Simulações de condução de calor unidimensional com o software Maxima

Simulations of one-dimensional heat conduction with Maxima software

Resumos

O software Maxima é um sistema de computação algébrica distribuído gratuitamente. Trata-se, portanto, de uma alternativa gratuita a sistemas utilizados para pesquisa em Física, assim como na elaboração de recursos digitais para o Ensino de Física. No presente trabalho, apresenta-se uma das formas de se aplicar o software Maxima ao Ensino de Física utilizando o exemplo da solução numérica da equação de condução de calor unidimensional. Com auxílio da ferramenta Draw, que permite criar GIFs diretamente dentro do programa Maxima, geram-se simulações da variação de temperatura em uma haste condutora térmica isolada cujas extremidades estejam submetidas a temperaturas fixas arbitrárias. Tais exemplos podem ser utilizados para facilitar o ensino das dinâmicas das soluções da equação de condução de calor, bem como o método numérico das diferenças finitas aplicado a equações diferenciais parciais.

Palavras-chave:
Software Maxima; condução de calor; Física Computacional


Maxima software is a freely distributed computer algebra system. It is, therefore, a free alternative to systems applied to Physics research as well as to the development of digital resource for Physics teaching. In this work, one of the manners of applying Maxima to Physics teaching is presented by solving numerically the one-dimensional heat equation. With help of a tool named Draw, which allows to create GIFs directly from Maxima input, simulations of the thermic variation in a thermic conducting isolated bar which extremities are subjected to fixed arbitrary temperatures are generated. The presented examples can be used to facilitate the understanding of dynamic situations arising from the heat equation as well as the numerical method of finite differences applied to solve partial differential equations.

Keywords:
Maxima Software; heat conduction; Computational Physics


1. Introdução

Vista como solução para diversos problemas da educação brasileira, especialmente a pública, a utilização de tecnologias da informação em sala de aula [1[1] F.J. de Almeida, Educação e informática: os computadores na escola (Cortez, São Paulo, 2012), 5ª ed.] pode esbarrar no custo dos principais softwares utilizados na área da Física, Matemática e engenharias. Uma possível forma de minimizar os custos necessários para a criação de material didático de alta qualidade é a utilização de softwares livres.

Dentre os softwares livres categorizados como sistemas de computação algébrica, um que se destaca é o software Maxima [2[2] MAXIMA, Maxima, a Computer Algebra System, disponível em: https://maxima.sourceforge.io/, acessado em 09/06/2022.
https://maxima.sourceforge.io/...
]. Este software pode ser instalado gratuitamente em diversos sistemas, como Windows, Linux e Mac OS X, possuindo também uma versão em desenvolvimento para Android. Isto torna o software particularmente interessante para o ensino nas áreas de Ciências, especialmente em países em desenvolvimento, onde a disponibilidade de recursos é consideravelmente limitada. Já existem várias experiências neste sentido mostrando que a utilização do software Maxima em sala de aula pode ser positiva [3[3] N. Karjanto e H.S. Husain, Mathematics 9, 1317 (2021).], bem como a aplicação do sistema na criação de simulações voltadas ao Ensino de Física [4[4] A.C. Sabino, A.M. de Campos, D.T. de Morais, J.P. Kaled, M.E. Gozzi e R. Viscovini, Revista Brasileira de Ensino de Física 41, e20180118 (2019).].

O que pode tornar a utilização do Maxima ainda mais interessante no processo de ensino-aprendizagem é a existência do pacote Draw. Trata-se de uma ferramenta que permite a criação de GIFs, além de figuras, dentro do programa, diretamente a partir das expressões e fórmulas inseridas na sua linha de comando. O pacote possibilita assim a exemplificação da dinâmica de diversos sistemas físicos sem os custos gerados por experimentos ou por licenças de softwares proprietários.

Existem vários sistemas físicos que podem ser utilizados para exemplificar a utilização do software Maxima na geração de GIFs, como o sistema abordado na referência [4[4] A.C. Sabino, A.M. de Campos, D.T. de Morais, J.P. Kaled, M.E. Gozzi e R. Viscovini, Revista Brasileira de Ensino de Física 41, e20180118 (2019).]. Aqui optamos por um sistema o qual acreditamos ser particularmente interessante, pois demanda a aplicação do método numérico FTCS (Forward Time Centered Space) [5[5] C. Scherer, Métodos Computacionais da Física (Livraria da Física, São Paulo, 2010), 2ª ed., 6[6] D. Yevick, A First Course in Computational Physics and Object-Oriented Programming with C++ (Cambridge University Press, Cambridge, 2005).] para a solução de equações diferenciais parciais. Assim, além de utilizar o pacote Draw, a solução deste problema invoca uma variedade de ferramentas disponíveis no software Maxima, demostrando, mesmo que parcialmente, o seu grande potencial computacional-algébrico. Este é um problema comumente atacado em disciplinas de Física Computacional, mas que tem diversas aplicações, visto que a equação em questão pode ser aplicada a vários sistemas físicos, tendo grande importância também na área das engenharias.

O nosso objetivo é mostrar que o software Maxima pode ser aplicado para resolver o problema da equação de condução de calor unidimensional numericamente. Para tal, é utilizado um conjunto de saberes que englobam o conhecimento da equação de condução de calor, o método FTCS e elementos de lógica de programação como for, if e while. Além disso, o pacote Draw torna o processo mais rico ao permitir que o professor o utilize para a criação de GIFs que mostrem a dinâmica do sistema físico analisado, facilitando assim a compreensão dos estudantes no processo de ensino-aprendizagem.

O presente artigo encontra-se divido da seguinte forma: na seção 2 2. Equação de condução de calor unidimensional Aqui tratamos o problema da condução de calor em uma dimensão sem geração de calor no material em questão. Considerando que a condutividade térmica do material seja constante1, a equação de condução de calor em uma dimensão pode ser expressada como [8]: (1) ∂ ⁡ T ⁢ ( x , t ) ∂ ⁡ t = D ⁢ ∂ 2 ⁡ T ⁢ ( x , t ) ∂ ⁡ x 2 , sendo D a difusividade térmica. Como exemplo de sistemas descritos por soluções da equação (1), consideramos uma haste isolada de comprimento L com um perfil inicial de temperatura dado por uma função arbitrária f⁢(x). Ao se submeterem as extremidades da haste a temperaturas constantes, teremos a condição T⁢(0,t)=T1 e T⁢(L,t)=T2. Com este tipo de configuração, esperamos que, em t→∞, a situação se torne permanente e o perfil de temperatura na haste seja linear, o que pode ser obtido da equação (1) fazendo-se ∂⁡T/∂⁡t→0. Nosso objetivo, entretanto, é exemplificar o regime transiente entre o momento inicial, no qual a haste encontra-se com perfil de temperatura f⁢(x), e a fase de regime permanente. Para tal, utilizamos o método FTCS descrito abaixo. O esquema numérico mais simples para a solução da equação (1) considera a seguinte aproximação para a derivada de primeira ordem [5, 6]: (2) ∂ ⁡ T ⁢ ( x , t ) ∂ ⁡ t ≈ T ⁢ ( x , t + Δ ⁢ t ) - T ⁢ ( x , t ) Δ ⁢ t , enquanto que para a derivada de segunda ordem, temos: (3) ∂ 2 ⁡ T ⁢ ( x , t ) ∂ ⁡ x 2 ≈ T ⁢ ( x + Δ ⁢ x , t ) - 2 ⁢ T ⁢ ( x , t ) + T ⁢ ( x - Δ ⁢ x , t ) Δ ⁢ x 2 . Adotamos a nomenclatura Tij=T⁢(xi,tj), a partir da qual a equação (1), aplicando-se as discretizações (2) e (3), pode ser escrita como: (4) T i j + 1 = c ⁢ ( T i + 1 j + T i - 1 j ) + ( 1 - 2 ⁢ c ) ⁢ T i j , sendo c≡D⁢Δ⁢t/Δ⁢x2. Neste caso, dividindo a haste em N partes, ao sabermos a temperatura no instante inicial nos pontos definidos por x0=0,x1=Δ⁢x,…,xN=L, podemos determinar os valores de temperatura nos instantes Δ⁢t⁢,2⁢Δ⁢t,…. Esta evolução numérica é estável desde que c≤0,5 [5]. revisamos os principais pontos da equação de condução de calor unidimensional e o esquema FTCS; na seção 3 3. O pacote Draw A presente seção traz um breve resumo do pacote Draw disponível no software Maxima. Este pacote é o principal motivo pela escolha do software no desenvolvimento da solução ora apresentada, uma vez que permite a geração de GIFs diretamente a partir da linha de comando do Maxima, sem a necessidade de exportar figuras para outros softwares. Vale a pena ressaltar que, embora haja alguns sistemas de computação algébrica que possam oferecer uma ferramenta similar ao Draw, o Maxima é um software grátis e livre com versões para os principais sistemas operacionais utilizados atualmente. O pacote Draw pode ser utilizado para gerar gráficos bi ou tridimensionais. É uma ferramenta muito poderosa que permite grande personalização do gráfico gerado. Abaixo, apresentamos um exemplo de como o Draw pode ser utilizado para gerar um gráfico 2D: Este conjunto de comandos gera o gráfico apresentado na Figura 1. Além de gerar gráficos com o comando explicit, o gr2d aceita também várias outras opções, que podem ser utilizadas para gerar gráficos de forma implícita, a partir de conjuntos de pontos, de funções paramétricas, em diversos sistemas de coordenadas, objetos geométricos, etc. Além disso, o pacote permite a modificação de vários parâmetros do gráfico, como tamanho, família e tamanho da fonte, título, descrição dos eixos e das curvas, dentre outros, com a possibilidade de exportar a figura em diversos formatos. Figura 1: Exemplo de figura bidimensional que pode ser gerada com o pacote Draw pelo software Maxima. A função em questão é a função de Bessel de primeiro tipo [9]. Vamos agora apresentar um exemplo tridimensional: Neste caso, temos a superfície gerada pela função P21⁢(cos⁡θ)⁢cos⁡ϕ, sendo Plm as funções associadas de Legendre [9]. O resultado do comando acima é mostrado na Figura 2. Figura 2: Exemplo de uma figura tridimensional gerada pelo pacote Draw. Escolhemos a função Plm⁢(cos⁡θ)⁢cos⁡(m⁢ϕ) que forma a base da parte real dos harmônicos esféricos escalares, desconsiderando-se a normalização, com l = 2 e m = 1 [9]. Uma vez que apresentamos a estrutura básica do pacote Draw, vamos sumarizar a seguir como se dá a criação de GIFs. Neste caso, entretanto, é importante a utilização de um outro comando muito útil no Maxima, que é o comando makelist. Como o próprio nome sugere, este comando cria uma lista de objetos vinculados a uma determinada variável. Por exemplo, o comando cria uma lista de i2 com i no intervalo [0,1] com passo de 0,1. Das possíveis expressões que podem ser fornecidas ao comando makelist, estão aquelas que são utilizadas para a criação de gráficos. Sendo assim, é possível gerar um conjunto de figuras de uma mesma função utilizando o makelist. O pacote Draw então sintetiza estas figuras em um GIF. Um exemplo de como isto pode ser feito segue abaixo: Neste exemplo, cria-se um GIF com quatro quadros, cada um mostrando a função xi com i variando de 1 a 4. O tempo de exibição de cada quadro é controlado pela opção delay que é medida em centésimos de segundo. Ao fazermos delay = 100, garantimos que cada quadro seja mostrado por um segundo. Essa opção, entretanto, pode ser omitida, fazendo com que a variável delay receba o valor padrão que é 5 (0,05 s). Vale a pena ressaltar que é possível também criar GIFs com gráficos 3D apesar de o exemplo acima ser 2D. Os exemplos apresentados aqui têm o objetivo de mostrar, de forma sucinta, o funcionamento do pacote Draw. Ressaltamos, todavia, que as funções deste pacote são bem mais variadas do que as apresentadas aqui. Além disso, o conjunto de comandos utilizados para resolver problemas como o da condução térmica unidimensional se baseia em ferramentas além das listadas aqui, dentre elas, objetos de lógica como for, if, listas, etc. Todas essas funções e opções estão descritas na documentação do Maxima, inclusive em português, que pode ser acessada a partir do site do projeto [2]. Quanto aos exemplos de GIFs descritos no presente artigo, eles podem ser encontrados no material suplementar disponível no endereço eletrônico apresentado na referência [7]. mostramos detalhes simples do pacote Draw e como GIFs podem ser gerados a partir do mesmo; os resultados da aplicação do Maxima à solução numérica da equação de condução de calor são detalhados na seção 4 4. Exemplos Aqui abordamos alguns exemplos de como ocorre a dinâmica transicional de temperatura em uma haste isolada considerando uma difusividade térmica constante. Em todos os casos, consideramos que a haste tem L=10cm de comprimento e está com as temperaturas das extremidades fixas, podendo ou não serem diferentes. Para aplicar o método numérico, dividimos a haste em 20 partes, ou seja Δ⁢x=5×10-3 m, e fazemos Δ⁢t=5×10-2 s. A evolução numérica da equação (4) é feita no intervalo de tempo [0,tmax], gerando-se um conjunto de M≡tmax/Δ⁢t listas, denominadas tmpj, as quais contêm o conjunto dos pares ordenados (i⁢Δ⁢x,Tij), com i de 0 a N. Cada lista corresponde ao perfil de temperatura da haste no instante j⁢Δ⁢t, de modo que tmp0 se refere ao perfil em t = 0 e tmpM se refere ao perfil de temperatura no instante final considerado. Geramos assim uma sequência de imagens com as listas tmpj, com j indo de 0 a M, usando o comando makelist e o comando gr2d. Esta sequência de imagens é então sintetizada em um GIF com o pacote Draw. 4.1. Exemplo 1 Como primeiro exemplo, consideramos uma haste de difusividade térmica D=10-4 m2/s que se encontra a uma temperatura uniforme de 20°C quando suas extremidades são submetidas à mesma temperatura de 0°C. Sendo assim, em t = 0, T00=TN0=0°C, enquanto em todos os outros pontos Ti0=20°C (0<i<N). A partir disto, a equação (4) é desenvolvida por 20 s. Figura 3: Perfil da temperatura da haste nos 20 s considerados. Esta figura foi gerada com ajuda de um software externo ao Maxima, o Gnuplot [10]. Parte do código desenvolvido destina-se a escrever os pontos obtidos numericamente para um arquivo no formato padrão do Gnuplot. Inicialmente, utilizamos o conjunto de listas tmpj para gerar a Figura 3 que mostra a evolução temporal da temperatura da haste em uma perspectiva 3D. A figura evidencia que, no tempo considerado, a haste não atingiu o equilíbrio esperado na temperatura a qual estão submetidas suas extremidades e que, à medida que a sua temperatura diminui, mais lenta é a sua variação. Esta análise gráfica tem como pontos negativos o fato de não ser possível determinar precisamente as temperaturas na haste em um determinado instante. A barra colorida no gráfico nos permite apenas inferir a temperatura em cada ponto e a cada instante de forma aproximada. Uma descrição gráfica mais precisa pode ser obtida a partir do perfil de temperatura em instantes específicos. Isso pode ser feito diretamente no Maxima a partir do conjunto de listas tmpj. Escolhemos os perfis de temperatura em t≲0,tmax /2 e tmax e os mostramos conjuntamente na Figura 4. Percebemos que a curva vermelha, mesmo descrevendo o perfil de temperatura no instante médio considerado, situa-se mais próxima da curva que descreve o perfil no instante final que da curva que descreve o instante inicial. Isto corrobora a conclusão já obtida da análise da Figura 3 que, a medida que o tempo passa, a variação do perfil de temperatura diminui, tendendo ao regime permanente para t→∞. Figura 4: Exemplos de perfis de temperatura na haste em três momentos diferentes: um instante antes de a haste ser submetida às temperaturas T00 e TN0, em 10 s e em 20 s. A grade opcional foi inserida para melhorar a precisão na leitura do gráfico. Apesar da riqueza de informações, a descrição baseada nas Figuras 3 e 4 é limitada pelo fato de estarmos utilizando objetos estáticos para descrever uma situação dinâmica. É nesse sentido que simulações criadas no formato de GIF tendem a complementar a descrição do problema, auxiliando no processo de ensino-aprendizagem. A sequência de comandos referente a este exemplo e a animação correspondente estão disponíveis no material suplementar [7]. 4.2. Exemplo 2 Como segundo exemplo, analisamos uma haste de difusividade térmica D=10-4⁢m2/s inicialmente em equilíbrio térmico a 20°C cujas extremidades são submetidas a temperaturas fixas diferentes, T0j=0°C e TNj=50°C. Neste caso, sabemos que, no limite t→∞, teremos um perfil linear de temperatura dado por: (5) f ⁢ ( x ) = a ⁢ x + b , com a=5×102°C/m e b = 0. A evolução do perfil de temperatura em 20 s é apresentada em forma 3D na Figura 5. O perfil de temperatura no instante final considerado parece linear. Entretanto, esta aparência se deve em parte à imprecisão ao se analisar a situação apenas do ponto de vista do gráfico 3D. Uma melhor perspectiva pode ser obtida ao compararmos o perfil no tempo máximo considerado com o perfil descrito pela equação (5). Figura 5: Evolução temporal do perfil de temperatura da haste isolada com T0j=0° C e TNj=50° C, inicialmente em equilíbrio térmico a 20° C, no período de 20 s. Figura 6: Perfis de temperatura na haste em t≲0, tmax /2 e tmax . Acrescentamos, neste caso, o perfil de temperatura esperado no regime permanente, dado pela equação (5). Com isto, a diferença de temperaturas em tmax e t→∞ torna-se evidente. Perfis de temperatura em t≲0,tmax /2 e tmax são mostrados na Figura 6. Também mostramos o perfil esperado no regime permanente. Uma vez que há diferença entre o perfil de temperatura em tmax e o perfil esperado no regime permanente, percebemos que a aparência de perfil linear exibida na Figura 5 pode levar a equívocos. Isto evidencia a necessidade de se abordar o problema de todas as formas possíveis. O GIF referente a este exemplo é apresentado no material suplementar descrito na referência [7]. 4.3. Exemplo 3 Consideramos novamente uma haste de difusividade térmica D=10-4⁢m2/s, porém com um perfil de temperatura inicial agora fora do equilíbrio térmico. Neste caso, fazemos o perfil inicial como (6) f ⁢ ( x ) = A ⁢ sen ⁢ ( π ⁢ x / L ) , com A = 20° C. Assim como no exemplo 2, a haste é submetida às temperaturas T0j=0° C e TNj=50∘C. A Figura 7 apresenta a evolução temporal da temperatura em uma figura tridimensional. Figura 7: Variação do perfil de temperatura na haste no exemplo 3. Figura 8: Comparações dos perfis de temperatura na haste isolada em t≲0,tmax /2,tmax considerando o exemplo 3. A comparação dos perfis de temperatura nos instantes t≲0, t=tmax /2 e t=tmax é mostrada na Figura 8. Percebemos que, apesar de as temperaturas nas extremidades da haste e o intervalo de tempo considerado serem os mesmos do exemplo 2, o perfil final de temperatura em tmax está ligeiramente mais distante do regime permanente no presente caso. Assim como nos dois exemplos anteriores, o GIF representando a difusão térmica no presente caso está disponível no material suplementar que pode ser acessado no endereço eletrônico descrito na referência [7]. 4.4. Exemplo 4 Como último caso, vamos considerar a condução de calor em uma haste isolada com uma difusividade térmica de D=10-5⁢m2/s. Consideramos a haste inicialmente em equilíbrio térmico a 20° C quando suas extremidades são submetidas às temperaturas de 0° C e 50° C. Ao analisarmos a dinâmica da difusão térmica nos mesmos 20 s dos exemplos anteriores, objetivamos ilustrar o efeito que uma diminuição considerável na difusividade térmica tem na condução de calor. A representação 3D da dinâmica de propagação de calor com o tempo na extensão da haste é apresentada na Figura 9. Diferente dos dois exemplos anteriores, é visível, já por meio da análise tridimensional, que o perfil de temperatura ao longo da haste em tmax está distante do regime linear permanente esperado. Esta diferença fica ainda mais clara na Figura 10, na qual apresentamos os perfis de temperatura ao longo da haste em t≲0, t=10 s e t = 20 s, bem como o perfil permanente esperado. Figura 9: Representação da propagação de calor em uma haste de difusividade térmica D=10-5⁢m2/s inicialmente a 20° C com extremidades submetidas a 0° C e a 50° C. Figura 10: Perfis de temperatura no exemplo 4. Percebemos a grande diferença entre o perfil de temperatura no instante tmax e o regime permanente esperado. A comparação com os exemplos anteriores deixa clara a relação da difusividade térmica com a evolução do regime transiente de temperatura ao longo da haste. Entretanto, mais uma vez, a simulação, disponível no material suplementar [7], ajuda a compreensão dessa diferença de uma forma intuitiva, uma vez que a variação percebida agora, em comparação aos exemplos anteriores, é evidentemente mais lenta. , onde sugerimos alguns exemplos de aplicações; nossas conclusões são apresentadas na seção 5 5. Conclusão O produto ora apresentado evidencia uma alternativa livre para desenvolvimento de pesquisa e de recursos digitais para o Ensino de Física. Esperamos ter convencido os educadores na área de Física, e de Ciências em geral, que o software Maxima é uma opção menos complexa que as linguagens de programação e livre dos custos dos programas de computação algébrica comumente adotados no espaço acadêmico. Esta última característica é particularmente interessante quando colocada no contexto de países em desenvolvimento como o Brasil. Esperamos que o exemplo adotado tenha sumarizado o fato de o software poder ser utilizado nas diversas frentes de desenvolvimento da solução do problema, seja numericamente, com a geração de gráficos, com a disponibilidade de elementos de programação e, em especial, com a possibilidade da criação de simulações da situação física investigada. Esta característica, em particular, constitui o principal motivo da adoção do software Maxima, pois possibilita a criação de GIFs sem a necessidade de exportar figuras para outros softwares. O código do exemplo 1 é disponibilizado integralmente no material suplementar [7]. Os demais exemplos podem ser obtidos a partir deste código com poucas modificações no perfil inicial de temperatura, nos valores das temperaturas, etc. Nosso objetivo é chamar a atenção dos educadores ao fato de eles poderem ter, gratuitamente, o controle de recursos digitais avançados utilizados no processo de ensino-aprendizagem, modelando-os consoante à realidade de seus estudantes. Ao ter a liberdade de manipular o código, o educador pode realizar alterações mesmo durante as aulas, considerando inclusive situações novas propostas pelos estudantes. Isto não é possível ao se ater a simulações disponíveis na internet ou à estaticidade dos livros-textos, cujos parâmetros não podem ser modificados ou manipulados. Apesar dos problemas que apresenta [3], acreditamos que software Maxima seja uma excelente ferramenta computacional-algébrica, especialmente para o professor que deseje informatizar o processo de ensino-aprendizagem. Além disso, o software possui elementos de programação que podem constituir o primeiro contato dos educadores com a lógica de programação, tornando o seu processo criativo ainda mais rico. . Os GIFs resultantes dos exemplos apresentados aqui e o código referente ao primeiro exemplo podem ser encontrados no material suplementar descrito na referência [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
]. Com isto, esperamos que os professores possam utilizá-lo, modelando-o conforme suas próprias necessidades e dos exemplos de condução de calor que desejam apresentar aos seus estudantes.

2. Equação de condução de calor unidimensional

Aqui tratamos o problema da condução de calor em uma dimensão sem geração de calor no material em questão. Considerando que a condutividade térmica do material seja constante1 1 Em geral, este coeficiente varia com a temperatura, mas resultados aproximados com boa precisão podem ser obtidos ao considerá-lo constante utilizando o seu valor médio [8]. , a equação de condução de calor em uma dimensão pode ser expressada como [8[8] Y.A. Çengel e A.J. Ghajar, Transferência de calor e massa: uma abordagem prática (AMGH, Porto Alegre, 2012), 4ª ed.]:

(1) T ( x , t ) t = D 2 T ( x , t ) x 2 ,

sendo D a difusividade térmica.

Como exemplo de sistemas descritos por soluções da equação (1), consideramos uma haste isolada de comprimento L com um perfil inicial de temperatura dado por uma função arbitrária f(x). Ao se submeterem as extremidades da haste a temperaturas constantes, teremos a condição T(0,t)=T1 e T(L,t)=T2. Com este tipo de configuração, esperamos que, em t, a situação se torne permanente e o perfil de temperatura na haste seja linear, o que pode ser obtido da equação (1) fazendo-se T/t0. Nosso objetivo, entretanto, é exemplificar o regime transiente entre o momento inicial, no qual a haste encontra-se com perfil de temperatura f(x), e a fase de regime permanente. Para tal, utilizamos o método FTCS descrito abaixo.

O esquema numérico mais simples para a solução da equação (1) considera a seguinte aproximação para a derivada de primeira ordem [5[5] C. Scherer, Métodos Computacionais da Física (Livraria da Física, São Paulo, 2010), 2ª ed., 6[6] D. Yevick, A First Course in Computational Physics and Object-Oriented Programming with C++ (Cambridge University Press, Cambridge, 2005).]:

(2) T ( x , t ) t T ( x , t + Δ t ) - T ( x , t ) Δ t ,

enquanto que para a derivada de segunda ordem, temos:

(3) 2 T ( x , t ) x 2 T ( x + Δ x , t ) - 2 T ( x , t ) + T ( x - Δ x , t ) Δ x 2 .

Adotamos a nomenclatura Tij=T(xi,tj), a partir da qual a equação (1), aplicando-se as discretizações (2) e (3), pode ser escrita como:

(4) T i j + 1 = c ( T i + 1 j + T i - 1 j ) + ( 1 - 2 c ) T i j ,

sendo cDΔt/Δx2. Neste caso, dividindo a haste em N partes, ao sabermos a temperatura no instante inicial nos pontos definidos por x0=0,x1=Δx,,xN=L, podemos determinar os valores de temperatura nos instantes Δt,2Δt,. Esta evolução numérica é estável desde que c0,5 [5[5] C. Scherer, Métodos Computacionais da Física (Livraria da Física, São Paulo, 2010), 2ª ed.].

3. O pacote Draw

A presente seção traz um breve resumo do pacote Draw disponível no software Maxima. Este pacote é o principal motivo pela escolha do software no desenvolvimento da solução ora apresentada, uma vez que permite a geração de GIFs diretamente a partir da linha de comando do Maxima, sem a necessidade de exportar figuras para outros softwares. Vale a pena ressaltar que, embora haja alguns sistemas de computação algébrica que possam oferecer uma ferramenta similar ao Draw, o Maxima é um software grátis e livre com versões para os principais sistemas operacionais utilizados atualmente.

O pacote Draw pode ser utilizado para gerar gráficos bi ou tridimensionais. É uma ferramenta muito poderosa que permite grande personalização do gráfico gerado. Abaixo, apresentamos um exemplo de como o Draw pode ser utilizado para gerar um gráfico 2D:

Este conjunto de comandos gera o gráfico apresentado na Figura 1. Além de gerar gráficos com o comando explicit, o gr2d aceita também várias outras opções, que podem ser utilizadas para gerar gráficos de forma implícita, a partir de conjuntos de pontos, de funções paramétricas, em diversos sistemas de coordenadas, objetos geométricos, etc. Além disso, o pacote permite a modificação de vários parâmetros do gráfico, como tamanho, família e tamanho da fonte, título, descrição dos eixos e das curvas, dentre outros, com a possibilidade de exportar a figura em diversos formatos.

Figura 1:
Exemplo de figura bidimensional que pode ser gerada com o pacote Draw pelo software Maxima. A função em questão é a função de Bessel de primeiro tipo [9[9] G.B. Arfken e H.J. Weber, Mathematical Methods for Physicists (Elsevier, San Diego, 2005), 6ª ed.].

Vamos agora apresentar um exemplo tridimensional:

Neste caso, temos a superfície gerada pela função P21(cosθ)cosϕ, sendo Plm as funções associadas de Legendre [9[9] G.B. Arfken e H.J. Weber, Mathematical Methods for Physicists (Elsevier, San Diego, 2005), 6ª ed.]. O resultado do comando acima é mostrado na Figura 2.

Figura 2:
Exemplo de uma figura tridimensional gerada pelo pacote Draw. Escolhemos a função Plm(cosθ)cos(mϕ) que forma a base da parte real dos harmônicos esféricos escalares, desconsiderando-se a normalização, com l = 2 e m = 1 [9[9] G.B. Arfken e H.J. Weber, Mathematical Methods for Physicists (Elsevier, San Diego, 2005), 6ª ed.].

Uma vez que apresentamos a estrutura básica do pacote Draw, vamos sumarizar a seguir como se dá a criação de GIFs. Neste caso, entretanto, é importante a utilização de um outro comando muito útil no Maxima, que é o comando makelist. Como o próprio nome sugere, este comando cria uma lista de objetos vinculados a uma determinada variável. Por exemplo, o comando

cria uma lista de i2 com i no intervalo [0,1] com passo de 0,1. Das possíveis expressões que podem ser fornecidas ao comando makelist, estão aquelas que são utilizadas para a criação de gráficos. Sendo assim, é possível gerar um conjunto de figuras de uma mesma função utilizando o makelist. O pacote Draw então sintetiza estas figuras em um GIF. Um exemplo de como isto pode ser feito segue abaixo:

Neste exemplo, cria-se um GIF com quatro quadros, cada um mostrando a função xi com i variando de 1 a 4. O tempo de exibição de cada quadro é controlado pela opção delay que é medida em centésimos de segundo. Ao fazermos delay = 100, garantimos que cada quadro seja mostrado por um segundo. Essa opção, entretanto, pode ser omitida, fazendo com que a variável delay receba o valor padrão que é 5 (0,05 s). Vale a pena ressaltar que é possível também criar GIFs com gráficos 3D apesar de o exemplo acima ser 2D.

Os exemplos apresentados aqui têm o objetivo de mostrar, de forma sucinta, o funcionamento do pacote Draw. Ressaltamos, todavia, que as funções deste pacote são bem mais variadas do que as apresentadas aqui. Além disso, o conjunto de comandos utilizados para resolver problemas como o da condução térmica unidimensional se baseia em ferramentas além das listadas aqui, dentre elas, objetos de lógica como for, if, listas, etc. Todas essas funções e opções estão descritas na documentação do Maxima, inclusive em português, que pode ser acessada a partir do site do projeto [2[2] MAXIMA, Maxima, a Computer Algebra System, disponível em: https://maxima.sourceforge.io/, acessado em 09/06/2022.
https://maxima.sourceforge.io/...
]. Quanto aos exemplos de GIFs descritos no presente artigo, eles podem ser encontrados no material suplementar disponível no endereço eletrônico apresentado na referência [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
].

4. Exemplos

Aqui abordamos alguns exemplos de como ocorre a dinâmica transicional de temperatura em uma haste isolada considerando uma difusividade térmica constante. Em todos os casos, consideramos que a haste tem L=10cm de comprimento e está com as temperaturas das extremidades fixas, podendo ou não serem diferentes. Para aplicar o método numérico, dividimos a haste em 20 partes, ou seja Δx=5×10-3 m, e fazemos Δt=5×10-2 s. A evolução numérica da equação (4) é feita no intervalo de tempo [0,tmax], gerando-se um conjunto de Mtmax/Δt listas, denominadas tmpj, as quais contêm o conjunto dos pares ordenados (iΔx,Tij), com i de 0 a N. Cada lista corresponde ao perfil de temperatura da haste no instante jΔt, de modo que tmp0 se refere ao perfil em t = 0 e tmpM se refere ao perfil de temperatura no instante final considerado. Geramos assim uma sequência de imagens com as listas tmpj, com j indo de 0 a M, usando o comando makelist e o comando gr2d. Esta sequência de imagens é então sintetizada em um GIF com o pacote Draw.

4.1. Exemplo 1

Como primeiro exemplo, consideramos uma haste de difusividade térmica D=10-4 m2/s que se encontra a uma temperatura uniforme de 20°C quando suas extremidades são submetidas à mesma temperatura de 0°C. Sendo assim, em t = 0, T00=TN0=0°C, enquanto em todos os outros pontos Ti0=20°C (0<i<N). A partir disto, a equação (4) é desenvolvida por 20 s.

Figura 3:
Perfil da temperatura da haste nos 20 s considerados. Esta figura foi gerada com ajuda de um software externo ao Maxima, o Gnuplot [10[10] GNUPLOT, Gnuplot homepage, disponível em: http://www.gnuplot.info/, acessado em 09/06/2022.
http://www.gnuplot.info/...
]. Parte do código desenvolvido destina-se a escrever os pontos obtidos numericamente para um arquivo no formato padrão do Gnuplot.

Inicialmente, utilizamos o conjunto de listas tmpj para gerar a Figura 3 que mostra a evolução temporal da temperatura da haste em uma perspectiva 3D. A figura evidencia que, no tempo considerado, a haste não atingiu o equilíbrio esperado na temperatura a qual estão submetidas suas extremidades e que, à medida que a sua temperatura diminui, mais lenta é a sua variação. Esta análise gráfica tem como pontos negativos o fato de não ser possível determinar precisamente as temperaturas na haste em um determinado instante. A barra colorida no gráfico nos permite apenas inferir a temperatura em cada ponto e a cada instante de forma aproximada.

Uma descrição gráfica mais precisa pode ser obtida a partir do perfil de temperatura em instantes específicos. Isso pode ser feito diretamente no Maxima a partir do conjunto de listas tmpj. Escolhemos os perfis de temperatura em t0,tmax /2 e tmax e os mostramos conjuntamente na Figura 4. Percebemos que a curva vermelha, mesmo descrevendo o perfil de temperatura no instante médio considerado, situa-se mais próxima da curva que descreve o perfil no instante final que da curva que descreve o instante inicial. Isto corrobora a conclusão já obtida da análise da Figura 3 que, a medida que o tempo passa, a variação do perfil de temperatura diminui, tendendo ao regime permanente para t.

Figura 4:
Exemplos de perfis de temperatura na haste em três momentos diferentes: um instante antes de a haste ser submetida às temperaturas T00 e TN0, em 10 s e em 20 s. A grade opcional foi inserida para melhorar a precisão na leitura do gráfico.

Apesar da riqueza de informações, a descrição baseada nas Figuras 3 e 4 é limitada pelo fato de estarmos utilizando objetos estáticos para descrever uma situação dinâmica. É nesse sentido que simulações criadas no formato de GIF tendem a complementar a descrição do problema, auxiliando no processo de ensino-aprendizagem. A sequência de comandos referente a este exemplo e a animação correspondente estão disponíveis no material suplementar [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
].

4.2. Exemplo 2

Como segundo exemplo, analisamos uma haste de difusividade térmica D=10-4m2/s inicialmente em equilíbrio térmico a 20°C cujas extremidades são submetidas a temperaturas fixas diferentes, T0j=0°C e TNj=50°C. Neste caso, sabemos que, no limite t, teremos um perfil linear de temperatura dado por:

(5) f ( x ) = a x + b ,

com a=5×102°C/m e b = 0.

A evolução do perfil de temperatura em 20 s é apresentada em forma 3D na Figura 5. O perfil de temperatura no instante final considerado parece linear. Entretanto, esta aparência se deve em parte à imprecisão ao se analisar a situação apenas do ponto de vista do gráfico 3D. Uma melhor perspectiva pode ser obtida ao compararmos o perfil no tempo máximo considerado com o perfil descrito pela equação (5).

Figura 5:
Evolução temporal do perfil de temperatura da haste isolada com T0j=0° C e TNj=50° C, inicialmente em equilíbrio térmico a 20° C, no período de 20 s.
Figura 6:
Perfis de temperatura na haste em t0, tmax /2 e tmax . Acrescentamos, neste caso, o perfil de temperatura esperado no regime permanente, dado pela equação (5). Com isto, a diferença de temperaturas em tmax e t torna-se evidente.

Perfis de temperatura em t0,tmax /2 e tmax são mostrados na Figura 6. Também mostramos o perfil esperado no regime permanente. Uma vez que há diferença entre o perfil de temperatura em tmax e o perfil esperado no regime permanente, percebemos que a aparência de perfil linear exibida na Figura 5 pode levar a equívocos. Isto evidencia a necessidade de se abordar o problema de todas as formas possíveis. O GIF referente a este exemplo é apresentado no material suplementar descrito na referência [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
].

4.3. Exemplo 3

Consideramos novamente uma haste de difusividade térmica D=10-4m2/s, porém com um perfil de temperatura inicial agora fora do equilíbrio térmico. Neste caso, fazemos o perfil inicial como

(6) f ( x ) = A sen ( π x / L ) ,

com A = 20° C. Assim como no exemplo 2, a haste é submetida às temperaturas T0j=0° C e TNj=50C. A Figura 7 apresenta a evolução temporal da temperatura em uma figura tridimensional.

Figura 7:
Variação do perfil de temperatura na haste no exemplo 3.
Figura 8:
Comparações dos perfis de temperatura na haste isolada em t0,tmax /2,tmax considerando o exemplo 3.

A comparação dos perfis de temperatura nos instantes t0, t=tmax /2 e t=tmax é mostrada na Figura 8. Percebemos que, apesar de as temperaturas nas extremidades da haste e o intervalo de tempo considerado serem os mesmos do exemplo 2, o perfil final de temperatura em tmax está ligeiramente mais distante do regime permanente no presente caso. Assim como nos dois exemplos anteriores, o GIF representando a difusão térmica no presente caso está disponível no material suplementar que pode ser acessado no endereço eletrônico descrito na referência [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
].

4.4. Exemplo 4

Como último caso, vamos considerar a condução de calor em uma haste isolada com uma difusividade térmica de D=10-5m2/s. Consideramos a haste inicialmente em equilíbrio térmico a 20° C quando suas extremidades são submetidas às temperaturas de 0° C e 50° C. Ao analisarmos a dinâmica da difusão térmica nos mesmos 20 s dos exemplos anteriores, objetivamos ilustrar o efeito que uma diminuição considerável na difusividade térmica tem na condução de calor.

A representação 3D da dinâmica de propagação de calor com o tempo na extensão da haste é apresentada na Figura 9. Diferente dos dois exemplos anteriores, é visível, já por meio da análise tridimensional, que o perfil de temperatura ao longo da haste em tmax está distante do regime linear permanente esperado. Esta diferença fica ainda mais clara na Figura 10, na qual apresentamos os perfis de temperatura ao longo da haste em t0, t=10 s e t = 20 s, bem como o perfil permanente esperado.

Figura 9:
Representação da propagação de calor em uma haste de difusividade térmica D=10-5m2/s inicialmente a 20° C com extremidades submetidas a 0° C e a 50° C.
Figura 10:
Perfis de temperatura no exemplo 4. Percebemos a grande diferença entre o perfil de temperatura no instante tmax e o regime permanente esperado.

A comparação com os exemplos anteriores deixa clara a relação da difusividade térmica com a evolução do regime transiente de temperatura ao longo da haste. Entretanto, mais uma vez, a simulação, disponível no material suplementar [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
], ajuda a compreensão dessa diferença de uma forma intuitiva, uma vez que a variação percebida agora, em comparação aos exemplos anteriores, é evidentemente mais lenta.

5. Conclusão

O produto ora apresentado evidencia uma alternativa livre para desenvolvimento de pesquisa e de recursos digitais para o Ensino de Física. Esperamos ter convencido os educadores na área de Física, e de Ciências em geral, que o software Maxima é uma opção menos complexa que as linguagens de programação e livre dos custos dos programas de computação algébrica comumente adotados no espaço acadêmico. Esta última característica é particularmente interessante quando colocada no contexto de países em desenvolvimento como o Brasil.

Esperamos que o exemplo adotado tenha sumarizado o fato de o software poder ser utilizado nas diversas frentes de desenvolvimento da solução do problema, seja numericamente, com a geração de gráficos, com a disponibilidade de elementos de programação e, em especial, com a possibilidade da criação de simulações da situação física investigada. Esta característica, em particular, constitui o principal motivo da adoção do software Maxima, pois possibilita a criação de GIFs sem a necessidade de exportar figuras para outros softwares.

O código do exemplo 1 é disponibilizado integralmente no material suplementar [7[7] E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
https://www.ednilton.ufpa.br/index.php/s...
]. Os demais exemplos podem ser obtidos a partir deste código com poucas modificações no perfil inicial de temperatura, nos valores das temperaturas, etc. Nosso objetivo é chamar a atenção dos educadores ao fato de eles poderem ter, gratuitamente, o controle de recursos digitais avançados utilizados no processo de ensino-aprendizagem, modelando-os consoante à realidade de seus estudantes. Ao ter a liberdade de manipular o código, o educador pode realizar alterações mesmo durante as aulas, considerando inclusive situações novas propostas pelos estudantes. Isto não é possível ao se ater a simulações disponíveis na internet ou à estaticidade dos livros-textos, cujos parâmetros não podem ser modificados ou manipulados.

Apesar dos problemas que apresenta [3[3] N. Karjanto e H.S. Husain, Mathematics 9, 1317 (2021).], acreditamos que software Maxima seja uma excelente ferramenta computacional-algébrica, especialmente para o professor que deseje informatizar o processo de ensino-aprendizagem. Além disso, o software possui elementos de programação que podem constituir o primeiro contato dos educadores com a lógica de programação, tornando o seu processo criativo ainda mais rico.

Agradecimentos

O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – Brasil (CAPES) – Código de Financiamento 001. Agradeço também ao apoio do Programa Nacional de Mestrado Profissional em Ensino de Física por meio do polo 37.

Referências

  • [1]
    F.J. de Almeida, Educação e informática: os computadores na escola (Cortez, São Paulo, 2012), 5ª ed.
  • [2]
    MAXIMA, Maxima, a Computer Algebra System, disponível em: https://maxima.sourceforge.io/, acessado em 09/06/2022.
    » https://maxima.sourceforge.io/
  • [3]
    N. Karjanto e H.S. Husain, Mathematics 9, 1317 (2021).
  • [4]
    A.C. Sabino, A.M. de Campos, D.T. de Morais, J.P. Kaled, M.E. Gozzi e R. Viscovini, Revista Brasileira de Ensino de Física 41, e20180118 (2019).
  • [5]
    C. Scherer, Métodos Computacionais da Física (Livraria da Física, São Paulo, 2010), 2ª ed.
  • [6]
    D. Yevick, A First Course in Computational Physics and Object-Oriented Programming with C++ (Cambridge University Press, Cambridge, 2005).
  • [7]
    E.S. de Oliveira, Simulações para difusão de calor unidimensional com o software Maxima, disponível em: https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term, acessado em 08/06/2022.
    » https://www.ednilton.ufpa.br/index.php/simulacoes/23-dif-term
  • [8]
    Y.A. Çengel e A.J. Ghajar, Transferência de calor e massa: uma abordagem prática (AMGH, Porto Alegre, 2012), 4ª ed.
  • [9]
    G.B. Arfken e H.J. Weber, Mathematical Methods for Physicists (Elsevier, San Diego, 2005), 6ª ed.
  • [10]
    GNUPLOT, Gnuplot homepage, disponível em: http://www.gnuplot.info/, acessado em 09/06/2022.
    » http://www.gnuplot.info/
  • 1
    Em geral, este coeficiente varia com a temperatura, mas resultados aproximados com boa precisão podem ser obtidos ao considerá-lo constante utilizando o seu valor médio [8[8] Y.A. Çengel e A.J. Ghajar, Transferência de calor e massa: uma abordagem prática (AMGH, Porto Alegre, 2012), 4ª ed.].

Datas de Publicação

  • Publicação nesta coleção
    06 Jan 2023
  • Data do Fascículo
    2023

Histórico

  • Recebido
    27 Jun 2022
  • Revisado
    05 Set 2022
  • Aceito
    23 Nov 2022
Sociedade Brasileira de Física Caixa Postal 66328, 05389-970 São Paulo SP - Brazil - São Paulo - SP - Brazil
E-mail: marcio@sbfisica.org.br