You are on page 1of 4

Métodos numéricos para la solución de EDP

La ecuación de calor
Dr. Miguel Angel Uh Zapata

Dado que en muchos casos no podemos conocer la solución exacta de una ecuación diferencial par-
cial, resulta de suma importancia disponder de algún método que nos permita saber, al menos con
cierto grado de aproximación, esa solución. Los métodos numéricos son muy variados y no podemos
entrar aquí en una discusión profunda. Nos limitaremos a estudiar el método de diferencias finitas
dado que es uno de los más sencillos y abre la puerta a métodos más complejos y que permiten un
mayor control sobre los resultados. Este tema será desarrollado resolviendo la ecuación de calor con
condiciones iniciales y de frontera.

Encontrar una solución numérica a la ecuación de calor con condiciones iniciales y de frontera
Dirichlet nulas:
∂u ∂2u
= c2 2 , x ∈ (0, L), t ∈ (0, T ], (1)
∂t ∂x
u(0, t) = u(L, t) = 0, t ∈ (0, T ], (2)
u(x, 0) = f (x), x ∈ [0, L], (3)
donde L es la longitud de la bara y T el tiempo final deseado.

SOLUCIÓN:

La estrategia será utilizar em método de Diferencias Finitas. Para poder aplicar este método es
necesario discretizar nuestro dominio rectangular en una serie de puntos que se encuentran en una
malla regular. En cada punto es calculada una aproximación de la derivada usando truncamientos de
series de Taylor y los resultados son usados para obtener una ecuación en diferencias que sustituirá
mi EDP.

El dominio.

La primera diferencia que podemos observar es


que ahora nuestro dominio esta limitado a un
tiempo final T . Es decir desamos conocer la solu-
ción del tiempo t = 0 al tiempo t = T y no hasta
tiempos infinitos. Si deseamos conocer tiempos
más grandes, simplemente tomamos una T tan
grande como lo necesitemos.

De manera análoga al problema continuo, en es-


te caso conocemos la solución en tres fronteras
del dominio rectangular: la que corresponde a la
Figura 1. Dominio del problema y soluciones
condición inicial y a las dos correspondientes a
conocidas .
las condiciones de Dirichlet nulas.

1
El espacio discreto.

Para poder aplicar nuestro método de diferen-


cias finitas será necesario considerar un proble-
ma discreto en vez de un problema continuo.
Como primer paso es necesario discretizar nues-
tro dominio en un mallado regular donde la
solución sea encontrada en cada punto.

Definamos como ∆x y ∆t los correspondientes


pasos del espacio y del tiempo en el que será
dividido el dominio en el eje x y eje t respecti-
vamente. Si consideramos M puntos en x y N
puntos en t, tenemos que cada punto de la malla
(xi , tn ) está dado por

xi = (i − 1) ∗ ∆x, i = 1, 2, ..., M

tn = (n − 1) ∗ ∆t, n = 1, 2, ..., N

donde
L T
∆x = , ∆t = .
M −1 N −1 Figura 2. Dominio con un mallado
rectangular del problema.

Valores conocidos (de frontera).

De manera análoga a la solución continua, en


este caso ya tenemos el conocimiento de los va-
lores correspondientes a las condiciones iniciale
sy de frontera. De ahora en adelante usaremos
la notación

u(xi , tn ) ≡ uni

para i = 1, ..., M, n = 1, ..., N . Lo cual signifi-


ca la evaluación del punto (xi , tn ) en la función
u. Así
CI:

u(x, 0) = f (x) → u1i = fi , i = 1, 2, ..., M

CF:

u(0, t) = 0 → un1 = 0, n = 1, 2, ..., N

u(L, t) = 0 → unM = 0, n = 1, 2, ..., N

Así unicamente nos concentraremos en las apro-


ximaciones de los puntos internos del dominio. Figura 3. Valores iniciales y de frontera en la
malla.

2
Aproximaciones de la derivada.

Finalmente debemos de considerar la EDP en cada punto de la malla, esto es

∂u ∂2u
(xi , tn ) = c2 2 (xi , tn ) , i = 2, ..., M − 1, n = 2, ..., N
∂t ∂x
o equivalentemente en nuestra notación
 n  2 n
∂u ∂ u
= c2 , i = 2, ..., M − 1, n = 2, ..., N
∂t i ∂x2 i

La ecuación anterior simplemente es una evaluación de las derivadas en un punto y no una aproxi-
mación.

Ahora deseamos aproximar nuestras derivadas usando los puntos de nuestro mallado. A continuación
se presentan estas aproximaciones:
 n
∂u un+1 − uni
≈ i , n = 2, ..., N (4)
∂t i ∆t
n
∂2u uni+1 − 2uni + uni−1

≈ , i = 2, ..., M − 1 (5)
∂x2 i ∆x2
Las cuales son las aproximaciones de primer y segundo orden para la primera y la segunda deri-
vada de una función. Estas aproximaciones son obtenidas mediante desarrollos de serie de Taylor
alrededor del punto (xi , tn ) (TAREA).

Ecuación de Difererencias Finitas.

Finalmente introduciendo estas aproximaciones


a mi EDP obtenemos la llamada Ecuación de
Difererencias Finitas:

un+1 − uni un − 2uni + uni−1


i
= c2 i+1
∆t ∆x2

Ahora despejaremos esta ecuación para dejarla


en términos de un+1
i , así

∆t
un+1 = uni + c2 uni+1 − 2uni + uni−1

i 2
∆x

y si llamamos

∆t
r = c2
∆x2

finalmente obtenemos el esquema explícito

un+1 = uni + r uni+1 − 2uni + uni−1



i (6)

Figura 4. Esquemas correspondientes a la


para i = 2, ..., M − 1 y n = 2, ..., N . ecuación de diferencias para aproximar la EDP.

3
Implementación.

La forma de escribir la ecuación anterior no es


function u = Calor1d(L,T,M,N)
nada arbitraria y el que es llamdo un esquema
explícito mucho menos. El argumento es que % Definición de la malla
gracias a esta ecuación podemos obtener todas Dx = ... ;
las soluciones restantes de nuestro problema en Dt = ... ;
x = ... ;
base al cálculo de las soluciones anteriores. t = ... ;

Por ejemplo, supongamos que deseamos calcular % Aplicacion de las condiciones ...
la segunda fila, es decir para n = 2, entonces iniciales y de frontera
u = zeros (N,M);
for n=1:N
u2i = u1i + r u1i+1 − 2u1i + u1i−1

u(n,1) = ... ;
u(n,M) = ... ;
para i = 2, ..., M − 1. Pero tenemos que todos end
los valores de u en la posición n = 1 son ya for i=1:M
conocidos. Entonces para cualquier i todos los u(1,i) = ...;
end
valores del lado derecho pueden ser calculados.
% Calculo de los puntos interiores
El punto u21 (i = 2) es un valor de frontera el for n=2:N
cual ya lo conocemos: for i=2:M-1
u(n,m) = ... ;
u21 = 0. end
end
El siguiente punto sería u22 (i = 2): % Dibujar
mesh(x,t,u)
u22 = u12 + r u13 − 2u12 + u11


end
donde todos los puntos del lado derecho son ya
conocidos y pertenecen al paso de tiempo an-
terior. Y así continuamos llenando toda la fila Figura 5. Algoritmo de implementación de la
correspondiente al paso de tiempo n = 2. ecuación en diferencias.

Solución final.

A continuación está la solución final en diferentes formatos de la ecuación de calor usando una barra
de L = 1, coeficiente c = 1 y la condición inicial
3 1
f (x) = sen(πx) − sen(3πx)
2 2
en varios tiempos finales con M = 200 y N = 20 puntos en la dirección x y t respectivamente.

Figura 5. Temperatura en diferentes tiempos para una barra de longitud 1.

You might also like