You are on page 1of 50

Método de diferencias finitas

1
1. Introducción
El método de diferencias finitas es un clásica aproximación para encontrar
la solución numérica de las ecuaciones diferenciales parciales. El método
consiste básicamente en que las derivadas son reemplazadas por
aproximaciones en diferencias finitas, convirtiendo el problema de
ecuaciones diferenciales en un problema algebraico Ax = b que puede
resolverse por métodos matriciales.
1.1 Aproximaciones polinómicas

 Se basan en las aproximaciones polinómicas a f(x)


cerca de un punto:
x = x0 dado como una aproximación lineal h = x - x0.
 Una aproximación se obtiene de la recta tangente
entre los puntos f(x) y f(x0):
𝑓(𝑥) ≈ 𝑓(𝑥0) + (𝑥 − 𝑥0) 𝑓’(𝑥0)

 O en su forma cuadrática:
𝑓′′(𝑥0 )
𝑓 𝑥 ≈ 𝑓 𝑥0 + ℎ 𝑓’ 𝑥0 + ℎ2
2!
 Mientras menor sea h más aproximada será la solución.
1.2 Error de truncamiento

 Se puede obtener una fórmula a del error a partir de la expresión:


𝑓 𝑛 𝑥0
Serie de Taylor con residuo: 𝑓 𝑥 ≈ 𝑓 𝑥0 + ℎ 𝑓’ 𝑥0 + ⋯ + ℎ 𝑛 +
𝑛!
𝑅𝑛
 Donde Rn es el resto de Lagrange, que se expresa:

𝑓𝑛+1 (𝜃)(𝑥−𝑥0 )𝑛+1


𝑅𝑛 = para 𝑥0 < 𝜃 < 𝑥
𝑛+1 !

 Que representa el máximo error cometido en la aproximación de


grado “n”
2.2 Aproximación de la primera derivada

Existen distintas maneras de generar la aproximación a la


primera derivada.
Usando la serie de Taylor, podemos aproximar las derivadas
de varias formas, a saber, por diferencias progresivas,
diferencias regresivas y diferencias centrales
2.2 Aproximación de la primera derivada

2.1 Diferencias progresivas


Considerando la ecuación anterior y sea h>0
ℎ2
𝑓 𝑥 + ℎ = 𝑓 𝑥 − ℎ𝑓′ 𝑥 + 𝑓′′(∈)
2!

De esta ecuación se obtiene la siguiente expresión para la aproximación de la primera


derivada
𝑓 𝑥 + ℎ − 𝑓(𝑥) ℎ 2
𝑓′ 𝑥 = − 𝑓′′(∈)
ℎ 2!
2.2 Aproximación de la primera derivada

2.1 Diferencias Progresivas


En este caso la aproximación a f’(x) mediante diferencias progresivas
es de primer orden, es decir O(Δx).
Es común escribir la ecuación anterior como

𝑓 𝑥 + ℎ − 𝑓(𝑥)
𝑓′ 𝑥 = − 𝑂𝑝 (ℎ)

Siendo Op(h) el error de truncamiento,


ℎ2 definido como
𝑂𝑝 (ℎ) 𝑓′′(𝜖)
2!
2. 2 Aproximación de la primera derivada

2.2 Diferencias Regresivas


Considerando nuevamente la 2ecuación anterior

𝑓 𝑥 − ℎ = 𝑓 𝑥 − ℎ𝑓′ 𝑥 + 𝑓′′(∈)
2!

Así la aproximación a la primera derivada


2
es
𝑓 𝑥 − 𝑓(𝑥 − ℎ) ℎ
𝑓′ 𝑥 = − 𝑓′′(∈)
ℎ 2!
2. 2 Aproximación de la primera derivada

2.2 Diferencias Regresivas


En este caso la aproximación a f’(x) mediante diferencias regresivas también
es de primer orden O(h)
Entonces se puede escribir la derivada como

𝑓 𝑥 −𝑓(𝑥−ℎ)
𝑓 ′ (𝑥) = − 𝑂𝑟 (h)

ℎ2
Siendo 𝑂𝑟 ℎvez
una = mas 𝑓′′(∈) el error de truncamiento.
2!
2.2 Aproximación de la primera derivada

2.3 Diferencias Centradas


Comprobando las diferencias progresivas y regresivas observamos que
el error de truncamiento es O(h) para obtener una mejor aproximación
podemos calcular la media de esas aproximaciones
ℎ2 ′′ ℎ3
𝑓 𝑥 + ℎ = 𝑓 𝑥 + ℎ𝑓 ′ 𝑥 + 𝑓 ∈ + 𝑓′′′(∈𝑝 )
2! 3!

ℎ2 ′′ ℎ3
𝑓 𝑥 − ℎ = 𝑓 𝑥 − ℎ𝑓 ′ 𝑥
+ 𝑓 ∈ − 𝑓′′′(∈𝑝 )
2! 3!
2.2 Aproximación de la primera derivada

2.3 Diferencias Centradas


Restando las ecuaciones anteriores
′ ℎ3 ′′′
𝑓 𝑥 + ℎ − 𝑓 𝑥 − ℎ = 2ℎ𝑓 (𝑥) + 𝑓 ∈𝑝 + 𝑓′′′(∈𝑟 )tim
3!

Esta ultima expresión da lugar a la aproximación de la primera derivada mediante


diferencias centradas

𝑓 𝑥+ℎ −𝑓 𝑥−ℎ
𝑓 ′ (𝑥) = − 𝑂𝑐 (ℎ2 )
2ℎ
2.2 Aproximación de la primera derivada

2.3 Diferencias Centradas


Donde Oc(h2) es el error de truncamiento, el cual es de segundo orden.
Haciendo una comparación de los errores de truncamiento de diferencias
progresivas y diferencias regresivas y diferencias centradas tenemos que

lim 𝑂𝑐 (ℎ2 ) < lim 𝑂𝑝 ℎ = lim 𝑂𝑟 (ℎ)


ℎ→0 ℎ→0 ℎ→0
Por lo tanto, la mejor aproximación a la primera derivada se logra con
diferencias centradas.
Estas tres aproximaciones son consistentes, lo que significa que el error de
truncamiento se aúnala cuando h tiende a 0
2.3 Aproximación a las
Derivadas en 1D, 2D y 3D

De manera análoga, se pueden obtener


aproximaciones en diferencias finitas de derivadas de
orden mayor partiendo de:

Donde:
Derivada de Orden Uno en Una Dimensión

Una vez restando las dos ecuaciones se obtiene que:

Donde esta ultima expresión le da lugar a la ultima


derivada
Derivada de Orden Dos en Una
Dimensión

Ahora para obtener la aproximación de la segunda


derivada se suman este par de ecuaciones.
Así la aproximación a la segunda derivada usando
diferencias centradas, con error de truncamiento 𝑂𝑐 ℎ2 .
Derivada de Orden Uno en Dos
Dimensiones
 Utilizando la ecuación de la aproximación de la primera derivada se
obtendrá la aproximación a las derivadas parciales en dos variables x y y,
lo cual se hace manteniendo una de las variables fija.

 Sea f(x, y) ϵ𝐶 1 . Si se mantiene y fija se tiene que:


Si se mantiene x fija se tiene que:
Derivada de Orden Dos en Dos
Dimensiones
Utilizando la aproximación de la segunda derivada se obtendrá la
aproximación a las segundas derivadas parciales en dos variables x y y, lo
cual se hace manteniendo una de las variables fija. Sea f(x, y) ϵ𝐶 2 .
Si se mantiene y ja se tiene que:

Si ahora se mantiene x ja se obtiene lo siguiente:


Derivada de Orden Uno en Tres Dimensiones

Utilizando la aproximación de la primera derivada se obtendrá la aproximación a las


derivadas parciales en dos variables x, y, z, lo cual se hace manteniendo una de las
variables fija.
Sea f(x, y) ϵ𝐶 1 .
Derivada de Orden Dos en Tres Dimensiones
De nuevo, utilizando la aproximación a la segunda derivada se obtendrá la aproximación a
las segundas derivadas parciales en tres variables x, y, z. Lo que se hace es mantener dos
de las tres variables fijas. Sea f(x, y,z) ϵ𝐶 2 .
2.4 Estencil para problemas en 3D

 El estencil para los problemas de una y dos dimensiones pueden


obtenerse como caso particular del de tres dimensiones, haciendo
ceros los términos que no deben de aparecer.
 Para crear la malla se divide el dominio de la ecuación diferencial
nodos homogéneamente espaciados por cada dimensión. Usando lo desarrollado en
diferencias finitas para las parciales en tres dimensiones, tenemos que para el n-
ésimo nodo se tiene que:
2.5 Condiciones de frontera

Se específica el valor que la función


Dirichlet.
𝑢 (𝑥; 𝑡) toma en la frontera

Es decir, es un valor conocido en el


nodo o nodos de la frontera, este
valor pasa al lado derecho del
sistema 𝐴𝑥 = 𝑏.

No se necesita hacer más Peter Gustav Lejeune Dirichlet (1805-1859)


manipulación algebraica. (2.6.1)
2.5 Condiciones de frontera
Neumann.

 Lo que se conoce es la derivada de 𝑢 (𝑥; 𝑡) a lo


∂u
largo de la frontera ∂Ω, es decir,. .
∂𝑛

 La condición debe representarse como una


diferencia finita añadiendo puntos ficticios a la
malla en la frontera.

 Estos valores añadidos, no tienen ningún


significado físico pues se encuentran por fuera Neumann János Lajos (1903-1957)
del dominio del problema
2.5 Condiciones de frontera

Robin.

Al ser una combinación de las anteriores, se aplica la misma


regla dependiendo de la condición de frontera en la que se
encuentre el nodo. Véase sección 2.6.3.

Victor Gustave Robin (1855 – 1897)


Procedimiento general del método de
diferencias finitas
 Generar una malla del dominio.
 Sustituir las derivadas correspondientes para obtener un sistema
algebraico.
 Resolver el sistema de ecuaciones para cada punto de la malla.
Ejemplo
7. A(x) no constante

 Se considera el dominio 𝑥 − ℎ1′ , 𝑥 y (𝑥, 𝑥 + ℎ1′′ ) donde ℎ1′ y ℎ1′′ no son


𝑑 𝑑𝑢
necesariamente iguales. Para tal dominio 𝑑𝑥 𝑎 𝑑𝑥 quedaría como:
2.8 Discretización del tiempo

Para ecuaciones del tipo parabólico e hiperbólico, las cuales


dependen del tiempo, se necesita introducir una discretización en las
derivadas con respecto al tiempo.

Se puede utilizar algún esquema de diferencias finitas en la


discretización del tiempo.
2.8.1. Ecuaciones Con Primera Derivada Temporal
(Esquema Theta)
 Para la solución de ecuaciones diferenciales con derivada temporal (𝑢𝑡), se
emplean diferentes esquemas en diferencias finitas para la discretización del tiempo.
Estos esquemas se conocen de manera general como esquemas theta (𝜃),

• Si se define la ecuación EDP general de segundo orden como en 1.2.2 ƪ𝑢 =


σ𝑛𝑖,𝑗 𝑎𝑖𝑗 𝑢𝑥𝑖𝑥𝑗 + σ𝑛𝑖=1 𝑏𝑖 𝑢𝑥𝑖 + 𝑐𝑢, entonces la ecuación parabólica tiene la forma
𝑢𝑡 = ƪ𝑢
𝑢𝑡 = 𝑎𝑢𝑥𝑥 + 𝑏𝑢𝑦𝑦 + 𝑐𝑧𝑧 + 𝑑𝑢𝑥 + 𝑒𝑢𝑥 + 𝑓𝑢𝑧 + 𝑔𝑢 + ℎ

Entonces, el esquema 𝜃 𝒖𝒕 = 𝟏 − 𝛉 ƪ𝒖 𝒋 + 𝛉 ƪ𝒖 𝒋+𝟏


está dado por
Diferentes casos del esquema theta

 Para 𝜽 = 0 se obtiene un esquema de diferencias finitas hacia adelante en el tiempo,


conocido como esquema completamente explícito, ya que el paso 𝑛 + 1 se obtiene de
los términos del paso anterior 𝑛. Es un esquema sencillo, el cual es condicionalmente
ℎ2
estable cuando k ≤ donde ℎ = ∆𝑥 𝑦 𝑘 = ∆𝑡.
2

 Para 𝜽 = 1 se obtiene el esquema de diferencias finitas hacia atrás en el tiempo,


conocido como esquema completamente implícito, el cual es incondicionalmente
estable.

1
 Para 𝜽 = se obtiene un esquema de diferencias finitas centradas en el tiempo,
2
conocido como esquema Crank-Nicolson, este esquema también es incondicionalmente
estable y es el más usado por tal razón.
 Entonces en el esquema de Crank-Nicolson se toman una diferencia
progresiva para el tiempo y se promedian las diferencias progresivas
y regresivas en el tiempo para las derivadas espaciales.

 Entonces, si tenemos la ecuación


𝑢𝑡 = ƪ𝑢

𝑢𝑡 = 𝑎𝑢𝑥𝑥 + 𝑏𝑢𝑦𝑦 + 𝑐𝑧𝑧 + 𝑑𝑢𝑥 + 𝑒𝑢𝑥 + 𝑓𝑢𝑧 + 𝑔𝑢 + ℎ


 donde los coeficientes pueden depender de ( 𝑥, 𝑦, 𝑧, 𝑡 ). Las
discretizaciones correspondientes son

𝒋
𝒖𝒋+𝟏 −𝒖𝒊
𝒖𝒕 ≈
𝒌
 Para el tiempo, donde k=∆𝒕 𝒀

𝑗 𝑗
además de 𝑔𝑢𝑖 𝑦 ℎ𝑖 para el espacio.

Entonces una vez que se sustituyen las derivadas


por su forma en diferencias finitas lo que sigue es
formar
el sistema 𝐴𝑢 𝑗+1 = 𝐵𝑢 𝑗 + ℎ 𝑗 , esto se logra,
colocando del lado izquierdo de la igualdad los
términos que
contengan el paso del tiempo correspondiente a j
+ 1 y del lado derecho a los correspondientes
términos de
j.
2.8.2. Ecuaciones Con Segunda Derivada Temporal

 En las ecuaciones diferenciales parciales donde se requiera segunda


derivada temporal (por ejemplo, la ecuación de onda), esta se aproxima por
diferencias centradas en el tiempo

𝒋
𝒖𝒋+𝟏 −𝟐𝒖𝒊 +𝒖𝒋−𝟏
𝒖𝒕𝒕 ≈
𝒌𝟐

 donde k =∆ t es la partición del intervalo del tiempo. Mientras las demás


derivadas parciales se sustituyen por su aproximación de diferencias nitas. Si
ƪ𝑢=𝑢𝑡t

𝑢𝑡 = 𝑎𝑢𝑥𝑥 + 𝑏𝑢𝑦𝑦 + 𝑐𝑧𝑧 + 𝑑𝑢𝑥 + 𝑒𝑢𝑥 + 𝑓𝑢𝑧 + ℎ𝑢 + 𝑔


 donde los coeficientes pueden depender de (𝑥, 𝑦, 𝑧, 𝑡), las discretizaciones correspondientes son
para el tiempo y

𝒋
𝒖𝒋+𝟏 −𝟐𝒖𝒊 +𝒖𝒋−𝟏
𝒖𝒕𝒕 ≈
𝒌𝟐

 además de ℎ𝑢𝑖 y 𝑔𝑖 para el espacio. Al ser los errores de


aproximación de segundo orden en espacio O(ℎ𝑖2 ) y en tiempo
O(𝑘 2 ), 𝑠𝑒 𝑒𝑠𝑝𝑒𝑟𝑎 𝑞𝑢𝑒 𝑙𝑎𝑠 𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑎𝑐𝑖𝑜𝑛𝑒𝑠 𝑠𝑒𝑎𝑛 𝑘 ≈ ℎ𝑖 )
 Entonces una vez que se sustituyen las derivadas por su forma en diferencias
finitas lo que sigue es formar el sistema 𝒖𝒋+𝟏 = 𝟐𝒖𝒋+𝟏 −𝒖𝒋+𝟏 +𝑘 2 𝐵𝑢 𝑗 , esto se
logra, colocando del lado izquierdo de la igualdad los términos que contengan el
paso del tiempo correspondiente a j +1 y del lado derecho a los correspondientes
términos de 𝑗 y 𝑗 − 1.

 Los errores cometidos en la discretización son de


orden cuadrático, pues se ha utilizado la diferencia
central en tres puntos, tanto para el espacio como para
el tiempo.
2.8.3. Upwind
 El esquema upwind, es un método de resolución especial para las ecuaciones hiperbólicas, en
especial la ecuación de advección, la cual esta dada por

𝒖𝒕 + 𝒂𝒖𝒙 = 𝟎

por lo que para conocer el tiempo en 𝑗 +


1 hay que conocer el tiempo j y, si 𝑗 = 0
entonces es 𝑢0 es la condición inicial del
problema.
Error del método

 Error global: Se define como U-u, sea U las soluciones del método y u las
soluciones analíticas.
 Norma infinito: 𝐸 ∞ = 𝑚á𝑥𝑖 𝑒𝑖
 Norma 1: 𝐸 1 = σ𝑖 ℎ𝑖 𝑒𝑖
2 1Τ2
 Norma 2: 𝐸 2 = ( 𝑖 ℎ𝑖 𝑒𝑖 )
σ
 La norma infinito es la más usada para calcular los errores en la
discretización.
 El error local de truncamiento sirve para medir que tanto se acerca la
discretización de diferencias finitas a la ecuación diferencial y se define
𝑢 𝑥−ℎ −2𝑢 𝑥 +𝑢(𝑥+ℎ)
como: 𝑇 𝑥 = 𝑃𝑢 − 𝑃ℎ 𝑢 = 𝑓 𝑥 − 2

Convergencia, consistencia y estabilidad

 Se dice que el método es convergente si: 𝑙í𝑚ℎ→0 𝐸 = 0


 El esquema de diferencias finitas es consistente si: 𝑙í𝑚ℎ→0 𝑇 𝑥 =
𝑙í𝑚ℎ→0 (𝑃𝑢 − 𝑃ℎ 𝑢) = 0
 El método es estable si: 𝐴−1 ≤ 𝐶 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 ℎ <
ℎ0 𝑑𝑜𝑛𝑑𝑒 𝐶 𝑦 ℎ0 𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠

 Teorema de equivalencia de Lax-Richtmyer: “Un método de


diferencias finitas consistente y estable es convergente”
10. Estabilidad de métodos con paso de
tiempo.

Para determinar la condición de estabilidad de los métodos con paso de tiempo, se utiliza el
análisis de estabilidad de von Neumann, que puede describirse en los siguientes pasos:
Esquema discreto ⇒ transformada discreta de Fourier ⇒ crecimiento del factor g (ξ) ⇒
estabilidad si |g (ξ) | ≤ 1
10. Estabilidad de métodos con paso de
tiempo.
10.1 Análisis de von Neumann Simplificado para métodos con Paso
de Tiempo 𝑈 𝑘+1 = 𝑓(𝑈 𝑘 , 𝑈 𝑘+1 )
Asúmase que se tiene un método de paso temporal
Se tiene el siguiente teorema con el cual se puede conocer la
estabilidad del esquema de diferencias finitas

Teorema. Sea θ = hξ. Un esquema de diferencias finitas con paso de tiempo


(con cocientes constantes) es estable ⇔ existe una constante K (independiente
de θ,∆t, y h) y una malla con espacios h0 y ∆t0 tal que

𝑔, 𝜃, ∆𝑡, ℎ ≤ 1 + 𝐾∆𝑡
10. Estabilidad de métodos con paso de
tiempo.
10.1 Análisis de von Neumann Simplificado para métodos con Paso de Tiempo
para todo Θ, 0 < h ≤ h0 y 0 < ∆t ≤ ∆t0. Si g (Θ, ∆t, h) es independiente de h y ∆t, la
condición para la estabilidad es

𝑔(𝜃) ≤ 1

Este teorema muestra que para determinar la estabilidad de un esquema de diferencias


finitas, se necesita considerar únicamente la amplicación del factor g(ξθ) = g(θ). Esta
observación es debida a von Neumann, y es por esto, que este tipo de análisis lleva su
nombre.
10. Estabilidad de métodos con paso de
tiempo.
10.1 Análisis de von Neumann Simplificado para métodos con Paso de
Tiempo
Para establecer la estabilidad mediante el análisis de von Neumann se siguen
los siguientes pasos:
1. Se sustituye 𝑢𝑗𝑘 = 𝑒 𝑖𝑗ℎ𝜀

2. Se expresa 𝑢𝑗𝑘+1 = 𝑔(ξ)𝑒 𝑖𝑗ℎξ

3. Se resuelve 𝑔 ξ y se determina si |𝑔 ξ | ≤ 1
Conclusión

 Gracias a los métodos numéricos podemos ser precisos y exactos en


nuestros cálculos
 Tenemos en cuenta el error en un número y las cifras significativas que lo
contienen, A partir de este conocimiento podemos desarrollar e
implementar software personalizados y además de ello, modificar el
cálculo de error con el que trabajemos.

You might also like