Catedra 16

Ecuaciones Parabolicas

$$ \frac{\partial F}{\partial t} + \frac{\partial}{\partial x}\left(B(x, t, F)\frac{\partial F}{\partial x}\right) = S(t, x, F) $$

Ejemplos:

  • $\dfrac{\partial T}{\partial t} = k\nabla^2T$ : Difusion del calor.
  • $\dfrac{\partial \psi}{\partial t} = -iH\psi$ : Ecuacion de Schroedinger dependiente del tiempo.

Partiendo con la ecuacion del calor con conductividad constante $k = k_0$ $$ \frac{\partial T}{\partial t} = k_0\frac{\partial^2T}{\partial x^2} $$

Adimensionalizacion del problema:

La idea es sacar las unidades del problema y luego resolver numericamente, asi uno no se acerca al limite donde se pierde precision.

$$\begin{matrix} x = Lx' \\ T = T^0T' \\ t = t_0t' \end{matrix}$$

Reemplazando de vuelta en la ecuacion queda:

$$\begin{matrix} \dfrac{\partial T}{\partial t} = \dfrac{\partial(T^0T')}{\partial(t_0t')} = \dfrac{T^0}{t_0}\dfrac{\partial T'}{\partial t'} \\ \\ \dfrac{\partial^2T}{\partial x^2} = \dfrac{T^0}{L^2}\dfrac{\partial T'}{\partial x'^2} \\ \\ \dfrac{T^0}{t_0}\dfrac{\partial T'}{\partial t'} = \dfrac{T^0k_0}{L^2}\dfrac{\partial T'}{\partial x'^2} \implies \dfrac{\partial T'}{\partial t'} = \dfrac{t_0k_0}{L^2}\dfrac{\partial T'}{\partial x'^2} \\ \\ \dfrac{t_0k_0}{L^2} = 1 \implies t_0 = \frac{L^2}{k_0} \end{matrix}$$

$\implies$ Problema adimensionalizado: $$ \dfrac{\partial T'}{\partial t'} = \dfrac{\partial^2 T'}{\partial x'^2} $$

Discretizacion:

Notacion: $T_j^n = T(t=t_n; x=x_j)$

$t_n = t_0 + n\epsilon$

$x_j = x_0 + jh$

Grilla en el espacio y tiempo

Metodo Explicito

$$\begin{matrix} \left(\dfrac{\partial T'}{\partial t'}\right)_j = \dfrac{T^{n+1}_j - T^n_j}{\epsilon} \\ \\ \left(\dfrac{\partial^2 T'}{\partial x'^2}\right)^n = \dfrac{T^n_{j+1} - 2T^n_j + T^n_{j-1}}{h^2} \\ \\ \dfrac{T^{n+1}_j - T^n_j}{\epsilon} = \dfrac{T^n_{j+1} - 2T^n_j + T^n_{j-1}}{h^2} \\ T_j^{n+1} = \dfrac{\epsilon}{h^2}\left[T^n_{j+1} - 2T^n_j + T^n_{j-1}\right] + T^n_j \end{matrix}$$

Se define $r = \dfrac{\epsilon}{h^2}$ y se tiene:

$$T_j^{n+1} = rT_{j+1}^n + (1-2r)T^n_j+ rT^n_{j-1}$$

Analisis de estabilidad

Para analizar la estabilidad del algoritmo se asume una solucion de tipo $T^n_j = \sigma^ne^{ikx_j}$.

Reemplazando se tiene y usando que $x_j = x_0 + hj$:

$$\begin{matrix} \sigma^{n+1}e^{ikx_j} = r\sigma^ne^{ikx_{j+1}} + (1- 2r)\sigma^ne^{ikx_j} + r\sigma^ne^{ikx_{j-1}} \\ \\ \sigma^{n+1} = r\sigma^ne^{ikh} + (1-2r)\sigma^n+r\sigma^ne^{-ikh} \\ \\ \sigma = re^{ikh}+(1-2r)+re^{-ikh} \\ \\ = 2r\cos(kh)+(1-2r) \\ \\ \sigma = 1-2r(1-\cos(kh)) \end{matrix}$$

Para que no diverja, $\sigma \in (-1, 1) \implies \vert\sigma\vert < 1$

$-1 < 1-2r(1-\cos(kh)) < 1$ a la vez. $\rightarrow -2r(1-\cos(kh)) > -2 \implies r(1-\cos(kh)) < 1$

En el peor caso $\cos(kh) = -1\quad r = \dfrac{\epsilon}{h^2} < \dfrac{1}{2}$

Si bien el algoritmo es estable, resulta ser caro para los pasos temporales y muy restrictivo para alanzar buena precision.

Metodo de Crank-Nicolson

$$ \frac{\partial T}{t} = \frac{\partial^2 T}{\partial x^2} = f(x, t) \rightarrow \int\partial T = \int_{t_n}^{t_{n+1}}f(x,t dt) $$
$$\begin{matrix} T_j^{n+1} - T^n_j = (f(x, t_{n+1}) + f(x, t_n))\dfrac{\epsilon}{2} \\ \\ T_j^{n+1} - T^n_j = \dfrac{\epsilon}{2}\left(\dfrac{\partial^2 T}{\partial x^2}(n+1) + \dfrac{\partial^2 T}{\partial x^2}(n)\right) \\ \\ T_j^{n+1} - T^n_j = \dfrac{\epsilon}{2}\left(\dfrac{1}{h^2}\left[T^{n+1}_{j+1} - 2T^{n+1}_j + T^{n+1}_{j-1}\right] + \dfrac{1}{h^2}\left[T^n_{j+1} - 2T^n_j + T^n_{j-1}\right]\right) \end{matrix}$$

Renombrando $s = \dfrac{\epsilon}{2h^2}$

$$\begin{matrix} T_j^{n+1} - T^n_j = s\left(T^{n+1}_{j+1} - 2T^{n+1}_j + T^{n+1}_{j-1} + T^n_{j+1} - 2T^n_j + T^n_{j-1}\right) \\ \\ T_j^{n+1} - s\left(T^{n+1}_{j+1} - 2T^{n+1}_j + T^{n+1}_{j-1}\right) = T_j^n + s\left(T^n_{j+1} - 2T^n_j + T^n_{j-1}\right) \\ \\ \implies - sT^{n+1}_{j+1} + (2s+1)T^{n+1}_j - sT^{n+1}_{j-1} = sT^n_{j+1} + (1-2s)T^n_j + sT^n_{j-1} \end{matrix}$$

Analisis de estabilidad

Asumiendo una solucion con la forma $T = \sigma e^{ikx}$ y recordando que $x_j = x_0 + hj$

$$\begin{matrix} -s\sigma^{n+1}e^{ikx_{j+1}} + (2s+1)\sigma^{n+1}e^{ikx_j} - s\sigma^{n+1}e^{ikx_{j-1}} = s\sigma^{n}e^{ikx_{j+1}} + (1-2s)\sigma^{n}e^{ikx_{j}} + s\sigma^{n}e^{ikx_{j-1}} \\ \\ \implies -s\sigma e^{ikh} + (2s+1)\sigma - s\sigma e^{-ikh} = se^{ikh}+(1-2s)+se^{-ikh} \\ \\ \implies -2s\sigma\cos(kh) + (2s+1)\sigma = 2s\cos(kh)+(1-2s) \\ \\ \implies \sigma = \frac{1-2s(1-\cos(kh))}{1+2s(1-\cos(kh))} \implies \vert\sigma\vert < 1 \end{matrix}$$

Siempre es incodicionalmente estable.

Discretizacion mas General

$$ \frac{T^{n+1}_j-T^n_j}{\epsilon} = \frac{a}{2}\frac{t^{n+1}_{j+1} - 2T^{n+1}_j + T^{n+1}_{j-1}}{h^2} + \frac{2-a}{2}\frac{t^{n}_{j+1} - 2T^{n}_j + T^{n}_{j-1}}{h^2} $$
  • Cuando $a=0$ es el metodo explicito.
  • Cuando $a=1$ es el metodo de Crank-Nicolson.
  • Cuando $a=2$ es el metodo de Euler-Implicito.

Como se resuelve?

Se escribe el problema como vector:

$$ -sT^{n+1}_{j+1} + (2s+1)T^{n+1}_j - sT^{n+1}_{j-1} = sT^n_{j+1} + (1-2s)T^n_j + sT^n_{j-1} $$

Esto se escribe como una matriz tri-diagonal: $$\left[\begin{matrix} -s & (2s+1) & -s & 0 & 0 & 0 & 0\\ 0 & -s & (2s+1) & -s & 0 & 0 & 0\\ 0 & 0 & -s & (2s+1) & -s & 0 & 0\\ 0 & 0 & 0 & -s & (2s+1) & -s & 0\\ 0 & 0 & 0 & 0 &-s & (2s+1) & -s \end{matrix}\right]\left(\begin{matrix} \vdots \\ T_{j-1} \\ T_j \\ t_{j+1} \\ \vdots \end{matrix}\right)^{n+1}$$

$$ = \left[\begin{matrix} s & (1-2s) & s & 0 & 0 & 0 & 0\\ 0 & s & (1-2s) & s & 0 & 0 & 0\\ 0 & 0 & s & (1-2s) & s & 0 & 0\\ 0 & 0 & 0 & s & (1-2s) & s & 0\\ 0 & 0 & 0 & 0 & s & (1-2s) & s \end{matrix}\right]\left(\begin{matrix} \vdots \\ T_{j-1} \\ T_j \\ t_{j+1} \\ \vdots \end{matrix}\right)^{n}$$

Un problema de tipo $A\vec{\phi} = \vec{b}$


In [ ]: