Ecuación del calor

Índice de Contenidos

  1. Introducción
  2. Caso condiciones de contorno homogéneas
  3. Caso condiciones de contorno no homogéneas

Introducción

La ecuación del calor es una ecuación diferencial parcial que describe la distribución del calor (o variaciones de temperatura) en una región a lo largo del tiempo. Su solución permite determinar la temperatura en cualquier punto de la región en cualquier instante de tiempo.

En este post se desarrollará la ecuación del calor en una dimensión, es decir, en una barra de longitud L. Primero veremos para el caso homogéneo, cuando la temperatura en los extremos de la barra son iguales a cero. Luego veremos el caso no homogéneo, cuando la temperatura en los extremos son distintos de cero.

Caso para condiciones de contorno (frontera) homogéneas:

La ecuación del calor en una dimensión está dada por:

\[\begin{align*} \frac{\partial u}{\partial t} &= K \frac{\partial^2 u}{\partial x^2} \\ u(x,0) &= f(x) \\ u(0,t) &= 0 \\ u(L,t) &= 0 \end{align*}\]

Donde:

\[\begin{align*} u(x,t) &= \text{Temperatura en el punto x en el tiempo t} \\ K &= \text{Coeficiente de difusión térmica} \\ f(x) &= \text{Temperatura inicial en el punto x} \\ u(0,t) &= \text{Temperatura en el extremo izquierdo de la barra} \\ u(L,t) &= \text{Temperatura en el extremo derecho de la barra} \end{align*}\]

La ecuación del calor se puede resolver usando el método de separación de variables.

\[\begin{align*} u(x,t) &= X(x)T(t) \\ \frac{\partial u}{\partial t} &= X(x)T'(t) \\ \frac{\partial^2 u}{\partial x^2} &= X''(x)T(t) \\ \end{align*}\]

Sustituyendo en la ecuación del calor:

\[\begin{align*} X(x)T'(t) &= K X''(x)T(t) \\ \frac{T'(t)}{K T(t)} &= \frac{X''(x)}{X(x)} = -\lambda \\ \end{align*}\]

Donde:

\[\begin{align*} \lambda &= \text{Constante de separación} \\ \end{align*}\]

Resolviendo la ecuación diferencial ordinaria para T(t):

\[\begin{align*} \frac{T'(t)}{K T(t)} &= -\lambda \\ T'(t) + \lambda K T(t) &= 0 \\ T'(t) &= -\lambda K T(t) \\ \frac{dT}{T} &= -\lambda K dt \\ \int \frac{dT}{T} &= -\lambda K \int dt \\ \ln(T) &= -\lambda K t + C \\ T(t) &= e^{-\lambda K t + C} \\ T(t) &= e^{-\lambda K t} e^C \\ T(t) &= e^{-\lambda K t} C \\ T(t) &= C e^{-\lambda K t} \\ \end{align*}\]

Resolviendo la ecuación diferencial ordinaria para X(x):

\[\begin{align*} \frac{X''(x)}{X(x)} &= -\lambda \\ X''(x) + \lambda X(x) &= 0 \\ \end{align*}\]

Resolviendo la ecuación diferencial ordinaria para λ > 0 :

\[\begin{align*} X''(x) &= -\lambda X(x) \\ X(x) &= C_1 \cos(\sqrt{\lambda} x) + C_2 \sin(\sqrt{\lambda} x) \\ \end{align*}\]

Usando las condiciones de contorno, imponiendo que C_2 sea distinto a 0, dado que no nos interesa la solución trivial:

\[\begin{align*} X(x) &= C_1 \cos(\sqrt{\lambda} x) + C_2 \sin(\sqrt{\lambda} x) \\ X(0) &= C_1 \cos(0) + C_2 \sin(0) = 0 \\ C_1 &= 0 \\ X(L) &= C_1 \cos(\sqrt{\lambda} L) + C_2 \sin(\sqrt{\lambda} L) = 0 \\ C_2 \sin(\sqrt{\lambda} L) &= 0 \\ C_2 & \neq 0 \\ \sin(\sqrt{\lambda} L) &= 0 \\ \sqrt{\lambda} L &= n \pi \\ \lambda &= (\frac{n \pi}{L})^2 \\ \end{align*}\]

Por lo tanto, la solución de la ecuación del calor es:

\[\begin{align*} u(x,t) &= X(x)T(t) \\ \end{align*}\]

Luego las funciones que son soluciones están dadas por:

\[\begin{align*} u_n(x,t) &= X_n(x)T_n(t) \\ \end{align*}\]

Donde:

\[\begin{align*} X_n(x) &= \sin(\frac{n \pi x}{L}) \\ T_n(t) &= C_n e^{-\lambda_n K t} \\ \lambda_n &= \left(\frac{n \pi}{L} \right)^2 \\ \end{align*}\]

Por superposición, la solución general está dada por:

\[\begin{align*} u(x,t) &= u_n(x,t) = \sum_{n=1}^{+\infty} B_n \sin(\frac{n \pi x}{L} ) e^{-\lambda_n K t} \\ \end{align*}\]

Usando la condición inicial:

\[\begin{align*} u(x,0) &= \sum_{n=1}^{+\infty} B_n \sin(\frac{n \pi x}{L} )= f(x) \\ \end{align*}\]

Donde:

\[\begin{align*} B_n &= \frac{2}{L} \int_{0}^{L} f(x) \sin(\frac{n \pi x}{L} ) \, dx \\ \end{align*}\]

Solución General

Finalmente, la solución de la ecuación del calor es:

\[\begin{align*} u(x,t) &= \sum_{n=1}^{+\infty} \left( \frac{2}{L} \int_{0}^{L} f(x) \sin(\frac{n \pi x}{L} ) \, dx \right)\sin(\frac{n \pi x}{L} ) e^{-\lambda_n K t} \ \end{align*}\]

Ejemplo

Hallar la solución de la ecuación del calor con las siguientes condiciones:

\[\begin{align*} \frac{\partial u}{\partial t} &= K \frac{\partial^2 u}{\partial x^2} \\ u(x,0) &= f(x) \\ u(0,t) &= u(L,t) = 0 \\ f(x) &= \begin{cases} x & \text{si } 0<x<\frac{L}{2} \\ L-x & \text{si } \frac{L}{2}<x<L \end{cases} \end{align*}\]

Solución:
Usando la solución general obtenida anteriormente de la ecuación del calor:

\[\begin{align*} u(x,t) &= \sum_{n=1}^{+\infty} B_n\sin(\frac{n \pi x}{L} ) e^{-\lambda_n K t} \ \end{align*}\]

Donde:

\[\begin{align*} B_n &= \frac{2}{L} \int_{0}^{L} f(x) \sin(\frac{n \pi x}{L} ) \, dx \\ \end{align*}\]

Calculando el coeficiente B_n:

\[\begin{align*} B_n &= \frac{2}{L} \left( \int_{0}^{\frac{L}{2}} x \sin(\frac{n \pi x}{L} ) \, dx + \int_{\frac{L}{2}}^{L} (L-x)\sin(\frac{n \pi x}{L} ) \, dx \right)\\ \end{align*}\]

Resolvemos la primera integral:

\[\begin{align*} \int_{0}^{\frac{L}{2}} x \sin(\frac{n \pi x}{L} ) \, dx &= \frac{L^2}{ \pi^2 n^2} \left( \sin(\frac{n \pi x}{L} ) - \frac{n \pi x}{L} \cos(\frac{n \pi x}{L} ) \right)_{0}^{\frac{L}{2}} \\ &= \frac{L^2}{ \pi^2 n^2} \left( \sin(\frac{n \pi}{2} ) - \frac{n \pi}{2} \cos(\frac{n \pi}{2} ) \right) \\ \end{align*}\]

Resolvemos la segunda integral:

\[\begin{align*} \int_{\frac{L}{2}}^{L} (L-x)\sin(\frac{n \pi x}{L} ) \, dx &= \left( (x-L) \frac{L}{n\pi}\cos(\frac{n \pi x}{L} ) - \frac{L^2}{n^2 \pi^2} \sin(\frac{n \pi x}{L} ) \right)_{\frac{L}{2}}^{L} \\ &= \frac{L^2}{2 \pi^2 n^2} \left( n\pi \cos(\frac{n\pi}{2})+2\sin(\frac{n\pi}{2})-2\sin(n\pi) \right) \\ \end{align*}\]

Por lo tanto, el coeficiente B_n está dado por:

\[\begin{align*} B_n &= \frac{2}{L} \left( \int_{0}^{\frac{L}{2}} x \sin(\frac{n \pi x}{L} ) \, dx + \int_{\frac{L}{2}}^{L} (L-x)\sin(\frac{n \pi x}{L} ) \, dx \right)\\ &= \frac{2}{L} \left( \frac{L^2}{ \pi^2 n^2} \left( \sin(\frac{n \pi}{2} ) - \frac{n \pi}{2} \cos(\frac{n \pi}{2} ) \right) + \frac{L^2}{2 \pi^2 n^2} \left( n\pi \cos(\frac{n\pi}{2})+2\sin(\frac{n\pi}{2})-2\sin(n\pi) \right)\right) \\ &= \frac{2}{L} \left( \frac{L^2}{ 2\pi^2 n^2} \left( 2\sin(\frac{n \pi}{2} ) - n \pi \cos(\frac{n \pi}{2} ) + n\pi \cos(\frac{n\pi}{2})+2\sin(\frac{n\pi}{2})-2\sin(n\pi) \right) \right)\\ &= \frac{2}{L} \left( \frac{L^2}{ 2\pi^2 n^2} \left( 4\sin(\frac{n \pi}{2} ) -2\sin(n\pi) \right) \right)\\ &= \frac{L}{\pi^2 n^2} \left( 4\sin(\frac{n \pi}{2} ) -2\sin(n\pi) \right)\\ \end{align*}\]

Si n es par, integrando se obtine que B_n = 0
Si n es impar se tiene:

\[\begin{align*} B_n &= \frac{L}{\pi^2 n^2} \left( 4\sin(\frac{n \pi}{2} ) -2\sin(n\pi) \right)\\ &= \frac{L}{\pi^2 n^2} \left( 4\sin(\frac{n \pi}{2} ) \right)\\ &= \frac{4L}{\pi^2 n^2} \left( \sin(\frac{n \pi}{2} ) \right)\\ &= \frac{4L}{\pi^2 n^2} \left( (-1)^{\frac{n-1}{2}} \right)\\ \text{Donde:} \quad n &= 2k+1 \quad \text{y} \quad k = 0,1,2,3, \ldots \end{align*}\]

Por lo tanto, la solución de la ecuación del calor es:

\[\begin{align*} u(x,t) &= \sum_{n=2k+1}^{+\infty} \left( \frac{4L}{\pi^2 (n)^2} \left( (-1)^{\frac{n-1}{2}} \right) \sin(\frac{n \pi x}{L} ) \right) e^{-\lambda_{n} K t} \\ &= \sum_{n=2k+1}^{+\infty} \left( \frac{4L}{\pi^2 n^2} \left( (-1)^{\frac{n-1}{2}} \right) \sin(\frac{n \pi x}{L} ) \right) e^{-\left(\frac{n \pi}{L} \right)^2 K t} \\ \end{align*}\] \[\begin{align*} \text{Donde:} \quad k = 0,1,2,3, \ldots \end{align*}\]

Código en python para visualizar la solución

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec

# Parámetros
L = 5  # Longitud de la barra
K = 0.1  # Constante de conductividad térmica
N = 10  # Número de términos de la serie de Fourier
T = 20  # Tiempo final

# Malla espacial y temporal
x = np.linspace(0, L, 100)  # Puntos en el eje x
t = np.linspace(0, T, 100)  # Puntos en el eje t
X, T = np.meshgrid(x, t)  # Matrices de coordenadas

# Solución
u = np.zeros_like(X)  # Matriz de temperatura
for n in range(1, N + 1):  # Suma de la serie de Fourier
    if n % 2 == 1:  # Solo los términos impares contribuyen
        a_n = 4 * L / (np.pi ** 2 * n ** 2) * (-1) ** ((n - 1) / 2)  # Coeficiente de Fourier
        u += a_n * np.sin(n * np.pi * X / L) * np.exp(-K * (n * np.pi / L) ** 2 * T)

# Gráfica
fig = plt.figure(figsize=(10, 6))  
gs = gridspec.GridSpec(1, 2, width_ratios=[9, 1])

# Gráfica principal
ax = plt.subplot(gs[0], projection='3d')
surface = ax.plot_surface(X, T, u, cmap='plasma')
ax.set_xlabel('x longitud barra (m)')
ax.set_ylabel('t tiempo (s)')
ax.set_zlabel('u(x,t)')


# Barra de color
ax2 = plt.subplot(gs[1])
cbar = plt.colorbar(surface, cax=ax2, shrink=0.5, aspect=15)
cbar.set_label('Temperatura (C°)')
plt.tight_layout(pad=2.0) 
plt.show()

 

Gráfica de la solución

Fig: Heat Solution for L= 5 , K=0.1

Caso para condiciones de contorno (frontera) no homogéneas:

La ecuación del calor en una dimensión está dada por:

\[\begin{align*} \frac{\partial u}{\partial t} &= K \frac{\partial^2 u}{\partial x^2} \\ u(x,0) &= 2x \\ u(0,t) &= 5 \\ u(5,t) &= 10 \end{align*}\]

Soon