Ecuación del calor (Grupo CJMAS)
| Trabajo realizado por estudiantes | |
|---|---|
| Título |
Ecuación del calor en el océano (Grupo CJMAS). |
| Asignatura | EDP |
| Curso | 2024-25 |
| Autores | Claudia Domínguez Sánchez
Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía de Benito Valdueza |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introducción
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo el calor se transfiere en el océano bajo diferentes condiciones como son la densidad, difusividad y conductividad del agua.
2 Modelización de la transferencia de calor en el océano profundo
2.1 Planteamiento
Consideremos una porción de la Tierra de longitud [math]L[/math], en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:
donde [math]\alpha[/math] es la constante que representa la difusividad del agua.
En la superficie ([math] x=0 [/math]) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:
donde [math]h[/math] representa el coeficiente de transferencia del calor y [math]k[/math] la conductividad térmica.
En cambio, en el extremo opuesto, consideramos que su flujo es nulo.
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,
2.2 Solución
2.2.1 Solución estacionaria
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.
2.2.2 Solución mediante separación de variables
La solución general del problema, resuelta mediante separación de variables, es
con [math]\lambda_n=\alpha \beta_n^2 [/math], dónde [math]\beta_n[/math] cumple que [math]\tan(L \beta )=\frac{h}{k \beta}[/math]. En cuanto a los coeficientes de Fourier,
[math]A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right) [/math]
[math]B_n= 0 [/math]
De este modo, la solución quedaría como:
3 Códigos
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomando x=0 como el fondo y x=1000 como la superficie, donde tenemos que se alcanzan los máximos valores de temperatura y que decrece con el tiempo.
% Parámetros del problema
L = 1000; % Longitud del océano (en metros)
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)
h = 10; % Coeficiente de transferencia de calor
k = 0.6; % Conductividad térmica del agua
u_amb = 20; % Temperatura ambiente (grados Celsius)
u0 = 5; % Temperatura inicial (grados Celsius)
% Dominio espacial y temporal
Nx = 50; % Número de puntos en x
Nt = 100; % Número de pasos en t
x = linspace(0, L, Nx);
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)
% Número de términos en la serie
N_terms = 5;
% Solución de la serie de Fourier
u = zeros(Nx, Nt);
for n = 1:N_terms
beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L
lambda_n = alpha * beta_n^2; % Parámetro de la ecuación
A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); %
for i = 1:Nx
for j = 1:Nt
u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));
end
end
end
% Solución
u = u_amb - u;
% Graficar evolución de la temperatura
figure;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas
surf(X, T, u', 'EdgeColor', 'none');
xlabel('Distancia (m)');
ylabel('Tiempo (horas)');
zlabel('Temperatura (°C)');
title('Evolución de la temperatura en el océano');
colorbar;
view(3);
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito, lo que lleva a que la temperatura de océano tome el mismo valor que la temperatura ambiente, es decir, la solución estacionaria:
% Parámetros del problema
L = 1000; % Longitud del océano (en metros)
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)
h = 10; % Coeficiente de transferencia de calor
k = 0.6; % Conductividad térmica del agua
u_amb = 20; % Temperatura ambiente (grados Celsius)
u0 = 5; % Temperatura inicial (grados Celsius)
% Dominio espacial y temporal
Nx = 50; % Número de puntos en x
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes
x = linspace(0, L, Nx);
% Número de términos en la serie
N_terms = 10;
% Solución de la serie de Fourier
u = zeros(Nx, Nt);
for n = 1:N_terms
beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L
lambda_n = alpha * beta_n^2; % Parámetro de la ecuación
A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);
for i = 1:Nx
for j = 1:Nt
u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));
end
end
end
% Solución
u = u_amb - u;
% Crear el objeto VideoWriter para guardar el video
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)
open(v); % Abrir el objeto para grabar el video
% Crear la figura
figure;
colormap hot; % Mapa de calor para mejor visualización
% Crear la animación y capturar cada cuadro
for j = 1:Nt
imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura
set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta
xlabel('Distancia (m)');
ylabel('Profundidad (m)');
title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);
colorbar;
% Ajustar la escala de colores dinámicamente
caxis([min(u(:)), max(u(:))]);
pause(0.2); % Control de la velocidad de la animación
% Capturar el cuadro actual y agregarlo al video
frame = getframe(gcf); % Capturar el cuadro de la figura
writeVideo(v, frame); % Escribir el cuadro en el archivo de video
end
% Cerrar el archivo de video
close(v); % Finalizar y guardar el archivo de video
4 Conclusión
El mapa de calor proporciona otra perspectiva de cómo la temperatura converge en tiempo hacia la temperatura ambiente, es decir, la solución estacionaria de la EDP. La interpretación física de esto reside en el hecho de considerar la temperatura ambiente como una fuente de calor inalterable, de forma que la transferencia de calor ocurre del ambiente a nuestro medio, hasta llegar a la solución estacionaria, donde las derivadas parciales respecto a tiempo y posición son cero. Al cambiar los parámetros anteriormente detallados de la EDP, la forma de la solución cambia. Modificando [math]\alpha[/math] y [math]k[/math], las cuales son dependientes entre ellas y reflejan la capacidad del medio de transmitir calor por sí mismo, podemos alterar el ritmo al cual el calor se transfiere por el medio. Por otro lado, en la condición frontera de la superficie vienen reflejadas [math]k[/math], [math]h[/math]. La condición frontera modeliza el gradiente de temperatura en x=0, lo cual ocurre entre el ambiente y el medio. A mayor valor de h, el gradiente aumenta, ya que este parámetro modeliza la capacidad de transferir calor de un medio a otro. Por otro lado aumentar [math]k[/math] reduce el gradiente ya que que reduce el gradiente necesario para la misma tasa de transferencia de calor.
|- El mapa de calor proporciona otra perspectiva de cómo la temperatura converge en tiempo hacia la temperatura ambiente, es decir, la solución estacionaria de la EDP. La interpretación física de esto reside en el hecho de considerar la temperatura ambiente como una fuente de calor inalterable, de forma que la transferencia de calor ocurre del ambiente a nuestro medio, hasta llegar a la solución estacionaria, donde las derivadas parciales respecto a tiempo y posición son cero. Al cambiar los parámetros anteriormente detallados de la EDP, la forma de la solución cambia. Modificando [math]\alpha[/math] y [math]k[/math], las cuales son dependientes entre ellas y reflejan la capacidad del medio de transmitir calor por sí mismo, podemos alterar el ritmo al cual el calor se transfiere por el medio. Por otro lado, en la condición frontera de la superficie vienen reflejadas [math]k[/math], [math]h[/math]. La condición frontera modeliza el gradiente de temperatura en x=0, lo cual ocurre entre el ambiente y el medio. A mayor valor de h, el gradiente aumenta, ya que este parámetro modeliza la capacidad de transferir calor de un medio a otro. Por otro lado aumentar [math]k[/math] reduce el gradiente ya que que reduce el gradiente necesario para la misma tasa de transferencia de calor.