Está en la página 1de 52

Capítulo VI: Comentarios iniciales Mayo 2015

VI. Soluciones numéricas de ecuaciones diferenciales parciales por el método de


diferencias finitas

0. Algunos comentarios sobre el material incluido en este capítulo


En este capítulo se inicia la revisión del método de diferencias finitas para la solución de
ecuaciones diferenciales parciales. La presentación está restringida a problemas definidos
en términos de ecuaciones elípticas bidimensionales y más adelante en el Capítulo VII se
revisará lo relacionado a ecuaciones diferenciales parciales parabólicas. El desarrollo se
realiza principalmente para sistemas de coordenadas cartesianos, pero se extienda a
sistemas coordenados cilíndricos y esféricos. Se espera que el lector, al trabajar algunos
de los problemas propuestos al final del capítulo, asi como en los proyectos 4 que se
sugieren en el Apéndice ¿?, pueda extender el uso de la metodología a otros casos y
sistemas coordenados ortogonales. Para realizar algunos de los proyectos, es
recomendable revisar antes el material en los Capítulos VI a VIII
La metodología de diferencias finites se introduce usando como ejemplo la solucion de
una ecuación diferencial ordinaria, ya que en esta situación se involucran muchos de los
aspectos también usados para la solución de ecuaciones diferenciales parciales. Para este
problema sencillo se discuten diversas posibilidades para la solución de las ecuaciones
lineales resultants de la discretización del problema de valor en la frontera con diversos
tipos de condiciones de frontera, y se incluye en forma especial el algoritmo de Thomas
para sistemas de ecuaciones tridiagonales.
Las ideas presentadas para la ecuación diferencial ordinaria se recuperan para la
representación en diferencias finitas de un problema de valor en la frontera que incluye
una ecuación diferencial parcial elíptica en un dominio bidimensional con condiciones de
frontera tipo Dirichlet. Como primera opción para la solución del sistema de ecuaciones
lineales resultantes de la discretización de la ecuación diferencial se plantea el uso de los
métodos de Jacobi, Gauss-Seidel y SOR. Posteriormente, se propone la solución usando
el método de inversión línea por línea basado en el algoritmo de Thomas, discutido
anteriormente. Se seguida se revisará la incorporación de condiciones de frontera del tipo
de Newman y Cauchy.
Se continua el capítulo con una sección en donde se discute el desarrollo y solución de las
ecuaciones algebraicas que representan la formulación del problema de difusión reacción
en estado estacionario en una partícula cilíndrica o esférica. Finalmente, se introduce la
posibilidad de usar mallas con espaciamiento variable para problemas en donde existan
zonas de cambios muy bruscos del perfil de la variable dependiente.

Página 1 J.A. Ochoa Tapia


Capítulo VI: Comentarios iniciales Mayo 2015

Lo revisado se retomará en el Capítulo VII para para la solución de ecuaciones


diferenciales parabólicas, incluyendo la solución de problemas no lineales.

Sobre las referencias


Al lector que deseé profundizar sobre detalles de los temas presentados se le recomienda
revisar el libro de Smith [10]. Adicionalmente, en el libro de Greenberg [4] se presentan
casos específicos para la solución de ecuaciones diferenciales elípticas y parabólicas; por
otro lado en el libro de Kreyszig [6] se presenta una revisión del software comercial para
la solución de los problemas planteados en este capítulo, así mismo hay una revisión clara
de los temas aquí presentados.

Página 2 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

1. Introducción
Normalmente para la solución de problemas con ecuaciones diferenciales y/o condiciones
de frontera no lineales, o cuando el problema está dado por ecuaciones diferenciales
acopladas, (por las condiciones de frontera, por los términos fuentes, por los coeficientes
de transporte, etc) debe recurrirse a los métodos numéricos. Estos métodos pueden dar un
valor aproximado de la solución en varios puntos del dominio de solución. En el método
de diferencias finitas, el que se revisa en este capítulo, los puntos se localizan en la
intersección de las llamadas líneas de la malla. La implementación de este método es
relativamente fácil si las línes de malla pueden ser y son seleccionadas paralelas a los ejes
coordenados. Un ejemplo de una malla computacional con las características anteriores se
muestra en la figura siguiente

Figura 1. Dominio rectangular en coordenadas cartesianas con espaciamiento constante


entre las lineas de malla.

En este caso nótese que el dominio es rectangular, que las lineas de la malla son paralelas
a los ejes coordenados y que la frontera está fácilmente representada por dos líneas de
malla paralelas al eje x y dos paralelas al eje y. Para un dominio de forma cilíndrica,
como la mostrada en la Figura 2a, es posible aún satisfacer el que las lineas de malla sean
paralelas a los ejes coordenados si se utiliza el sistema de coordenadas adecuado; en este
caso no es conveniente usar coordenadas cartesianas ya que la frontera dada por
x 2 + y 2 = 1 , no es paralela a un eje coordenado cartesiano. Es claro que para el caso
mostrado en la Figura 2a, un sistema coordenado adecuado es el de coordenadas polares
(r,θ ) , tal como se puede ver en la Figura 2b, ahí además se muestran tres de las lineas de
malla. El dominio discretizado en la Figura 2b corresponde al mostrado en la Figura 2c.

Página 3 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

x2 + y 2 = 1
r =1

x
θ=π θ=0

Figura 2a. Dominio semicircular para la solución de un problema bidimensional. Se


muestra el sistema de coordenadas cartesianas y también en el de coordenadas
cilíndricas.

Figura 2b. Dominio semicircular en coordenadas cilíndricas en donde es claro que las
fronteras del sistema corresponden a linea de coordenada constante paralela a los
ejes coordenados r y θ .

Así, los métodos de diferencias finitas, que se basan en el uso de series de Taylor para
aproximar las derivadas en las ecuaciones diferenciales, son muy útiles cuando la frontera
del dominio del sistema se representa con curvas paralelas en todos sus puntos a los ejes
coordenados. Esto no será fácil en sistemas como los mostrados en la Figura 3, porque la

Página 4 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Figura 2c. Dominio semicircular discretizado en el sistema de coordenadas cartesianas.


Nótese el error al representar las líneas circulares

representación de la frontera irregular, dada por f (x, y) será difícil en el método de


diferencias finitas porque requiere una gran cantidad de puntos (nodos) o espaciamiento
variable entre ellos. Esto hará mucho más complicadas las ecuaciones que representan las
ecuaciones difrenciales lo que se reflejará en un gran consumo de memoria, tiempo de
cómputo y complejidad en la programación. En contraste, en los métodos de elemento
finito las líneas de la malla no tienen porque ser ortogonales, ni paralelas a los ejes
coordenados; así las mallas computacionales pueden ajustarse a cualquier geometría,
como se muestra en la Figura 4. Estos métodos de solución se basan en la aproximación
de la solución en cada elemento por funciones base. Sin embargo, el desarrollo de las
ecuaciones que deben resolverse requiere, por parte del alumno, un manejo fluido de las
teorías de aproximación y transformación de coordenadas. Además, la manipulación de
las ecuaciones para su solución es también más compleja y requiere mayor experiencia en
la programación.
La misma discusión podría realizarse con respecto a otros métodos de solución numérica
y tal vez al final se reduzca, a que más que razones de fondo, la selección del método es
más por el gusto de quien presenta un método. Sin embargo, el conocimiento de los
fundamentos de uno de los métodos y la experiencia al resolver problemas con el,
preparará al lector para el uso de otros métodos má complicados o específicos.
Así, hemos seleccionado el método de diferencias finitas porque nuestra expericiencia,
con un buen número alumnos de Ingeniería Química, nos ha mostrado que los métodos
son muy flexibles y pueden utilizarse para resolver un gran número de problemas que
surgen en situaciones prácticas relacionadas a la Ing. Química.

Página 5 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Figura 3. Malla computacional para la solución de un problema bidimensional con el


método de diferencias finitas

Figura 4. Dominio discretizado con elementos finitos para la solución de un problema


bidimensional

En la siguiente sección se revisarán los fundamentos del método; se hará alrededor de la


solución de un problema unidimensional que tiene solución analítica. Esto, con la idea de
que la mayor parte de los pasos, que también deberán ser considerados en la solución de
problemas mucho más complicados, están contenidos en el proceso para encontrar la
solución de un problema tan simple.

Página 6 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

2. El método de diferencias finitas aplicado a la solución de problemas lineales


unidimensionales de difusión con reacción química lineales y en estado estacionario

El problema con condiciones de frontera tipo Dirichlet

Se pretende la solución del problema de valor en la frontera definido por la siguiente


ecuación diferencial lineal ordinaria
d2y
2
− Φ 2 y = 0, en a < x < b (2.1)
dx
sujeta a las condiciones de frontera tipo dirichlet, dadas por
en x = a, y = ya (2.2)

en x = b, y = yb (2.3)

Puede considerarse que el problema es un modelo adimensional de la situación que


ocurre cuando un soluto se difunde en una placa de espesor b − a en la que reacciona de
acuerdo a una cinética de primer orden. Así, y es la concentración adimensional, x es la
posición adimensional y Φ es el módulo de Thiele.

El primer paso para la solución numérica del problema es encontrar la representación


(discretización) de la ecuación diferencial en diferencias finitas. Esta idea se muestra
esquemáticamente en la Figura 5. Así, inicialmente se busca la expansión en series de
Taylor de la función y en las posiciones x + Δx y x − Δx alrededor (en términos) de los
valores de la función y sus derivadas en la posición x . O sea

dy (Δx)2 d 2 y (Δx)2 d 3 y (Δx)4 d 4 y


y(x + Δx) = y(x) + Δx + + + + ... (2.4)
dx x 2! dx 2 x 3! dx 3 x 4! dx 4 x

y
dy (−Δx)2 d 2 y (−Δx)2 d 3 y (−Δx)4 d 4 y
y(x − Δx) = y(x) + (−Δx) + + + + ... (2.5)
dx x 2! dx 2 x 3! dx 3 x 4! dx 4 x

Página 7 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

y( x + Δ x )
y( x )
y( x − Δ x )

x−Δx x x+Δx

Figura 5. Expansión en series de Taylor de y(x) alrededor de x .

Para discretizar la ecuación diferencial (2.1) se necesita la segunda derivada de y , por


ello se suman las ecs. (2.4) y (2.5) para obtener

d2y 1 4
4 d y
y(x + Δx) + y(x − Δx) = 2 y(x) + (Δx) + (Δx)
2
+ .... (2.6)
dx 2 x 12 dx 4 x

De esta se obtiene
d2y y(x + Δx) − 2 y(x) + y(x − Δx) 1 4
2 d y
= − (Δx) + .... (2.7)
dx 2 x (Δx)2 12 dx 4 x
que puede ser escrita como
d2y y(x + Δx) − 2 y(x) + y(x − Δx)
2
= 2
+ O ⎡⎣(Δx)2 ⎤⎦ (2.8)
dx x (Δx)
en donde el símbolo O se usa para indicar el orden de magnitud del término restante más
grande. Al despreciar los términos O ⎡⎣(Δx)2 ⎤⎦ , la segunda derivada es aproximada por

d2y y(x + Δx) − 2 y(x) + y(x − Δx)


2
≅ (2.9)
dx x (Δx)2

Ahora se define, con base en la Figura 6, el siguiente parámetro numérico Δx que


especifica la separación entre los puntos de la malla computacional y en la cual se
consideran N puntos (nodos) incluyendo el inicial en x = a , el final en x = b y los
N − 2 nodos intermedios

x N − x1 b − a
Δx = = (2.10)
N −1 N −1

Página 8 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Así la posición de cada uno de los nodos está dada por


xi = a + (i − 1) Δx, para i = 1,...N (2.11)

y se ha creado la malla computacional mostrada en la figura siguiente

yN
y N −1
y N −2
y3
y2 y i −1 y y
i i +1
y1

N −1

1 2 3 i −1 i i +1 N −2 N

x =a x =b

Figura 6. Dominio discretizado y nomenclatura en diferencias finitas.

La representación de la segunda derivada, adoptando la nomenclatura introducida, es


d2y y − 2 yi + yi-1
2
≈ i+1 (2.12)
dx i (Δx)2
Con la misma nomenclatura el problema de valor en la frontera, definido por las
ecuaciones (2.1) a (2.3), toma la forma
d2y
− Φ 2 yi = 0, 2 ≤ i ≤ N − 1 (2.13)
dx 2 i
en i = 1, y1 = ya (2.14)
en i = N , y N = yb (2.15)
Usando la ec. (2.12) para reemplazar la segunda derivada en la ec. (2.13) se obtiene
yi+1 − 2 yi + yi-1
2
− Φ 2 yi = 0
(Δx)
ó yi-1 − ⎡⎣ 2 + (Δx)2 Φ 2 ⎤⎦ yi + yi+1 = 0, 2 ≤ i ≤ N − 1 (2.16)

Página 9 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Debe enfatizarse la importancia del símbolo ≈ en la ec. (2.12), que no fue usado en la ec.
(2.13), pero implica que la ecuación (2.16) es una aproximación de la ecuación
diferencial original. Esta representación se acercará al original, dado por las ecs. (2.1)-
(2.3), cuando Δx → 0 ó N → ∞ . Al usar la ec. (2.16) para reemplazar la ecuación
diferencial [ec. (2.13)] se obtiene la forma discretizada del problema de valor en la
frontera, así

yi-1 − ⎡⎣ 2 + (Δx)2 Φ 2 ⎤⎦ yi + yi+1 = 0, 2 ≤ i ≤ N − 1 (2.17)

en i = 1, y1 = 1 (2.18)
en i = N , yN = 0 (2.19)

Aquí es claro que para la representación de la ecuación diferencial de segundo orden se


involucran tres nodos contiguos, lo cual lleva a la introducción de celda computacional y
que en este caso es la mostrada en la siguiente figura:

i-2 i-1 i i+1 i+2


Figura 7. Celda computacional para soluciòn de ecuación ordinaria de segundo orden.

Esta es la representación en diferencias finitas del problema de valor en la frontera,


definido por las ecs. (2.1)-(2.3), y que también puede ser escrito como
y1 = ya (2.20)

yi-1 + r yi + yi+1 = 0, 2 ≤ i ≤ N − 1 (2.21)

y N = yb (2.22)

En la ecuación (2.21) se usó

r = − ⎡⎣ 2 + (Δx)2 Φ 2 ⎤⎦ (2.23)

Página 10 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Es claro que en las ecs. (2.20)-(2.22), se tiene un sistema de N ecuaciones lineales con
N incógnitas, el cual se puede resolver por algún método conocido. En este texto se
insistirá en la conveniencia de involucrar el algoritmo de Thomas, para ello se reescriben
las ecuaciones (2.17)-(2.19) en forma matricial

⎡ y ⎤
⎡ 1 0 0 0 0 ... ... ... ... 0 ⎤⎢ 1
⎥ ⎡ ya ⎤
⎢ ⎥ ⎢ y2 ⎥ ⎢ ⎥
⎢ 1 r 1 0 0 ... ... ... ... 0 ⎥⎢ ⎥ ⎢ 0 ⎥
⎢ 0 1 r 1 0 ... ... ... ... 0 ⎥ ⎢ y3 ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ y ⎥ ⎢ ⎥
0 0 1 r 1 ... ... ... ... 0 ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ 4

⎢ ... ... ... ... ... ... ... ... ... ... ⎥ ⎢ ... ⎥=⎢ ... ⎥
(2.24)
⎢ ... ... ... ... ... ... ... ... ... ... ⎥ ⎢ ... ⎥ ⎢ ... ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ... ... ... ... ... ... ... ... ... ... ⎥ ⎢ ... ⎥ ⎢ ... ⎥
⎢ 0 ... ... ... ... ... 1 r 1 0 ⎥ ⎢ y N −2 ⎥ ⎢ 0 ⎥
⎢ 0 ... ... ... ... ... 0 1 r 1 ⎥⎢ ⎥ ⎢ 0 ⎥

⎢ ⎥ ⎢ y N −1 ⎥ ⎢
⎢⎣ 0 ... ... ... ... ... 0 0 0 1 ⎥⎦ ⎢ ⎥ ⎢⎣ yb ⎥

⎢⎣ y N ⎥⎦

Se debe notar que solo hay tres incógnitas o menos en cada una de las ecuaciones, el
sistema de ecuaciones es el denominado sistema de ecuaciones lineales tridiagonal. El
algoritmo de Thomas, que debe obtenerlo el lector al resolver el Problema 1 propuesto al
final del capítulo, se presenta a continuación:

La solución del sistema de ecuaciones lineales asociadas al método de diferencias finitas


Se acaba de ver la necesidad de invertir una matriz de la siguiente forma,
⎡ B1 C1 0 0 0 0 0 0 ⎤ ⎡ U1 ⎤ ⎡ D1 ⎤
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ A2 B2 C2 0 0 0 0 0 ⎥ ⎢ U2 ⎥ ⎢ D2 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0 A3 B3 C3 0 0 0 0 ⎥ ⎢ U3 ⎥ ⎢ D3 ⎥
⎢ 0 0 . . . 0 0 0 ⎥ ⎢ . ⎥=⎢ . ⎥ (2.25)
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0 0 0 . . . 0 0 ⎥ ⎢ . ⎥ ⎢ . ⎥
⎢ 0 0 0 0 . . . 0 ⎥ ⎢ . ⎥ ⎢ . ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0 0 0 0 0 . . . ⎥ ⎢ . ⎥ ⎢ . ⎥
⎢ 0 0 0 0 0 0 AN BN ⎥ ⎢ UN ⎥ ⎢ DN ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦

en donde N es el número de ecuaciones lineales. La solución del sistema se puede


obtener por eliminación Gaussiana como se solicita en el Problema 1 de final de capítulo

Página 11 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

y es conocida como el algoritmo de Thomas. Nótese que el sistema de ecuaciones


representado en la ec. (2.25) es más general que el presentado en la ecuación (2.24), ya
que los coeficientes de la diagonal principal y las dos adyacentes no están restringidos a
un valor en particular. El procedimiento se inicia resolviendo para U1 la ecuación
correspondiente al renglón 1 del sistema matricial mostrado arriba, para eventualmente
obtener la fórmula que permite el cálculo de la incógnita U n
DN − AN g N −1
UN = = gN (2.26)
BN − AN bN −1
Para obtener U N es necesario conocer bN −1 y g N −1 , que se evalúan de las expresiones
siguientes
ω 1= B1−1 b1 = ω 1 C1 g1 = ω 1 D1 (2.27)

ω i = (Bi − Ai bi−1 )−1 bi = ω i Ci g i = ω i (Di − Ai g i−1 ) para i = 2,3,..., N -1 (2.28)

Una vez conocida U n se aplica la siguiente fórmula de recursión para conocer el resto de
las incógnitas
U i = g i − bi U i+1 , para 2 ≤ i ≤ N − 1 (2.29)
La gran ventaja, de reconocer el que el sistema de ecuaciones es tridiagonal, es que así se
evita el manejar arreglos matriciales de dimensión N 2 , y entonces solo se requiere el
manejo de cinco vectores de dimensión N (A, B, C, D y U) que corresponden a los
coeficientes y variable designados con la misma letra.

************************************************************************
Ejemplo: aplicación del algoritmo de Thomas
Para la solución del siguiente sistema de ecuaciones tridiagonal
⎛ −4 1 0 ⎞ ⎛ U1 ⎞ ⎛ 1 ⎞
⎜ 1 −4 1 ⎟ ⎜ U ⎟ = ⎜ 0 ⎟
⎜ ⎟⎜ 2 ⎟ ⎜ ⎟
⎜⎝ 0 1 −4 ⎟⎠ ⎜ U ⎟ ⎜⎝ 1 ⎟⎠
⎝ 3 ⎠
Se puede identificar que N = 3 y que
Ai = Ci = 1, Bi = −4 para 1 ≤ i ≤ 3
b1 = b3 = 1, b2 = 0

Por ello, usando las ecs. (2.27), se obtienen


ω 1= −0.25 b1 = −0.25 g1 = −0.25

Página 12 J.A. Ochoa Tapia


Capítulo VI: Introduccion Mayo 2015

Ahora usando las ec. (2.28)


1 1 4
ω 2= =− =−
−4 + (1)(+0.25) 15 / 4 15
4 4 1
b2 = − g1 = − ⎡⎣0 − (1)(−1/ 4) ⎤⎦ = −
15 15 15
1− (1)(−1/ 15) 16 / 15 2
g3 = =− =−
−4 − (1)(−4 / 15) −56 / 15 7
Con estos valores se obtiene, de la ec. (2.26), la última de las incógnitas
2
U 3 = g3 = −
7
Las otras dos incógnitas se obtienen usando la ec. (2.29)
1 ⎛ 4 ⎞ ⎛ 2 ⎞ −7 − 8 1
U 2 = g 2 − b2 U 3 = − −⎜− ⎟⎜− ⎟ = =−
15 ⎝ 15 ⎠ ⎝ 7 ⎠ 15 × 7 7
1 ⎛ 1 ⎞ ⎛ 1 ⎞ −7 − 1 8 2
U1 = g1 − b1 U 2 = − − ⎜ − ⎟ ⎜ − ⎟ = =− =−
4 ⎝ 4⎠ ⎝ 7⎠ 7 × 4 7×4 7
Por lo que el vector con los valores de la solución es
⎛ u ⎞ ⎛ ⎞
1 −2 / 7
⎜ ⎟ ⎜ ⎟
⎜ u2 ⎟ = ⎜ −1/ 7 ⎟
⎜ u ⎟ ⎜ −2 / 7 ⎟⎠
⎝ 3 ⎠ ⎝
************************************************************************

Página 13 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Al comparar los sistemas de ecuaciones dados por (2.25) con el dado por las ecs. (2.20)-
(2.22) se concluye que
A1 = 0, Ai = 1 para 2 ≤ i ≤ N − 1 AN = 0 (2.30)

B1 = 1, Bi = r para 2 ≤ i ≤ N − 1 BN = 1 (2.31)

C1 = 0, Ci = 1 para 2 ≤ i ≤ N − 1 C N = 0 (2.32)

D1 = ya , Di = 0 para 2 ≤ i ≤ N − 1 DN = yb (2.33)

Aun, si el número de nodos usados no es muy grande es conveniente desarrollar un


programa de cómputo para resolver el sistema de ecuaciones lineales, ya sea con el
algoritmo de Thomas u otro método.

El programa de cálculo de la solución del problema definido por las ecs. (2.1)-(2.3) y
basado en la representación dada por las ecs. (2.24) tendrá la siguiente estructura:

1. Llamado a la rutina de lectura de datos


2. Llamado a la rutina que en forma recursiva calcula las componentes de los vectores
A, B, C y D necesarios para definir la matriz tridiagonal [Ecs. (2.30)-(2.33)]. En
este paso se incorporan también las condiciones de frontera.
3. Llamado a la rutina que resuelve el sistema de ecuaciones tridiagonal: la rutina
regresará los valores de la solución en el vector U.
4. Llamado a la rutina que muestra los resultados.

Algoritmo de la solución de la ecuación de diferencial ordinaria de difusión-


reacción con condiciones de frontera tipo Dirichlet.

En las gráficas de la Figura 8 se muestran los perfiles de la variable y como función de la


posición x, para el caso en que en x = 0 , y = 0 y en x = 1 , y = 1 . En cada una de las
gráficas se mantiene fijo el parámetro Φ, y se muestra como al aumentar el número de
nodos la solución numérica tiende a la solución analítica dada por la ecuación siguiente
senh(Φ x)
y= (2.34)
senh(Φ)

Página 14 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Es claro que la solución numérica tiene mayores problemas para predecir la solución real
a medida que el parámetro Φ aumenta. Más adelante en la Sección 7 se retomará el
problema resuelto en para plantear una solución más eficiente usando la idea de malla
variable con espaciamiento variable. Se proseguirá en la sección con la solución de la
misma ecuación diferencial pero sujeta a condiciones de frontera un poco más
complicadas.
A continuación se muestran en forma gráfica los resultados de la evaluación del problema
con condiciones de frontera tipo Dirichlet.

1.0
(a) 1.0
Φ = 0 .1 (b)
Analítica Φ = 1 0 .0
Analítica
6 nodos
0.8 6 nodos
21 " 0.8
21 "
81 "
81 "
321 "
321 "
0.6 641 "
0.6 641 "

y y
0.4 0.4

0.2 0.2

0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x

(a) (b)

1.0
(c)
Analítica Φ = 1 0 .0
6 nodos
0.8
21 "
81 "
321 "
0.6 641 "

y
0.4

0.2

0.0
0.0 0.2 0.4 0.6 0.8 1.0
x

(c)

Figura 8. Comparación del efecto del número de nodos en la solución numérica del
problema definido por las ecs. (2.1)-(2.3). Los datos usados son x = a = 0 , x = b = 1 ,
ya = 0.0 y yb = 1 . El módulo de Thiele Φ es constante en cada una de las gráficas: (a)
0.1, (b) 10 y (c) 10.0.

Página 15 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

El problema con condiciones de frontera tipo Newman y Cauchy


Ahora se pretende la solución del problema de valor en la frontera definido por la
siguiente ecuación diferencial
d2y
2
− Φ 2 y = 0, en a < x < b (2.35)
dx
Sujeta a las condiciones de frontera tipo Cauchy dadas por
dy
en x = a, = α a ( y − ya ) (2.36)
dx

dy
en x = b, − = α b ( y − yb ) (2.37)
dx

Nótese que si los parámetros α en las ecuaciones (2.36) y (2.37) toman un valor
suficientemente pequeño la condición de frontera se podrá reemplazar por la tipo
Newman ( y ' → 0 ). Si por el contrario los parámetros α toman un valor suficientemente
grande entonces las condiciones podrán ser reemplazada por las de tipo Dirichlet
( y → y a y y → yb . )
Para la solución del problema dado por las ecs. (2.35)-(2.37) no tenemos, en este
momento, formas para representar la primera derivada en diferencias finitas. Por ello
recurrimos nuevamente a las ecuaciones (2.4) y (2.5) que son las representaciones de la
función y(x + Δx) y y(x − Δx) en términos del valor y(x) .
De la ecuación (2.4) se puede despejar la primera derivada para obtener la fórmula que
representa la derivada con diferencia hacia adelante
dy y(x + Δx) − y(x)
= + O ⎡⎣ Δx ⎤⎦ (2.38)
dx x Δx

En forma análoga de la ec. (2.5) se puede obtener la fórmula de la primera derivada con
diferencia hacia atrás
dy y(x) − y(x − Δx)
= + O ⎡⎣ Δx ⎤⎦ (2.39)
dx x Δx

Y del resultado de restar la ec. (2.5) a la (2.4) se obtiene la representación de la derivada


con diferencias centrales
dy y(x + Δx) − y(x − Δx)
= + O ⎡⎣(Δx)2 ⎤⎦ (2.40)
dx x 2Δx

Página 16 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

En resumen, En la nomenclatura de diferencias finitas la representación de la primera


derivada es:
dy y − yi−1
Diferencias hacia adelante ≅ i (2.41)
dx i Δx
dy y − yi−1
Diferencias hacia atrás ≅ i (2.42)
dx i Δx
dy y −y
Diferencias centrales ≅ i+1 i−1 (2.43)
dx i 2Δx
Así, al disponer de estas fórmulas, se puede usar la ec. (2.41) para representar la derivada
en la condición de frontera dada por la ec. (2.36) y obtener
y2 − y1
en i = 1, = α a ( y1 − ya )
Δx
ó en i = 1, (1+ α a Δx) y1 − y2 = α a Δx ya (2.44)
Por otro lado se puede usar la ec. (2.42) para representar la condición de frontera dada
por la ec. (2.37)
y − y N −1
en i = N , − N = α b ( y N − yb )
Δx
ó en i = N , y N −1 − (1+ Δx α b ) y N = −Δx α b yb (2.45)
Usando la representación para la ecuación diferencial dada por la ec. (2.21) y las ecs.
(2.44) y (2.45) para las condiciones de frontera, la representación del problema dado por
las ecs. (2.35)-(2.37) en diferencias finitas es
en i = 1, (1+ α a Δx) y1 − y2 = α a Δx ya (2.46)

yi-1 + r yi + yi+1 = 0, 2 ≤ i ≤ N − 1 (2.47)

en i = N , y N −1 − (1+ Δx α b ) y N = −Δx α b yb (2.48)

Nuevamente se tiene un sistema tridiagonal de ecuaciones, y su representación en forma


matricial es

Página 17 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

⎡ ⎤
⎡ 1+ α Δx −1 0 0 0 ... ... ... ... 0 ⎤ ⎢ y1 ⎥ ⎡ α a Δx ya ⎤
⎢ a
⎥⎢ y ⎥ ⎢ ⎥
⎢ 1 r 1 0 0 ... ... ... ... 0 ⎥⎢ 2
⎥ ⎢ 0 ⎥
⎢ 0 1 r 1 0 ... ... ... ... 0 ⎥ ⎢ y3 ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ 0 0 1 r 1 ... ... ... ... 0 ⎥ ⎢ y4 ⎥ ⎢ 0 ⎥
⎢ ... ... ... ... ... ... ... ... ... ... ⎥ ⎢ ... ⎥=⎢ ... ⎥

... ... ... ... ... ... ... ... ... ...
⎥⎢ ⎥ ⎢ ... ⎥ (2.49)
⎢ ⎥ ⎢ ... ⎥ ⎢ ⎥
⎢ ... ... ... ... ... ... ... ... ... ... ⎥ ⎢ ... ⎥ ⎢ ... ⎥
⎢ 0 ... ... ... ... ... 1 r 1 0 ⎥⎢ y ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ N −2 ⎥ ⎢ ⎥
⎢ 0 ... ... ... ... ... 0 1 r 1 ⎥ ⎢ y N −1 0
⎥ ⎢ ⎥
⎢ 0 ... ... ... ... ... 0 0 1 −(1+ Δx α b ) ⎥ ⎢ ⎥ ⎢⎣ −Δx α b yb ⎥⎦
⎣ ⎦
⎢⎣ y N ⎥⎦

Como era de esperar solo han sido modificadas las ecuaciones correspondientes a los
nodos en las fronteras. El sistema de ecuaciones se puede resolver por la aplicación
directa del algoritmo de Thomas, y las fórmulas para los coeficientes del sistema
tridiagonal son
A1 = 0, Ai = 1 para 2 ≤ i ≤ N − 1, AN = 1 (2.50)

B1 = 1+ α a Δx, Bi = r para 2 ≤ i ≤ N − 1, BN = −(1+ α b Δx) (2.51)

C1 = 1, Ci = 1 para 2 ≤ i ≤ N − 1, C N = 0 (2.52)

D1 = α a Δx ya , Di = 0 para 2 ≤ i ≤ N − 1 DN = −α b Δx yb (2.53)

El programa de computación puede ser el mismo que el escrito para condiciones de


frontera tipo Dirichlet, y solo se deberán considerar en forma específica la ecs. (2.50)-
(2.53). En las Figuras 9, 10 y 11 siguientes se muestra el efecto del número de nodos para
los casos en que el Módulo de Thiele Φ es 1, 10 y 20. Los cálculos se han hecho para
x = a = 0 , x = b = 1 , α a = 0 y yb = 1 . En cada una de las gráficas el parámetro α b es
constante (0.1, 1 ó 10). Nótese que al hacer α a = 0 la condición de frontera en x = 0 es
del tipo Newman, y ello es posible aunque el programa fue escrito para una condición de
frontera de tipo Cauchy. Por otro lado en x = 1 , a medida que α b aumenta la condición
de frontera de Cauchy se asemeja a una de Dirichlet. En cada una de las gráficas se
muestra como referencia la solución analítica correspondiente a este caso, con una yb
cualquiera, es
yb α b cosh(Φ x)
y= (2.54)
Φ senh(Φ) + α b cosh(Φ)

Página 18 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Tabla 1.- Lista de figuras y parámetros utilizados en la evaluación de la solución para las
diferentes condiciones de frontera.

Condición de Dirichlet
Figura Φ ya yb
8. (a) 1.0 0.0 1.0
(b) 10.0 0.0 1.0
(c) 10.0 0.0 1.0

Condición de Cauchy
Figura Φ ya yb αa αb
9. (a) 1.0 0.0 1.0 0.0 0.1
(b) 1.0 0.0 1.0 0.0 1.0
(c) 1.0 0.0 1.0 0.0 10.0
10. (a) 10.0 0.0 1.0 0.0 0.1
(b) 10.0 0.0 1.0 0.0 1.0
(c) 10.0 0.0 1.0 0.0 10.0
11. (a) 10.0 0.0 1.0 0.0 0.1
(b) 10.0 0.0 1.0 0.0 1.0
(c) 10.0 0.0 1.0 0.0 10.0

A continuación se muestran en forma gráfica los resultados de la evaluación del problema


con condiciones de frontera tipo Cauchy.

Página 19 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

1.0 1.0
(a) (c)
Analítica α = 0 .1
b
6 nodos Φ = 1 .0
0.8 21 " 0.8
81 "
321 "
641 "
0.6 0.6

y y
0.4 0.4 Analítica
6 nodos
α = 1 0 .0
21 " b

81 " Φ = 1 .0
0.2 0.2 321 "
641 "

0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x

(a) (b)

1.0
(b) α = 1 .0
Analítica b

6 nodos Φ = 1 .0
0.8 21 "
81 "
321 "
0.6 641 "
Figura 9. Se muestra el efecto del número
y de nodos para Φ = 1.0 , a = 0 , b = 1 ,
0.4
α a = 0.0 , ya = 0.0 , yb = 1.0 . En cada una
0.2 de las gráficas α b se mantiene constante:
(a) 0.1, (b) 1.0 y (c) 10.0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
x

(c)

Página 20 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

1.0 1.0
(a) (c)
α b = 0 .1 α b = 1 0 .0
Analítica Analítica
Φ = 1 0 .0 Φ = 1 0 .0
6 nodos 6 nodos
0.8 0.8
21 " 21 "
81 " 81 "
321 " 321 "
0.6 641 " 0.6 641 "

y y
0.4 0.4

0.2 0.2

0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x

(a) (b)

1.0
(b)
α = 1 .0
Analítica b

6 nodos Φ = 1 0 .0
0.8 21 "
81 "
321 "
0.6
641 " Figura 10. Se muestra el efecto del número
y de nodos para Φ = 10.0 , a = 0 , b = 1 ,
α a = 0.0 , ya = 0.0 , yb = 3.0 . En cada una
0.4

0.2 de las figuras α b se mantiene constante: (a)


0.1, (b) 1.0 y (c) 10.0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
x

(c)

Página 21 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

1.0 1.0
(a)
α b = 0 .1 (b) α = 1 .0
Analítica Φ = 1 0 .0
Analítica b

Φ = 1 0 .0
6 nodos 6 nodos
0.8 0.8
21 " 21 "
81 " 81 "
321 " 321 "
0.6 0.6 641 "
641 "

y y
0.4 0.4

0.2 0.2

0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x

(a) (b)

1.0
(c)
α b = 1 0 .0
Analítica Φ = 1 0 .0
6 nodos
0.8
21 "
81 "
321 "
641 "
0.6
Figura 11. Se muestra el efecto del número
y de nodos para Φ = 10.0 , a = 0 , b = 1 ,
0.4
α a = 0.0 , ya = 0.0 , yb = 10.0 . En cada una
0.2 de las figuras α b se mantiene constante: (a)
0.1, (b) 1.0 y (c) 10.0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
x

(c)

Página 22 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

La solución de las ecuaciones lineales (2.24) ó (2.49) que representan el problema de


valor en la frontera puede lograrse con otros métodos y no solo con el algoritmo de
Thomas.
La última parte de esta sección se refiere al problema con condiciones de frontera mixtas,
representado por el sistema de ecuaciones lineales dado por la ec. (2.49), el cual
fácilmente puede reducirse al sistema dado por la ec. (2.24). Los métodos siguientes son
iterativos y por ello necesitan una suposición inicial indicada por
yi0 = y0,i para 1 ≤ i ≤ N (2.55)

Aquí el superíndice “0” indica la primer suposición para la solución buscada. La primer
idea para mejorar esta suposición y los siguientes valores obtenidos es usar las ecuaciones
(2.46)-(2.48) de la siguiente manera
y2k + α a Δx ya
Para i = 1, y1k+1,calc = (2.56)
1+ α a Δx

Para 2 ≤ i ≤ N − 1 (
yik+1,calc = − yi+1
k
+ yi−1
k
/r) (2.57)

y Nk −1 + Δx α b yb
en i = N , y Nk+1,calc = (2.58)
1+ Δx α b

Nótese que en este esquema los valores calculados a partir de la suposición yi0 están
indicados por yik+1,calc . Ahora sepuede usar la siguiente fórmula de interpolación para
encontra la supocisión yik+1
yik+1 = ω yik+1,calc + (1− ω ) yik (2.59)
Esta fórmula da la posibilidad de tomar como nueva suposición el valor calculado con las
ecuaciones discretizadas si ω = 1 . También, la nueva suposición será una interpolación
de los de los valores supuesto y calculado si 0 < ω < 1 , o una extrapolación si ω > 1 . El
esquema dado por las ecuaciones (2.56)-(2.59) es el método de Jacobi aplicado al sistema
tridiagonal de ecuaciones que representa el problema de valor de frontera originalmente
presentado en las ecuaciones (2.35)-(2.37). Las iteraciones deberán ser repetidas hasta
que las supocisiones " yik " y " yik+1 " sean iguales dentro de una tolerancia aceptable, o sea

yik+1 − yik+1 ≤ tolerancia (2.60)

Otra formulación puede ser la siguiente


y2k + α a Δx ya
Para i = 1, y1k+1,calc = (2.61)
1+ α a Δx

Página 23 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Para 2 ≤ i ≤ N − 1 k
(
yik+1,calc = − yi+1 + yi−1
k+1
/r ) (2.62)

y Nk+1−1 + Δx α b yb
en i = N , y Nk+1,calc = (2.63)
1+ Δx α b

En este caso, las ecuaciones (2.61)-(2.63) se usan en el orden mostrado y el valor


k+1
obtenido para yi−1 se debe usar inmediatamente para el cálculo de yik+1,calc y por lo tanto
para yik+1 . Este esquema de solución es el método de Gauss-Seidel, este y el de Jacobi se
verá en mayor detalle un poco más adelante al plantear la solución de ecuaciones
diferenciales parciales elípticas con el método de diferencias finitas. Es claro que el
algoritmo de Thomas es la forma más directa de resolver el sistema de ecuaciones
lineales tridiagonal, los esquemas iterativos no son directos, además introducen nuevos
parámetros numéricos como son ω y la tolerancia.
En la sección siguiente se revisará la aplicación del método de diferencias finitas para la
solución de un problema bidimensional, utilizando las ideas introducidas en la solución
del problema unidimensional presentado. Una vez más se empezará con un problema
relativamente sencillo, el que incluye la ecuación de Laplace en un dominio rectangular.

Página 24 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

3. Solución de la ecuación de Laplace en dos dimensiones

A manera de ejemplo se considera el problema de conducción de calor definido por las


siguientes ecuaciones y con referencia a la Figura 12.

∂2 u ∂2 u
+ = 0, en el dominio Ω (3.1)
∂ X2 ∂Y2
Dominio Ω
Frontera Σ sujeta a
u = f ( X ,Y ), en la frontera Σ (3.2)
x

Figura 12. Dominio rectangular en donde


es válida la ecuación de Laplace
bidimensional del problema.

Se supondrá que u , X y Y son respectivamente la temperatura y coordenadas


adimensionales, y se desea encontrar los valores de u en los nodos de la malla
computacional mostrada en la siguiente figura:

Figura 13. Dominio rectangular discretizado para el método de diferencias finitas.

Es entonces necesaria una representación de la ecuación diferencial parcial (EDP) en


términos de diferencias finitas, esto se puede lograr usando expansiones en series de

Página 25 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

( )
Taylor de la función de dos variables u X ,Y . Por ejemplo, si u tiene derivadas
continuas se puede entonces obtener una relación entre u( X ,Y ) y u( X + Δ X ,Y ) . Para
hacer más compacta la nomenclatura se entenderá que la variable no indicada permanece
constante. Así para la expansión
⎛ ∂u ⎞ ⎛ ∂ 2 u ⎞ (ΔX )2
u( X + Δ X ) = u( X ) + ⎜ ΔX +
⎝ ∂ X ⎟⎠ ⎜⎝ ∂ X 2 ⎟⎠ 2 !

⎛ ∂ 3 u ⎞ (ΔX )3 ⎛ ∂ 4 u ⎞ (ΔX )4
+⎜ +⎜ + ... (3.3)
⎝ ∂ X ⎟⎠ 3 ! ⎝ ∂ X ⎟⎠ 4 !
3 4

se entiende que sus derivadas están evaluadas en X y son para Y constante. En forma
análoga puede obtenerse la siguiente relación entre u( X ) y u( X − Δ X )
⎛ ∂u ⎞ ⎛ ∂ 2 u ⎞ (ΔX )2
u( X − Δ X ) = u( X ) − ⎜ ΔX +
⎝ ∂ X ⎟⎠ ⎜⎝ ∂ X 2 ⎟⎠ 2 !

⎛ ∂3 u ⎞ (ΔX )3 ⎛ ∂ 4 u ⎞ (ΔX )4
−⎜ +⎜ + ... (3.4)
⎝ ∂ X ⎟⎠ 3 ! ⎝ ∂ X ⎟⎠ 4 !
3 4

La representación equemática de las relaciones (3.3) y (3.4) es la misma que la de las


ecuaciones (2.4) y (2.5) en la Figura 5, solo que en este caso en esa figura debe indicarse
que el valor de la coordenada Y , es constante.
Así la representación de la segunda derivada parcial de u , con respecto a X es
⎛ ∂ 2 u ⎞ u( X + Δ X ) − 2u( X ) + u( X − Δ X ) ⎛ ∂ 4 u ⎞ (ΔX )2
⎜⎝ ∂ X 2 ⎟⎠ = (ΔX )2
−⎜
⎝ ∂ X ⎟⎠ 4 !
4
+ ... (3.5)
!##"## $
O ⎡( ΔX )2 ⎤
⎣ ⎦

Esta es una representación de la segunda derivada de u en diferencias finitas con error


del orden de (Δ X )2 . Se debe notar que si Δ X se hace pequeño, la exactitud de la
representación mejorará. Por un procedimiento análogo se puede obtener la segunda
derivada de u( X ,Y ) con respecto a Y : esto es, se realizan expansiones en serie de Taylor
en Y manteniendo constante X . El resultado es
⎛ ∂ 2 u ⎞ u(Y + ΔY ) − 2u(Y ) + u(Y − ΔY )
⎜⎝ ∂Y 2 ⎟⎠ = 2
+O ⎡⎣(ΔY )2 ⎤⎦ (3.6)
(ΔY )

Ahora se asignará el índice "i" a cada línea de la malla perpendicular al eje X . Entonces
la posición X se relaciona a la separación Δ X por
X i = (i − 1)Δ X i = 1,2,..., N (3.7)

Página 26 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Similarmente se puede asignar el índice " j" a cada línea de la malla que es perpendicular
al eje Y , de tal manera que
Y j = ( j − 1) ΔY j = 1,2,..., M (3.8)

Usando esta nomenclatura la función u( X ,Y ) se representará ahora como


u( X i ,Y j ) = u i, j (3.9)

Entonces las segundas derivadas dadas por las ecuaciones (3.5) y (3.6) toman la forma
⎛ ∂2 u ⎞ ui+1, j − 2ui, j + ui−1, j
⎜⎝ ∂ X 2 ⎟⎠ = (3.10)
X ,Y
(ΔX )2

⎛ ∂2 u ⎞ ui, j+1 − 2ui, j + ui. j−1


⎜⎝ ∂Y 2 ⎟⎠ = (3.11)
X ,Y
(ΔY )2

y estas son aproximaciones de las segundas derivadas ya que se han despreciado los
términos de orden (ΔX )2 y (ΔY )2 y superiores. Usando las ecuaciones (3.10) y (3.11) la
ecuación diferencial que pretendemos resolver toma la forma
ui+1, j − 2ui, j + ui−1, j ui, j+1 − 2ui, j + ui, j−1
2
+ =0 (3.12)
(ΔX ) (ΔY )2
Debido a los errores introducidos al aproximar las segundas derivadas esta representación
de la ecuación diferencial involucra un error del orden (Δ X )2 y (ΔY )2 . De la ec. (3.12)
se puede obtener ui, j como

ui, j =
1 ⎡u + u + λ u + u
2(1+ λ ) ⎣ i+1, j i−1, j i, j+1 ( ⎤
i, j−1 ⎦ ) (3.13)

En donde
2
⎛ΔX⎞
λ=⎜ (3.14)
⎝ ΔY ⎟⎠
Nótese que si Δ X = ΔY , λ = 1 y por lo tanto ui, j es el promedio de los cuatro valores
más cercanos al punto (i, j) . Esto se ejemplifica en la figura siguiente en donde se
muestra la celda computacional formada por el nodo (i, j) y sus vecinos más próximos
en las direcciones X y Y .

Página 27 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

ΔX

j +1
j
ΔY
j-1

i-1 i i+1

Figura 16. Celda computacional para la solución de la ecuación de Laplace en dos


dimensiones.

Los valores en la frontera del dominio Ω están dados por f ( X ,Y ) , así que los valores
de u en ella pueden escribirse como
u0, j = f (0,Y j )

uN , j = f ( X N ,Y j ) = f (N ΔX , j ΔY )
ui,0 = f ( X i ,0)

ui,M = f ( X i ,YM ) = f (i ΔX , M ΔY )

Esto significa que el sistema de las ecuaciones obtenidas de la ec. (3.13) debe resolverse
solo para los nodos interiores. O sea, podría escribirse la ecuación para cada uno de los
nodos en la malla para obtener un sistema de ecuaciones que debería ser resuelto para
encontrar la solución. Debe considerarse, que habrá M x N − 2( M + N ) + 2 incógnitas, y
si por ejemplo N = M = 20 , esto significa invertir una matriz correspondiente a 360
incógnitas. Hace menos treinta años, antes de los grandes avances en los sistemas de
cómputo, esto era muy caro, ya que necesitaba gran capacidad de almacenamiento e
involucra un error de redondeo no permisible. Por ello, en general, la naturaleza de los
problemas bidimensionales y tridimensionales hacían casi imposible el uso de métodos de
solución directa, como lo fue el algoritmo de Thomas para el caso de problema
unidimensionales.
Por lo anterior se concentraba el estudio en métodos iterativos para la solución de
sistemas de ecuaciones lineales. Podría pensarse que, debido a las enormes facilidades

Página 28 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

actuales en los sistemas de cómputo, no tiene sentido estudiar métodos iterativos. Sin
embargo, siempre habrá la posibilidad de que se necesite resolver problemas cuya
solución directa, debido a la complejidad del dominio o la naturaleza de las ecuaciones,
sea imposible y por ello no es una pérdida de tiempo el tener una idea de los fundamentos
e implementación de algunos métodos iterativos.
El primer método que se revisa, ya mencionado en la sección anterior, fue presentado
originalmente para ser usado en cálculos manuales y es conocido como el método de
relajación. El método no es muy eficiente, pero es muy útil para mostrar la forma en que
funcionan los métodos iterativos.
El procedimiento se inicia con una suposición de los valores ui, j . Así en la iteración
"k − esima" la función toma el valor u k . Para obtener una nueva estimación de u k+1 se
i, j i, j

escribe la ec. (3.13) en la siguiente forma

u k+1,calc =
i, j
1 ⎡u k + u k + λ u k + u k ⎤
2(1+ λ ) ⎣ i+1, j i−1, j i, j+1 i, j−1 ⎦ ( ) (3.15)

de esta manera el valor calculado ui, j depende solamente de valores previamente


estimados. Una vez obtenido el nuevo valor ui, j , que designamos u k ,calc , se tiene la
i, j

disyuntiva de asignarlo totalmente a u k+1 , o usarla de otra manera para obtener una nueva
i, j

estimación. Una de las formas más simples es introducir un parámetro de relajación ω ,


de manera que
u k+1 = ω u k+1,calc + (1− ω )u k (3.16)
i, j i, j i, j

Esta fórmula contiene la posibilidad de asignar el valor calculado al nuevo estimado si


ω = 1 . Cuando 0 < ω < 1 , la nueva estimación está entre el estimado anterior y el valor
calculado. Si ω > 1 , entonces se trata de una extrapolación, que se denomina sobre-
relajación. La substitución de la ec. (3.15) en la (3.16) da como resultado

u k+1 = u k +
i, j i, j
ω ⎡ k
u + u k − 2(1+ λ )u k + λ u k + u k ⎤
2(1+ λ ) ⎣⎢ i+1, j i−1, j i, j i , j+1 ⎥
i , j−1 ⎦
( ) (3.17)

Esta ecuación se puede utilizar repetidamente hasta que u k y u k+1 están suficientemente
i, j i, j

cerca. Normalmente se puede definir la tolerancia ε como


u k+1 − u k ≤ ε para cualquier (i, j) (3.18)
i, j i, j

Los parámetros numéricos del problema son Δ X , ΔY ó λ , ω , y ε ; la solución debe


ser independiente de ellos. Es necesario obtener soluciones de ui, j para una serie de
valores de Δ X , λ , ε y ω , y entonces demostrar que la solución es esencialmente
independiente de ellos.

Página 29 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

El método descrito por la ec. (3.17), que implica a la ec. (3.16), es conocido como el
método de Jacobi, y este tiene la desventaja que converge muy lentamente. También
requiere mayor capacidad de almacenamiento que otros métodos puesto que se pueden
descartar los valores de u k hasta que los nuevos valores de dos líneas en la malla se han
i, j

obtenido. La velocidad de convergencia es muy lenta porque el efecto de las condiciones


de frontera penetra una línea en cada iteración. Esto hace que la rapidez de propagación
de la información conocida sea muy lenta. Otros métodos se han introducido con la idea
de mejorar esta desventaja.

Página 30 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

4. Solución iterativa de sistemas de ecuaciones lineales: métodos de Jacobi, Gauss-


Seidel, SOR e inversion linea por linea.

La utilización del método de Jacobi para el problema que estamos discutiendo se reduce a
estimar u k+1 con la siguiente ecuación
i, j

u k+1 = u k +
i, j i, j
ω ⎡ k
i−1, j i, j
(
u + u k − 2(1+ λ )u k + λ u k + u k ⎤
2(1+ λ ) ⎣⎢ i+1, j i , j+1 ⎥
i , j−1 ⎦
) (4.1)

Si los cálculos se inician con la suposición "k " , entonces se podrán calcular los valores
en i = 1 para todos los " j" desde 1 a M − 1 como sigue
⎡ ⎤
u k+1 = u k +
1, j 1, j
ω ⎢ k

2(1+ λ ) 2 , j !0, j 1, j
(
u + u k − 2(1+ λ )u k + λ u k + u k
1, j+1 1, j−1
) ⎥

(4.2)
⎣ ⎦

Condición de frontera
Los valores así obtenidos no se pueden almacenar en el lugar usado por u k porque estos
1, j

valores son necesarios para calcular u2,k+1j

u k+1 = u k +
2, j 2, j
ω ⎡ k
2(1+ λ ) ⎣⎢ 3, j 1, j
(
u + u k − 2(1+ λ )u2,k j + λ u k + u k ⎤
2 , j+1
) ⎥
2 , j−1 ⎦
(4.3)

Igualmente los valores de u2,k+1j no pueden ser almacenados en u2,k j porque son necesarios
para calcular u3,k+1j de acuerdo a

u3,k+1j = u3,k j +
ω ⎡ k

2(1+ λ ) ⎣ 4 , j 2, j
(
u + u k − 2(1+ λ )u3,k j + λ u k + u k ⎤
3, j+1
)
3, j−1 ⎥

(4.4)

k+1
así después de obtener ui+1, j
se puede hacer la siguiente substitución de información
ui,k j ← ui,k+1
j
(4.5)

Concluimos entonces que el método de Jacobi requiere memoria extra para almacenar
información. Además las condiciones de frontera no afectan rápidamente los valores
correspondientes a los nodos interiores. Por ejemplo, solamente ui,k+1
j
es afectada por uo,k j
en la ec. (3.17). Un problema adicional es la inestabilidad del método para ω > 1 , por lo
que
ω < 1 para el metodo de Jacobi (4.6)
Una alternativa al uso del método de Jacobi lo constituye el esquema de Gauss-Seidel el
cual converge mucho más rápidamente. En este método los valores de u k en la ec. (4.1)
i, j

se reemplazan por los valores de u k+1 obtenidos en esa misma iteración. Así es posible
i, j

Página 31 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

k+1
reemplazar en la ec. (4.1) u k por ui−1, j
, y u k por u k+1 . Por lo cual la ec. (4.1) se
i−1, j i , j−1 i , j−1

transforma a

u k+1 = u k +
i, j i, j
ω ⎡ k

u + u k+1 − 2(1+ λ )u k + λ u k + u k+1 ⎤
2(1+ λ ) ⎣ i+1, j i−1, j i, j i , j+1 i , j−1 ⎥
⎦ ( ) (4.7)

Nótese que la substitución implica que la solución para las ui,k j se está realizando
avanzando de i = 1 hasta i = N − 1 , y que dentro de una columna se avanza de j = 1 a
j = M − 1.
En esta forma los valores se pueden renovar con los recientemente calculados. Cuando
ω =1 el método se conoce como método de Gauss-Seidel, y si ω >1 el sistema es estable
y el método se conoce como método SOR (Successive over-relaxation). Los valores de
ω están acotados por
1 < ω < 2 para el metodo de SOR (4.8)
en función del espaciamiento en la malla y las condiciones de frontera.

Otra técnica es el método de inversión de la matriz línea por línea. En está metodología se
rescata el algoritmo de Thomas aunque no como método de solución directa. Para este
método la ec. (3.13) se escribe como
(
ui+1, j − 2(1+ λ )ui, j + ui−1, j = − λ ui, j+1 + ui, j−1 ) (4.9)

El miembro derecho se puede escribir evaluado en la iteración “ k ”. Entonces el miembro


izquierdo se usará para evaluar el nuevo estimado de la variable dependiente

i+1, j i, j i−1, j
(
u k ,calc − 2(1+ λ )u k ,calc + u k ,calc = − λ u k + u k
i , j+1 i , j−1
) (4.10)

Para " j" dado, esta ecuación representa un sistema tridiagonal de ecuaciones lineales
para los valores de ui,k ,calc
j
en diferentes X con Y fijo. Esto se puede observar más
claramente si se escriben las ecuaciones para 2 ≤ i ≤ N − 1 , usando la siguiente
nomenclatura simplificada
U i = ui,k ,calc
j
para j fijo

(
bi = − λ ui,k j+1 + ui,k j−1 ) (4.11)

Ai = Ci = 1
Bi = −2 (1+ λ )

Así las ecuaciones para cada "i" son


i=2 A2 U1 + B2 U 2 + C2 U 3 = b2

Página 32 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

i=3 A3 U 2 + B3 U 3 + C3 U 4 = b3 (4.12)
i=4 A4 U 3 + B4 U 4 + C4 U 5 = b4
!
!
i = N −1 AN −1 U N −2 + BN −1 U N −1 + C N −1 U N = bN −1
Además, para cualquier " j" se tiene de las condiciones de frontera
U1 = f (0, j ΔY ), así B1 = 1, A1 = C1 = 0, y b1 = f (0, j ΔY )
U N = f (N ΔX , j ΔY ), así BN = 1, AN = C N = 0, y bN = f (N ΔX , j ΔY ) (4.13)
El sistema de N ecuaciones lineales resultante de usar las ecs. (4.12) junto con las ecs.
(4.13), que representan las condiciones de frontera dadas por la ec. (3.2), se puede
escribir en la forma matricial siguiente
⎛ B1 0 0 0 0 0 0 0 0 ⎞ ⎛ U1 ⎞ ⎛ b ⎞
1
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ A2 B2 C2 0 0 0 0 0 0 ⎟ ⎜ U2 ⎟ ⎜ b2 ⎟
⎜ 0 A3 B3 C3 0 0 0 0 0 ⎟ ⎜ U3 ⎟ ⎜ b ⎟
⎜ ⎟ ⎜ ⎟ ⎜ 3 ⎟
⎜ 0 0 A4 B4 C4 0 0 0 0 ⎟ ⎜ U4 ⎟ ⎜ b ⎟
⎜ ⎟ ⎜ ⎟ ⎜ 4 ⎟
⎜ 0 0 0 . . . 0 0 0 ⎟ ⎜ . ⎟ =⎜ . ⎟ (4.14)
⎜ 0 0 0 0 . . . 0 0 ⎟ ⎜ . ⎟ ⎜ . ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 0 0 0 0 0 AN −2 BN −2 C N −2 0 ⎟ ⎜ . ⎟ ⎜ . ⎟
⎜ 0 0 0 0 0 0 AN −1 BN −1 C N −1 ⎟ ⎜ U N −1 ⎟ ⎜ bN −1 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 0 0 0 0 0 0 0 0 BN ⎟ ⎜ UN ⎟ ⎜ bN ⎟
⎜⎝ ⎟⎠ ⎜⎝ ⎟⎠ ⎜⎝ ⎟⎠

La representación compacta del sistema de ecuaciones lineales, dado por la ec. (4.14), es
{ M }{U } = {b } ij j i
(4.15)

Cuya solución, en términos de la inversa de { M } , es ij

{U } = { M } {b }
−1
i ij j
(4.16)

Entonces la nueva estimación del campo ui,k ,calc , que son los valores del campo buscado y
{ }
j

correspondientes al renglón " j" , en términos de los elementos de la inversa de M ij , es


ui,k ,calc
j
= M i,−1p bp, j (4.17)

{ }
El proceso de inversión de M ij puede repetirse para j = 1,2,3,..., M − 1 con los
{ }
cambios apropiados en bj . Entonces se puede utilizar relajación para calcular la nueva
estimación de la solución

Página 33 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

u k+1 = ω u k ,calc + (1− ω )u k (4.18)


i, j i, j i, j

Este proceso se repite hasta alcanzar convergencia. Como la matriz es tridiagonal, la


inversa se puede obtener fácilmente por eliminación Gausiana. Las fórmulas resultantes
son las mencionadas anteriormente y es claro que en este caso se repite la solución de un
sistema de N ecuaciones.
Finalizaremos esta parte con algunos ejemplos, pero antes presentaremos la estructura de
llamado de las rutinas principales que podría contener un programa para resolver una
ecuación elíptica usando el método de inversión linea por linea:

1. Llamar a la rutina de lectura de datos (N , M ,ΔX ,ΔY ,ω , ε ,kmax )

2. Llamar a la rutina de cálculo de coeficientes Ai , Bi , Ci con las ecs. (4.11) y (4.13)

3. Inicio del ciclo de iteración k ← 0

4. Iniciar el ciclo 1
Para j = 2 a M − 1
Llamar a la rutina de cálculo de coeficiente bi , con las ecs. (4.11) y (4.13)
Llamar a la rutina que usa el algoritmo de Thomas para encontrar los N valores de
U i para luego ui,k ,calc
j
← Ui
Terminar el ciclo 1

5. Llamar a la rutina para cálculo de ui,k+1


j
y error = ui,k+1
j
− ui,k j .

6. k ← k + 1 , revisar si se alcanzó al número límite de iteraciones kmax , y tomar la


decisión pertinente: parar el programa o regresar al paso 4.

7. Si el error en 2 ≤ i ≤ N − 1 y 2 ≤ j ≤ M − 1 satisface el criterio de convergencia,


entonces se terminó el cálculo y se puede llamar a la rutina de escritura de resultados,
de otra manera deberá irse al inicio del ciclo 1 tomando como valor del campo ui, j el
acabado de obtener en la iteración anterior.

Algoritmo de la solución de una ecuación diferencial elíptica con condiciones de


frontera tipo Dirichlet usando el método de inversión línea por línea.

Página 34 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Ejemplo
A continuación se ejemplifica, con referencia a la malla mostrada en la figura siguiente,
el uso de cada uno de los métodos discutidos es esta sección para la solución de la
ecuación diferencial parcial elíptica, ec. (3.1). Se escribirán las ecuaciones algebráicas
que deben resolverse para encontrar ui,k j avanzando renglón por renglón, primero para
j = 1 y luego para j = 2 .

u=2
3

2 2
⎛ΔX⎞
u=0 u=1 λ=⎜ ⎟ =1
j ⎝ ΔY ⎠
1

0
0 1 2 3
u= 0
i
Figura 17. Malla computacional con N = 3 y M = 3 .

Método de Jacobi
1
u k+1 = u k + ⎡u k + u k − 4u k + u k + u k ⎤
i, j i, j
4 ⎣ i+1, j i−1, j i, j i , j+1 i , j−1 ⎦

Para j = 1
1
u k+1 = u k + [u k + u k − 4u k + u k + u k ]
1,1 1,1
4 2 ,2 ! 0 ,1 1,1 1,2
!1,0

0 0

1
k+1
u2,1 = u k + [u k + u1,1
k
− 4u k + u k + u k ]
2 ,1
4 !
3,1 2 ,1 2 ,2
!2 ,0

1 0

Método de Gauss-Seidel
1
u k+1 = u k + ⎡u k + u k+1 − 4u k + u k + u k+1 ⎤
i, j i, j
4 ⎣ i+1, j i−1, j i, j i , j+1 i , j−1 ⎦

Página 35 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Para j = 1
1
u k+1 = u k + [u k + u k+1 − 4u k + u k + u k+1 ]
1,1 1,1
4 2 ,2 ! 0 ,1 1,1 1,2
!1,0

0 0

1
k+1
u2,1 = u k + [u k + u1,1
k+1
− 4u k + u k + u k+1 ]
2 ,1
4 !
3,1 2 ,1 2 ,2
!2 ,0

1 0

Con ω ≠ 1 esto es el método SOR.

Método de inversión línea por línea


u k ,calc − 2(1+ λ )u k ,calc + u k ,calc = − λ u k + u k
i+1, j i, j i−1, j
( i , j+1 i , j−1
)
Para j = 1
i =1 U 0 − 4U1 +U 2 = −(u1,2
k
+ u1,0
k
) = b1
! !
0 0

i=2 U1 − 4U 2 +U 3 = −(u + u2,0


k
) = b2 k
! ! 2,2
1 0

O en forma matricial

⎛ −4 1 ⎞ ⎛ U1 ⎞ ⎛ b1 ⎞ ⎛ D ⎞
1
⎜ 1 −4 ⎟ ⎜⎜ U ⎟⎟ = ⎜⎜ b − 1 ⎟ =⎜ ⎟
⎟⎠ ⎜⎝ D2 ⎟⎠
⎝ ⎠⎝ 2 ⎠ ⎝ 2

Para j = 2
i =1 U 0 − 4U1 +U 2 = −(u1,3
k
+ u1,1
k
) = b1
! !
0 2

i=2 U1 − 4U 2 +U 3 = −(u + u2,1


k
) = b2 k
! ! 2,3
1 2

O en forma matricial

⎛ −4 1 ⎞ ⎛ U1 ⎞ ⎛ b1 ⎞ ⎛ D ⎞
1
⎜ 1 −4 ⎟ ⎜⎜ U ⎟⎟ = ⎜⎜ b − 1 ⎟ =⎜ ⎟
⎟⎠ ⎜⎝ D2 ⎟⎠
⎝ ⎠⎝ 2 ⎠ ⎝ 2

Método de inversión directa de la matriz


(
ui+1, j − 2ui, j + ui−1, j + λ ui, j+1 − 2ui, j + ui, j−1 = 0 )
Para j = 1
i =1 u2,1 − 2u1,1 + u0,1 + λ (u1,2 − 2u1,1 + u1,0 ) = 0
! !
0 0

Página 36 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

u2,1 − 4u1,1 + u1,2 = 0


i=2 u3,1 − 2u2,1 + u1,1 + (u2,2 − 2u2,1 + u2,0 ) = 0
! !
1 0

−4u2,1 + u1,1 + u2,2 = −1

Para j = 2
i =1 u2,2 − 2u1,2 + u0,2 + λ (u1,3 − 2u1,2 + u1,1 ) = 0
! !
0 2

u2,2 − 4u1,2 + u1,1 = −2


i=2 u3,2 − 2u2,2 + u1,2 + (u2,3 − 2u2,2 + u2,1 ) = 0
! !
1 2

−4u2,2 + u1,2 + u2,1 = −3

Al escribir en forma matricial las ecuaciones correspondientes a los cuatro nodos internos
de este problema se obtiene
⎛ u1,1 ⎞
⎛ −4 1 1 0 ⎞ ⎜ ⎟ ⎛ 0 ⎞
⎜ 1 −4 0 1 ⎟ ⎜ u2,1 ⎟ ⎜ −1 ⎟
⎜ ⎟ ⎜ ⎟ =⎜ ⎟
⎜ 1 0 −4 1 ⎟ ⎜ u1,2 ⎟ ⎜ −2 ⎟
⎜⎝ 0 ⎟⎠ ⎜ ⎜ ⎟⎠
1 1 −4
⎝ u2,1 ⎟⎠ ⎝ −3

En el Problema 3, propuesto al final de este capítulo se solicita la solución y del sistema


de ecuaciones algebráicas obtenidas por las cuatro formulaciones revisadas.

Página 37 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

5. Difusión y reacción en una particula catalítica


En sección se revisa la obtención y forma de resolver el sistema de las ecuaciones
algebráicas obtenidas por el método de diferencias finitas para un modelo de la difusión y
reacción en una partícula catalítica esférica. El problema adimensional de valor en la
frontera para la concentración u (ξ ) , función del radio adimensional ξ , es el dado por la
siguiente ecuación diferencial ordinaria lineal
1 d ⎛ 2 d u⎞
⎜ ξ ⎟ − Φ 2u = 0, en 0 < ξ < 1 (5.1)
ξ 2
d ξ ⎝ d ξ ⎠
sujeta a las condiciones de frontera, en el centro de la partícula y su superficie, dadas por

du
en ξ = 0, =0

(5.2)

du
en ξ = 1, − = Bi ( u − u∞ )

(5.3)

Las constantes Φ , Bi y u∞ corresponden respectivamente al módulo de Thiele, número


de Biot y concentración en el seno del fluido en donde está sumergida la partícula. La
obtención del modelo se puede revisar en varios textos de ingeniería de reacciones o de
fenómenos de transporte. El desarrollo se puede hacer simultáneamente para una placa
plana, una partícula cilíndrica y una esférica al escribir la ec. (5.1) como

1 d ⎛ n d u⎞
ξ − Φ 2u = 0, en 0 < ξ < 1
ξ n dξ ⎜⎝ dξ ⎟⎠
(5.4)

en donde de acuerdo al valor de la constante se representa la ecuación de difusión


reacción para los tres casos deseados. Así
n = 0 partícula plana
n = 1 partícula cilíndrica (5.5)
n = 2 partícula esféricas

y ξ indica la posición con respecto al centro de la partícula como se muestra en la figura


siguiente

Página 38 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Figura 18. Coordenada medida relativa al centro de la partícula: a) Partícula plana y b)


partículas cilíndricas y esféricas.

Debe hacerse notar que para los tres sistemas de coordenadas las condiciones de frontera,
dadas por las ecs. (5.2) y (5.3), mantienen la misma forma. Para la discretización se usará
la malla computacional cuyo esquema se muestra en la siguiente figura

Fugura 19. Malla computacional. (Debe contener los nodos 1, 2,…. i-1, i, i+1 …. N-1, N
y la coordenada ξ).

En donde la posición ξ i espaciamiento constante Δξ y el índice i están relacionados


por
ξ i = Δξ ( i − 1) para 1 ≤ i ≤ N (5.6)

en donde

Δξ = 1/ ( N − 1)
(5.7)

Usando diferencias finitas centrales alrrededor del nodo i con un especiamiento hacia
delante y hacia atrás de Δξ = 12 , como se muestra en la Fig. 19, se obtiene

Página 39 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Y 1
−Y 1
dY ⎞
+ O ⎡⎢( Δξ ) ⎤⎥
i+ i− 2
= 2 2
dξ ⎟⎠ i Δξ ⎣ ⎦
(5.8)

⎛ d u⎞
Y = ⎜ξn
⎝ dξ ⎟⎠
En donde (5.9)

Figura 20. Parte de la malla que indique los nodos i-1, i-1/2, i, i+1/2, i+1 y laa separación
entre ellos Δξ/2.

De esta manera

⎛ n d u⎞ ⎛ n d u⎞
⎜⎝ ξ dξ ⎟⎠ 1 − ⎜⎝ ξ dξ ⎟⎠ 1 ξ n 1 ( ui+1 − ui ) − ξ n 1 ( ui − ui−1 )
d ⎛ n d u⎞ i+ i− i+ i−
ξ ≈ 2 2
= 2 2
dξ ⎜⎝ dξ ⎟⎠ i Δξ ( Δξ )
2
(5.10)

y por ello la ecuación diferencial, usando nuevamente diferencia finitas centradas para las
1 1
derivadas de primer orden alrededor de los nodos i − y i + , toma la forma
2 2
ξ n 1 ( ui+1 − ui ) − ξ n 1 ( ui − ui−1 )
i+ i−
2 2
− Φ 2ui = 0 para 2 ≤ i ≤ N − 1
ξ ( Δξ )
n 2
i (5.11)

Esta se puede escribir en la forma

⎡ 2⎤
α 1 ui−1 − ui ⎢α 1 + α 1 + Φ 2 ( Δξ ) ⎥ + α 1 ui+1 = 0 para 2 ≤ i ≤ N − 1
i−
2 ⎣ i+ 2 i+
2 ⎦ i+
2
(5.12)

en donde

Página 40 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

n n
⎛ξ 1⎞ ⎛ξ 1⎞
=⎜ 2⎟ =⎜ 2⎟
i+ i−
α α
i+
1 ⎜ ξ ⎟ i−
1 ⎜ ξ ⎟
2 ⎜⎝ i ⎟⎠ 2 ⎜⎝ i ⎟⎠ (5.13)

Por otro lado usando diferencias finitas hacia delante y hacia atrás para la primer derivada
en las condiciones de frontera dadas por las ecs. (5.2) y (5.3), se obtienen
u1 − u2 = 0 (5.14)

y uN −1 − uN (1+ BiΔξ ) = BiΔξ u∞ (5.15)


Las ecs. (5.12), (5.14) y (5.15) forman un sistema tridiagonal, de tal manera que se
pueden escribir como
Ai ui−1 + Bi ui + Ci ui+1 = Di para 1 ≤ i ≤ N (5.16)
En donde
A1 = 0, B1 = 1, C1 = −1, D1 = 0 para i = 1 (5.17)

⎡ 2⎤
Ai = α 1
, Bi = − ⎢α 1 + α 1 + Φ 2 ( Δξ ) ⎥ ,
i−
2 ⎣ i+ 2 i+
2 ⎦
Ci = α 1 , Di = 0 para 2 ≤ i ≤ N − 1 (5.18)
i+
2

AN = 1, BN = − (1+ BiΔξ ) , C N = 0, DN = BiΔξ u∞ para i = N (5.19)

No debe sorprender el que para el caso n = 0 los coeficientes de los nodos interiores sean
constantes e idénticos. Sin embargo, para el caso en que n es 1 o 2 tales coeficientes
dependen de la posición.
Al final del capítulo se proponen varios ejercicios relativos al desarrollo presentado en
esta sección.

Página 41 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

6. Desarrollo de fórmulas de la primera y segunda derivada con espaciamiento


variable.
Este tipo de fórmulas puede ser útil para casos en que existe una zona de cambio brusco
del campo que se busca. Por ejemplo, para el problema dado por las ecs. (2.1)-(2.3) con
Φ = 20 y cuya solución se muestra en la parte (a) de la siguiente figura.
nm

Figura 21. Con el módulo de Thiele Φ = 20 , a) Perfil de la concentración obtenido con la


ec. (2.34) y b) Perfil de concentración en la zona de cambio más significativo.

Los datos se obtuvieron con la ec. (2.34) (que es la solución analítica) y muestran que la
concentración disminuye más del 85 % en ξ = 0.9 , que es relativamente cerca de la
superficie. Para reproducir con exactitud aceptable la zona del perfil del cambio brusco y
que se muestra en la parte (b) de la Figura 21 conuna malla de espaciamiento constante
como se vió en la Sec. 2 se necesitarian muchos nodos. Por otro lado, se puede usar una
malla de espaciamiento variable, pero las fórmulas que representarían el problema en
diferencias finitas son diferentes, las de la segunda derivada y probablemente también
para la primera, son diferentes. Eel desarrollo de tales expresiones se hará en los
siguientes párrafos.
La discretización se refiere a la malla mostrada en la Fig. 22 en donde los espaciamientos
hi son diferentes unos de otros.

Figura 22. Malla de espaciamiento variable

Página 42 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Por ello usando expansión en series de Taylor alrrededor del nodo i se obtienen

dy h2 d 2 y hi3 d 3 y hi4 d 4 y
yi+1 = y(xi + hi ) = yi + hi + i + + +… (6.1)
dx i 2! dx 2 i 3! dx 3 i 4! dx 4 i

y
2 3 4
dy hi−1 d2y hi−1 d3y hi−1 d4y
yi−1 = y(xi − hi−1 ) = yi − hi−1 + − + +… (6.2)
dx i 2! dx 2 i 3! dx 3 i 4! dx 4 i

En donde
hi = xi − xi−1 (6.3)

Con la intención de obtener una fórmula para la segunda derivada, en la que no aparezca
la primera, se multiplica la ec. (6.1) por hi−1 y se suma al resultado de multiplicar la ec.
(6.2)por hi . De esta manera se obtiene

hi−1 yi+1 − ( hi + hi−1 ) yi + hi+1 yi−1 =

2
(
1 2
hi hi−1 + hi−1
2
hi )
d2y
+
1 3
h h − h (
3
h
d3y
dx 2 i 6 i i−1 i−1 i dx 3 i
)
(6.4)
+
4!
(
1 4
hi hi−1 + hi−1
4
)hi
d4y
dx 4 i
+…

De donde

d2y hi−1 yi+1 − ( hi + hi−1 ) yi + hi yi−1 ⎡ hi3hi−1 − hi−1


3
hi ⎤
= + O ⎢ 2 ⎥ (6.5)
1 2
( ) ⎣ hi hi−1 + hi−1hi ⎦
2 2
dx i
hi hi−1 + hi−1
2
hi
2
Esta fórmula es mucho más complicada a la obtenida para espaciamiento variable y dada
por la ec. (2.12). Sin embargo, la ec. (6.5) se reduce a la ec. (2.12) cuando el
espaciamiento entre nodos es constante, o sea hi = hi−1 = Δx .
Por un procedimiento similar se pueden obtener las siguientes tres fórmulas para la
representación en diferencias finitas de la primera derivada:
Diferencias centradas
dy y −y
= i+1 i−1 + O ⎡⎣ hi − hi−1 ⎤⎦ (6.6)
dx i hi + hi−1

Página 43 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Diferencias hacia adelante


dy y − yi
= i+1 + O ⎡⎣ hi ⎤⎦ (6.7)
dx i hi

Diferencias hacia atrás


dy y − yi−1
= i + O ⎡⎣ hi−1 ⎤⎦ (6.8)
dx i hi−1

Note que en el caso de una malla con espaciamiento variable el error al representar las
derivadas es mayor comparado con el error involucrado en las fórmulas para
espaciamiento constante. Siendo más evidente para el caso de la segunda derivada y la
representación con diferencias centradas de la primera derivada. Esto porque en tales
casos el error es de un orden mayor comparado a si se usa espaciamiento constante.
Al final del capítulo se proponen varios problemas con la intención de ilustrar que el
lector pueda aplicar varias de las ideas presentadas en esta sección y evaluar los pros y
contras.

Página 44 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

7. Comentarios finales sobre el material presentado en el capítulo.

En este capítulo se introdujeron las bases para representar con la metodología de


diferencias finitas un problema de valor en la frontera en términos de un sistema de
ecuaciones algebráicas. El cual será lineal si la ecuación diferencial y sus condiciones de
frontera son también lineales. De esta manera la solución numerica de un problema que
contiene ecuaciones diferenciales, ordinarias o parciales, requiere el conocimiento de
métodos como el algoritmo de Thomas, el de eliminación Gausiana o cualquier otro
método iterativo.
Se ha demostrado que la misma metodología para representar las derivadas de primer y
segundo orden se pueden usar para los tres sistemas coordenados más usados. También
que, se puede intentar la solución más eficiente, de problemas que contengan zonas de
cambios muy bruscos de la variable buscada, si se introducen mallas computacionales
con espaciamiento variable.
Por supuesto que para que el lector pueda con la metodología de diferencias finitas en
resolver problemas nuevos y aún de investigación requiere que él practique al buscar la
solución de problemas como los propuestos en la sección siguiente. En particular deberá
elaborar varios programas de computación.
Sin embargo, aún si no lo hace, el lector al usar programas comerciales estará advertido
que los resultados obtenidos, al contener errores numéricos asociados a la presición de los
cálculos y de la malla computacionalusada, pueden no ser la solución buscada.

Página 45 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

8. Problemas propuestos.
En los problemas que incluyen programas de cómputo debe entregarse un reporte
escrito que incluya el programa, resultados y discusión, y no deben faltar las
ecuaciones discretizadas y un esbozo del método de solución seguido.
Los programas pueden hacerse en cualquier lenguaje de programación. Pero se
sugiere que se hagan en FORTRAN.

Problema 1
Deduzca las fórmulas dadas por las ecs. (2.26)-(2.29) y conocidas como algoritmo de
Thomas. Estas corresponden a la solución del sistema tridiagonal y de ecuaciones
algebraicas definido en forma matricial en la ec. (2.25). Para ello puede user el método de
eliminación Gausiana o alguno otro equivalente.

Problema 2
Resuelva manualmente el siguiente sistema de ecuaciones usando el algoritmo de
Thomas.

⎛1 2 0 0 ⎞ ⎛ x1 ⎞ ⎛ 1 ⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜3 1 1 0 ⎟ ⎜ x2 ⎟ ⎜ 0 ⎟
=
⎜0 1 2 1 ⎟ ⎜ x3 ⎟ ⎜ 0 ⎟
⎜⎜ 0 ⎟⎜ ⎟ ⎜ ⎟
⎝ 0 1 1 ⎟⎠ ⎜⎝ x4 ⎟⎠ ⎜⎝ 2 ⎟⎠
Problema 3
Resuelva los sistemas de ecuaciones encontrados en el ejemplo al final de la Sección 4 y
que representan la formulación en diferencias finitas del problema con la ecuación
diferencial elíptica homogénea bidimensional y las condiciones de frontera dadas en la
Figura 17. Resuélvalo por los 4 métodos presentados (Jacobi, Gauss-Seidel, inversion
linea por linea e inversion directa). También, compare las soluciones obtenidas.

Problema 4
Escriba una rutina en FORTRAN que use el algoritmo de Thomas para resolver un
sistema de M ecuaciones tridiagonales. Usando la misma rutina pruébala, además de con
el problema 2, con tres sistemas diferentes de 5 o más ecuaciones. El programa debe leer
los datos de un archivo y poder realizar las cuatro soluciones pedidas en una sola corrida.

Página 46 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Problema 5
Escriba un programa en FORTRAN para resolver el problema planteado en la
introducción de la sección de métodos numéricos:
d2y
2
− Φ 2 y = 0, en a < x < b (2.30)
dx
Sujeta a las condiciones de frontera tipo Cauchy dadas por
dy
en x = a, = α a ( y − ya ) (2.31)
dx

dy
en x = b, − = α b ( y − yb ) (2.32)
dx

En el reporte a entregar deben incluirse gráficas que demuestren la capacidad del


programa para reproducir los resultados presentados en la Sección 2.

Problema 6
Plantea tres posibilidades para la solución numérica del siguiente problema usando el
método de diferencias finitas e involucrando el algoritmo de Thomas para resolver las
ecuaciones algebraicas resultantes de la discretización de la ecuación diferencial y las
condiciones de frontera.
El problema está dado por

d 2U U
− Φ2 = 0, en 0 < X < 1 (1)
d X2 κm + U
dU
en X = 0, en =0 (2)
dX
en X = 1, en U = U f (3)
Debes escribir claramente las ecuaciones discretizadas y mostrar los pasos principales a
considerar en el programa de cómputo. No olvides indicar los ciclos de convergencia si es
que los hay.
Escribe un programa de cómputo y evalúa la eficiencia de cada una de la alternativas
propuestas.

Página 47 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Problema 7
Plantea alguna forma para la solución numérica del siguiente problema usando el método
de diferencias finitas e involucrando el algoritmo de Thomas para resolver las ecuaciones
algebráicas resultantes de la discretización de la ecuación diferencial y las condiciones de
frontera.
El problema está dado por

d 2U
2
− Φ 2U 2 = 0, en 0 < X < 1 (1)
dX
dU
en X = 0, en = Bi (U − U 0 ) (2)
dX
dU
en X = 1, en − = Bi (U − U1 ) (3)
dX
a) Debes escribir claramente las ecuaciones discretizadas y mostrar los pasos principales
a considerar en el programa de cómputo. En el algoritmo deben tomarse en cuenta como
determinar la convergencia hacia la solución.
b) Escribe un programa en FORTRAN y analiza cuantas iteraciones son necesarias para
alcanzar la convergencia, en función del módulo de Thiele Φ , y algún otro parámetro
importante.

Problema 8
En muchas situaciones prácticas las partículas catalíticas están suspendidas en un fluido
dentro de un tanque agitado. Para tales casos, un modelo adimensional en estado
estacionario con partículas esféricas, está dado por la ecuación diferencial
1 d ⎛ 2 dU ⎞
⎜ ξ ⎟ − Φ 2U = 0
ξ 2
d ξ ⎝ d ξ ⎠
que debe resolverse sujeta a la condición de frontera

En ξ =1 −
dU

(
= Bi U − U f )
y a que la concentración del fluido U f , está gobernada por la ecuación diferencial
ordinaria
( ) ( )
τ R−1 U in (τ ) − U f + ψ p U − U f = 0

Página 48 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

En esta ecuación τ R y ψ p son constantes que indican el tiempo de residencia


adimensional y un número de Biot modificado respectivamente.
a) Justifique el modelo presentado en el enunciado. Por ejemplo describa el origen
del problema, el modelo y su adimensionalización.
b) Desarrolle el sistema de ecuaciones lineales obtenido al usar el método de
diferencias finitas para resolver el problema.
c) Basado en lo obtenido en el inciso (a), escriba el algoritmo para resolver el
problema.
d) Escriba un programa de cómputo para resolver el problema y compare los
resultados con la solución analítica.

Problema 9
El siguiente problema de valor en la frontera representa un modelo para una partícula
catalítica con sección transversal cuadrada y reacción irreversible de primer orden. El
módulo de Thiele se representa con φ .
Ecuación diferencial:
∂2 C ∂2 C 0 ≤ X ≤1
+ = φ 2 C, en (1)
∂X 2
∂Y 2
0 ≤ Y ≤1
Condiciones de frontera:
En X = 1, C = 1 (2)
En X = 0, C = 1 (3)
En Y = 1, C = 1 (4)
En Y = 0, C = 1 (5)

El problema se muestra en forma adimensional. Se requiere:

a. Escribir la ecuación diferencial en su representación en diferencias finitas.

b. Resolver el sistema de ecuaciones generado en forma directa ( sin iteraciones ) para


encontrar el perfil de concentración. Utilice una red con ΔX = ΔY = 0.25 y φ = 1.

c. Grafique el perfil de concentración para Y = 0.25, 0.5 y 0.75.

Página 49 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Problema 10
Utilizando diferencias centrales alrededor del nodo "i" encuentre una fórmula para la
representación en diferencias finitas del témino radial en el operador nabla. La fórmula
deben ser útil para coordenadas cilíndricas y esféricas. También, deben indicarse las
condiciones bajo las cuales se recupera la fórmula obtenida para cordenadas cartesianas.

Problema 11
Este problema está basado en la idea de que hay muchas situaciones en las que es
necesario usar soluciones numéricas con mallas con espaciamiento variable entre los
nodos. Deduzca, utilizando series de Taylor, las fórmulas para la representación en
diferencias finitas de las derivadas espaciales primera y segunda en del nodo " j" . Ahora
a diferencia de lo revisado en el texto debe considerarse que el espaciamiento entre el
nodo " j" y el " j + 1" es diferente al que hay entre los nodos " j" e " j − 1" . Indique
claramente como es que se recuperan las fórmulas para el caso de espaciamiento
constante.

Problema 12
Escriba un programa en FORTRAN para resolver el siguiente problema de valor en la
frontera:
1 ∂ ⎛ ∂u ⎞ ∂ 2 u 0 ≤ξ ≤ς
ξ + = 0 en (1)
ξ ∂ξ ⎜⎝ ∂ξ ⎟⎠ ∂Z 2 0 ≤ Z ≤1
sujeta a:
en Z = 1, u = 0 para 0 < ξ < ζ (2)
en Z = 0, u = 1 para 0 < ξ < ζ (2)
en ξ = ζ , u = 0, para 0 ≤ Z ≤ 1 (3)
Es recomendable involucrar el método de inversión línea por línea.

Problema 13
Considere el siguiente modelo en estado estacionario puede usarse para estimar el efecto
del mojado no uniforme sobre la reacción que ocurre en una partícula esférica:
Ecuación de difusión reacción:
1 ∂ ⎛ 2 ∂U ⎞ 1 ∂ ⎛ ∂U ⎞
⎜ ξ ⎟ + 2 ⎜ senθ ⎟ − Φ 2U = 0
ξ ∂ ξ ⎝ ∂ ξ ⎠ ξ senθ ∂θ ⎝
2
∂θ ⎠
Sujeta a la condición de frontera

Página 50 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

En ξ = 1 U = U ∞ (θ )
U es finita en 0 ≤ ξ ≤ 1
Escribe un programa en FORTRAN para encontrar el perfil de concentración U ξ ,θ y ( )
el factor de efectividad η .

Problema 15
Este se refiere al problema de difusión reacción definido por las ecs. (2.35)-(2.37) cuya
solución analítica con los parámetros a = 0 , b = L , α a = 0 y α b >> 1 es
senh(Φ x)
y=
senh(Φ)

a) Obtenga la expresión anterior

b) Determine, usando la solución analítica del problema, para varios valores del módulo
de Thiele Φ , si es que existe una capa límite en el sistema. Esto es una zona que
tenga un espesor no mayor del 10 % del espesor total, en donde la concentración
disminuya 99 % de su valor en una de las fronteras. Después de ello, si la capa límite
existe, construya una malla computacional que contenga N δ nodos separados
uniformemente en la zona de la capa límite. En el resto del dominio debe haber los
nodos suficientes de tal manera que el espaciamiento constante de esa zona satisfaga
Δxo = rΔxδ , en donde r > 1

En donde r > 1 . Encuentre la ecuaciones que permitan obtener la posición de cada


uno de los nodos y el número total de nodos.
c) Para varios valores de y grafique la posición xi de cada uno de los nodos en función
del índice i que le corresponde.
d) Use los valores de la concentración obtenidos de la solución analítica para estimar el
valor de la segunda derivada usando la fórmula en diferencias finitas. Grafique los
resultados obtenidos y discutalos, en particular para los valores en la vecindad del
nodo en donde el espaciamiento cambia.

Problema 16
Usando las ideas anteriores discutidas en el Problema 15 escriba un programa en
FORTRAN y resuelva el problema usando el método de diferencias finitas para varios
valores de los parámetros numéricos.

Página 51 J.A. Ochoa Tapia


Capítulo VI: Método de diferencias finitas Mayo 2015

Página 52 J.A. Ochoa Tapia

También podría gustarte