Ecuación del calor (ADMR)
| 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 | |
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.
(Este párrafo 100% :))
---
Desde un punto de vista físico, es natural abordar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, el afán de abstracción y generalización característico de la matemática llevó a Fourier a considerar también el caso de un dominio no acotado, es decir, una barra metálica de "longitud infinita".
En este trabajo, analizamos cómo varían las soluciones de la ecuación del calor en dominios acotados y no acotados, identificando sus diferencias y explorando sus implicaciones en la modelización de procesos físicos reales.
---
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
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) = Gaus
\end{cases}
[/math]
cuya 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. 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) = Gaus.
\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
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial [math]0.01 \ltmath/\gt, esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]] \ltsource lang="matlab"\gt %%% 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 \lt/source\gt [[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]] \ltsource lang="matlab"\gt %%% 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]; mu = 0; s = 1; % 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 end \lt/source\gt = Referencias = * Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1\ltnowiki\gt]\lt/nowiki\gt]). [[Categoría:EDP]] [[Categoría:EDP24/25]][/math]