Ecuación del calor NAA
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Series de Fourier. Grupo NAA |
| Asignatura | EDP |
| Curso | 2025-26 |
| Autores | Natalia Gutiérrez de Uriarte
Alba Peralta Zamora Ainhoa Martín García |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
A continuación, se van a mostrar los códigos que se han utilizado para representar cada una de las gráficas del trabajo. Todos ellos han sido escritos en Python. En ambos códigos se pueden modificar la temperatura media, el periodo, la kappa(difusividad) y los tiempos ajustándolos a otros planetas y poder representar la temperatura de estos.
Código que representa la temperatura frente a la profundidad en la Tierra.
import numpy as np import matplotlib.pyplot as plt
Tm = 15 #temperatura media de la Tierra en grados. A0 = 10 kappa = 1e-6 P = 86400 # periodo diario
- Dominio
x = np.linspace(0, 2, 200) # profundidad hasta 2 m
- Tiempos distintos
times = [0, P/4, P/2, 3*P/4]
for t in times:
T = Tm + A0*np.exp(-x*np.sqrt(np.pi/(P*kappa))) * \
np.sin(2*np.pi*t/P - x*np.sqrt(np.pi/(P*kappa)))
plt.plot(x, T, label=f"t={t/3600:.1f} h")
plt.xlabel("Profundidad (m)") plt.ylabel("Temperatura (°C)") plt.legend() plt.title("Temperatura vs profundidad") plt.grid() plt.show()
Código que representa la temperatura frente al tiempo en la Tierra:
import numpy as np import matplotlib.pyplot as plt
Tm = 15 A0 = 10 kappa = 1e-6 P = 86400 # periodo diario
t = np.linspace(0, P, 500)
- distintas profundidades
depths = [0, 0.25, 0.5, 1, 2]
for x in depths:
T = Tm + A0*np.exp(-x*np.sqrt(np.pi/(P*kappa))) * \
np.sin(2*np.pi*t/P - x*np.sqrt(np.pi/(P*kappa)))
plt.plot(t/3600, T, label=f"x={x} m")
plt.xlabel("Tiempo (horas)") plt.ylabel("Temperatura (°C)") plt.legend() plt.title("Temperatura vs tiempo a distintas profundidades") plt.grid() plt.show()