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

De MateWiki
Saltar a: navegación, buscar
Línea 6: Línea 6:
  
 
[[Archivo:ecuación_del_calor_NAA.png|800px|right|]]
 
[[Archivo:ecuación_del_calor_NAA.png|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) 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()
  
 
[[Categoría:EDP]]
 
[[Categoría:EDP]]
 
[[Categoría:EDP25/26]]
 
[[Categoría:EDP25/26]]

Revisión del 11:28 12 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


Ecuación del calor NAA.png

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

  1. Dominio

x = np.linspace(0, 2, 200) # profundidad hasta 2 m

  1. 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)

  1. 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()