Diferencia entre revisiones de «Ecuación del calor (ADMR)»
(→Introducción) |
(→Solución acotada vs Solución no acotada) |
||
| Línea 37: | Línea 37: | ||
| − | Físicamente, podemos interpretar que en el instante inicial hay una fuente de calor en el centro de la barra -o dos fuentes de frío a temperatura constante en los extremos- y éste se esparce por la barra. Matemáticamente, se usará la paridad de la función <math> e^{-x^2} </math> | + | Físicamente, podemos interpretar que en el instante inicial hay una fuente de calor en el centro de la barra -o dos fuentes de frío a temperatura constante en los extremos- y éste se esparce por la barra. Matemáticamente, se usará la paridad de la función <math> e^{-x^2} </math> ya que para <math> x </math> muy grandes o muy pequeños tiende a cero. A partir del instante inicial, los extremos de la barra se fuerzan a temperatura cero. La solución al resolver el problema de autofunciones viene dada por: |
Revisión del 22:44 17 mar 2025
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ecuación del calor (Grupo ADMR). |
| Asignatura | EDP |
| Curso | 2024-25 |
| Autores |
|
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introducción
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra Théorie analytique de la chaleur. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?
2 To do list
1) (Problema acot y sol)Damos la sol. con frontera 0 --> para extender mejor a no acot 2) Dibujinchis 3) (Problema no acot) Dar el problema, sol, dibujinchi 4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas 6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.
3 Solución acotada vs Solución no acotada
En esta sección se dará por conocida la solución fundamental y el método de separación de variables.
Vamos a considerar el siguiente problema de calor bidimensional sobre una barra metálica de longitud [math]2a, a\gt0[/math] con condiciones Dirichlet en la frontera:
[math]\quad
\begin{cases} u_{t} - u_{xx} = 0 \\
u(-a,t) = u(a,t) = 0 \quad \forall t \gt 0 \\
u(x,0) = e^{-x^2}
\end{cases}
[/math]
Físicamente, podemos interpretar que en el instante inicial hay una fuente de calor en el centro de la barra -o dos fuentes de frío a temperatura constante en los extremos- y éste se esparce por la barra. Matemáticamente, se usará la paridad de la función [math] e^{-x^2} [/math] ya que para [math] x [/math] muy grandes o muy pequeños tiende a cero. A partir del instante inicial, los extremos de la barra se fuerzan a temperatura cero. La solución al resolver el problema de autofunciones viene dada por:
[math]\quad
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}
\quad \text{ donde }
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.
[/math]
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado y con la misma interpretación física para el instante inicial. Para cierto [math] b \gt 0,[/math] y no necesariamente igual que con [math] a [/math]. Consideraremos la ecuación del calor
[math]\quad
\begin{cases} u_{t} - u_{xx} = 0 \\
u_x(-b,t) = u_x(b,t) = 0 \quad \forall t \gt 0 \\
u(x,0) = e^{-x^2}.
\end{cases}
[/math]
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo
[math]\quad
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.
[/math]
Veamos si, para valores de [math] a \text{y} b [/math] grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.
4 Códigos
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.
clc
clear all
close all
% Vector de valores de D (coeficiente de difusión)
DD = [1,2,3,4,5,6,7,8,9,10];
% Nombre del archivo GIF de salida
output_gif = 'Fundamental.gif';
% Crear la figura
figura = figure(1);
grid on;
view(3);
% Bucle para iterar sobre cada valor de D
for i = 1:length(DD)
D = DD(i);
% Función fundamental de la ecuación del calor
phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);
% Definición de la malla
xx = -1:0.01:1; % Rango de x
tt = 10^(-2):0.01:1; % Rango de t
[X, T] = meshgrid(xx, tt); % Malla de coordenadas
PHI_D = phi_D(X, T); % Evaluación de la función
% Graficar la superficie
clf;
surf(X, T, PHI_D);
shading flat
shading interp
colormap('jet')
xlabel('x');
ylabel('t');
zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');
title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])
axis([-1, 1, 0, 1, 0, 3])
drawnow;
% Captura de la imagen para el GIF
frame = getframe(figura);
img = frame2im(frame);
[imind, cm] = rgb2ind(img, 256);
% Escribir la imagen en el archivo GIF
if i == 1
imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);
else
imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);
end
end%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.
clc
clear all
close all
% Vector de valores de D (coeficiente de difusión)
DD = [1,10,20,30,40,50,60,70,80,90,100];
% Función gaussiana
gaus = @(x) (exp(-x.^2));
% Nombre del archivo GIF de salida
output_gif = 'Convoluciones_teorica.gif';
% Crear la figura
figura = figure(1);
grid on;
view(3);
% Bucle para iterar sobre cada valor de D
for h = 1:length(DD)
D = DD(h);
% Funciones fundamentales y convolución
phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);
convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));
% Definición de la malla
xx = -10:0.1:10; % Rango de x
tt = 10^(-2):0.01:1; % Rango de t
% Inicialización de la matriz de convolución
conv = zeros(length(xx), length(tt));
% Cálculo de la convolución
for j = 1:length(tt)
auxt = tt(j);
for i = 1:length(xx)
auxx = xx(i);
val_conv(i,j) = convo(auxx, auxt);
end
end
% Graficar la superficie
clf;
hold on;
view(3);
surf(xx, tt, val_conv.');
xlabel('x');
ylabel('t');
zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');
shading flat;
shading interp;
colormap('jet');
title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);
axis([-10, 10, 0, 1, 0, 1]);
hold off;
drawnow;
% Captura de la imagen para el GIF
frame = getframe(figura);
img = frame2im(frame);
[imind, cm] = rgb2ind(img, 256);
% Escribir la imagen en el archivo GIF
if h == 1
imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);
else
imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);
end
end5 Referencias
- Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([1]).