Diferencia entre revisiones de «Ecuación del calor NAA»

De MateWiki
Saltar a: navegación, buscar
(Página creada con «{{ TrabajoED | Series de Fourier. Grupo NAA| EDP|2025-26 | Natalia Gutiérrez de Uriarte Alba Peralta Zamora Ainhoa Martín...»)
 
 
(No se muestran 8 ediciones intermedias de 2 usuarios)
Línea 4: Línea 4:
  
 
Ainhoa Martín García}}
 
Ainhoa Martín García}}
 +
 +
[[Archivo:ecuacion_del_calor_NAA_3.png|800px|right|]]
 +
 +
[[Archivo:ecuación_del_calor_NAA_1.pdf|800px|right|]]
 +
 +
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 térmica) 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:
 +
 +
<source lang="python" line>
 +
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()
 +
 +
</source>
 +
 +
Código que representa la temperatura frente al tiempo en la Tierra:
 +
 +
 +
<source lang="python" line>
 +
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()
 +
</source>
  
 
[[Categoría:EDP]]
 
[[Categoría:EDP]]
 
[[Categoría:EDP25/26]]
 
[[Categoría:EDP25/26]]

Revisión actual del 16:30 13 abr 2026

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


Ecuacion del calor NAA 3.png

Archivo:Ecuación del calor NAA 1.pdf

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 térmica) 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()