Clase 16: EDP Parabólicas

Bibliografía de la Clase:

  • Introduction to Numerical Analysis - J.Stoer, R.Bulirsch. Chapter 7: Ordinary Differential Equations.
  • Análisis Numérico - L. Burden, J Faires. Capítulo 12: Soluciones numéricas para las ecuaciones diferenciales parciales
  • Guía profesor Luis Salinas 396

Ecuaciones diferenciales Parabólicas

Un ejemplo de EDP parabólica es la ecuación de calor o difusión:

Ecuación de calor o difusión

Usada para modelar el flujo de calor a lo largo de una varilla de longitud l, en la cual la temperatura es uniforme en cada sección transversal. Esta ecuación también es usada para estudiar la difusión del gas.

Ver la siguiente figura:

caption

La EDP que modela este fenómeno es:

(1)\frac{\partial u}{\partial t}(x,t)-
     \alpha^2 \frac{\partial^2 u}{\partial x^2}(x,t) = 0 \qquad
     0<x<l, t>0

sujeta a las condiciones:

(2)u(x,0) = f(x) \\
     u(0,t) = u_1  \\
     u(l,t) = u_2 \, ,

donde \alpha es la conductividad del material, f(x) es la distribución de calor en el momento inicial y u_1 y u_2 son las temperaturas constantes al inicio y el final de la varilla.

Método Forward Difference

Al igual que en el caso anterior, se obtiene una expresión para las derivadas parciales usando las series de Taylor:

u(x_i,t_{j+1}) = u(x_i,t_j+k)
\approx u(x_i,t_j)+ku'(x_i,t_j)

por lo tanto tenemos una expresión para:

(3)\frac{\partial u}{\partial t}(x_i,t_j) \approx
     \frac{u(x_i,t_{j+1})-u(x_i,t_j)}{k}

Así también puede expresarse la segunda derivada parcial como:

(4)\frac{\partial^2 u}{\partial x^2}(x_i,t_j) \approx
      \frac{u(x_{i+1},t_j)-2u(x_i,t_j)+u(x_{i-1},t_j)}{h^2}

Usando las ecuaciones (3) y (4) podemos expresar la ecuación (1) como:

(5)\frac{u_{i,j+1}-u_{i,j}}{k} -\alpha^2
     \frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{h^2}=0

Resolviendo la ecuación para u_{i,j+1} se obtiene un sistema de ecuaciones:

(6)\boxed{ u_{i,j+1} = (1-2\lambda) u_{i,j} +
     \lambda (u_{i+1,j}+u_{i-1,j})}

con \lambda=\frac{\alpha^2 k}{h^2} para i=1,2,\dots,m-1 y j=1,2,\dots.

De las condiciones iniciales en (2) se tiene que:

u_{i,0}=f(x_i) \qquad \forall i=1,\dots,m-1 \\
u_{0,j}=u_{l,j} = 0 \qquad \forall j=0,\dots

La solución se va obteniendo para cada paso de tiempo j=1,2,\dots. Para t=0 la solución \mathbf{u}^{(0)} se conoce y es:

\mathbf{u}^{(0)} =
\begin{bmatrix}
u_{1,0}\\ \vdots \\ u_{m-1,0}
\end{bmatrix}
=
\begin{bmatrix}
f(x_1)\\ \vdots \\ f(x_{m-1})
\end{bmatrix}

La solución para el siguiente paso de tiempo está definida matricialmente por la ecuación (6):

\mathbf{u}^{(j)} = \mathbf{A} \mathbf{u}^{(j-1)}

donde

\mathbf{A}=\begin{bmatrix}
1-2\lambda & \lambda     & 0        & \dots  & \dots & 0 \\
\lambda    &  1-2\lambda &  \lambda & 0      & \dots & 0 \\
   0       & \ddots      & \ddots   & \ddots &       &  \\
0 & \dots & 0 & \lambda & 1-2\lambda & \lambda \\
0 & \dots & \dots & 0 & \lambda & 1-2\lambda
\end{bmatrix}

Ejercicio en clases

Aproxime la siguiente ecuación de calor usando h=0.1 y k=0.00005:

\frac{\partial u}{\partial t}(x,y)-
\frac{\partial^2 u}{\partial x^2}(x,y) = 0 \qquad
 0<x<l, t>0

con las condiciones de borde:

u(x,0) = sin(\pi x)  \qquad 0 \leq x \leq 1\\
u(0,t) = u(l,t) = 0  \qquad t > 0

El problema del método es que la estabilidad de su solución depende de que el valor de \lambda sea <0.5.

Método Backward Difference

Esta modificación surge para evitar que la efectividad del método dependa de la condición \lambda<0.5. La modificación consiste en expresar la ecuación (6) ahora para resolver u_{i,j-1}. El cambio se realiza para la siguiente expresión:

(7)\frac{\partial u}{\partial t}(x_i,t_j) \approx
     \frac{u(x_i,t_j)-u(x_i,t_{j-1})}{k}

Usando esta expresión, ahora se tiene que:

(8)\boxed{ u_{i,j-1} = (1+2\lambda) u_{i,j} -
     \lambda (u_{i+1,j}+u_{i-1,j})}

El sistema de ecuaciones a resolver será entonces:

\mathbf{A} \mathbf{u}^{j} = \mathbf{u}^{j-1}

donde

\mathbf{A}=\begin{bmatrix}
1+2\lambda & -\lambda     & 0        & \dots  & \dots & 0 \\
-\lambda    &  1+2\lambda &  -\lambda & 0      & \dots & 0 \\
   0       & \ddots      & \ddots   & \ddots &       &  \\
0 & \dots & 0 & -\lambda & 1+2\lambda & -\lambda \\
0 & \dots & \dots & 0 & -\lambda & 1+2\lambda
\end{bmatrix}

En este caso también resolvemos \mathbf{u}^{(j)} en función de \mathbf{u}^{(j-1)}. Sin embargo, en este caso la matriz \mathbf{A} es positiva definida y estrictamente diagonal lo que asegura estabilidad en la solución.

Ejercicio propuesto

Programe el ejercicio en clases usando el método Forward and Backward Difference h=0.1 y para dos valores de k: k=0.00005 y k=0.01 hasta t=0.5. Compare el error de ambos métodos considerando que la solución analítica es:

u(x,t) = e^{-\pi^2 t} sin(\pi x)

Concluya en términos de \lambda.