1. Ecuación de Difusión.- Esquema de Crank-Nicholson
(basado en unos apuntes del Prof. Javier García de Jalón)
Sea la ecuación diferencial de difusión:
∂ 2u ∂u
⋅ = p( X, t) ⋅
∂X 2 ∂t
con las condiciones iniciales:
u(x,0) = f(x) 0≤x≤L
y condiciones de contorno
∂ u(0, t)
u(0, t) + α(t) ⋅ = g( t) ∀t≥0
∂x
∂ u(L, t)
u(L, t) + β(t) ⋅ = h( t) ∀t≥0
∂x
Para resolverlo se va a utilizar el método de los elementos finitos con funciones de interpolación lineales, teniendo
en cuenta que los valores uk van a ser funciones del tiempo.
Considérese el intervalo [0,L] dividido en M elementos cuyos extremos son [X , X2], [X2, X3], [X3, X4], ……., [Xk , Xk+1],
1
…….., [XM, XM+1], donde X = 0 y X = L. Se va reducir este estudio al elemento genérico e k , definido en el
1 M+1
subintervalo [X , Xk+1] cuyos nodos son X y Xk+1.
k k
Se aproxima la solución mediante las funciones de interpolación lineales:
k x
N1 ( x) = 1 −
hk
y
x
Nk ( x ) =
2 hk
donde hk = Xk+1 - Xk y las funciones están expresadas en coordenadas locales que se relacionan con las globales
mediante la ecuación:
X = x + Xk
Repárese que dX = dx, con lo que la ecuación diferencial expresada en coordenadas locales para el elemento ek
tendría la forma:
∂ 2u ∂u
= p( X k + x, t) ⋅
∂x ∂t
2
Con estas funciones de interpolación la función en este elemento se aproxima mediante la línea recta definida por:
y = u k ⋅ Nk ( x) + uk +1 ⋅ Nk ( x )
1 2
donde uk y uk+1 son los valores de las ordenadas en los nodos del elemento, y funciones del tiempo, en las
abscisas, expresadas en coordenadas globales, X y Xk+1, respectivamente.
k
Aplicando el método de Galerkin, en el que
hk ∂ 2u k hk ∂u k
∫0 2 Nr (x ) ⋅ dx = ∫o p( Xk + x, t) ⋅ ∂t ·Nr ( x )·dx ∀ r = 1, 2
∂x
i) Integrando por partes la integral correspondiente al primer miembro
h k
hk ∂ 2u ∂u k h ∂u dN r ( x )
∫ ∂x 2 r
0
Nk ( x) ⋅ dx = − ·Nk ( x) − ∫ k
∂x
r
0 0 ∂x
.
dx
·dx
Particularizando ahora para r = 1 y, sustituyendo a u por su valor, se obtiene
k k k k
∂ u( X k , t) h dN 1 ( x ) dN 1 ( x ) h dN 2 ( x ) dN 1 ( x )
− · − uk ⋅ ∫ k . ·dx − u k +1 ⋅ ∫ k . ·dx
∂X 0 dx dx 0 dx dx
Para r = 2 se obtiene,
k k k k
∂u( X k +1, t) h dN 1 ( x ) dN 2 ( x ) h dN 2 ( x ) dN 21( x )
· − uk ⋅ ∫ k . ·dx − u k +1 ⋅ ∫ k . ·dx
∂X 0 dx dx 0 dx dx
llamando
k
hk dN 1 dN k ( x)
∫
k
K11 = ⋅ 1 ⋅ dx
0 dx dx
1/4
2. hk dN k dN k ( x)
∫
k
K12 =Kk
21
= 1 ⋅ 2 ⋅ dx
0 dx dx
hk dN k dN k ( x )
Kk = ∫
2 ⋅ 2 ⋅ dx
22 0 dx dx
se llega a las siguientes expresiones
∂ u( Xk ,t ) k k
− · − K11 ⋅ u k − K12 ⋅ u k + 1
∂X
∂u( X k +1, t)
· − K k ⋅ u k − K k ⋅ u k +1
∂X 21 22
ii) El segundo miembro
hk
∫o p( Xk + x, t ) ⋅
∂u k
∂t
h
o
& k (&
2 r )
·N r ( x)· dx = ∫ k p( X k + x, t) ⋅ u k ⋅ N1 + u k +1 ⋅ N k ·N k ( x)·dx =
h h
= u k ⋅ ∫ k p( X k + x, t) ⋅ N1 ( x) ⋅ Nk ( x) ⋅ dx + u k +1 ⋅ ∫ k p( X k + x, t) ⋅ Nk ( x) ⋅ Nk ( x) ⋅ dx
& k
r
&
2 r
o o
llamando
h
Ck1 = ∫ k p( Xk + x, t) ⋅ N1 ( x ) ⋅ Nk ( x) ⋅ dx
r
k
r
o
y
hk
Ck2 =
r ∫o p( Xk + x, t ) ⋅ Nk ( x) ⋅ Nk ( x) ⋅ dx
2 r
La expresión anterior matricialmente adopta la forma:
∂u( Xk , t)
− k k k k &
∂X − K 11 K12 ⋅ uk = C11 C12 ⋅ u k
u k
∂u( Xk +1, t ) K k K k k +1 C u
21 22 21 Ck & k +1
22
∂X
Se suele llamar
K k K k k k
Kk = 11 12 y C k = C 11 C 12
el k k el k k
K 21 K 22
C 21 C 22
que, como se ha visto, son simétricas.
Si se ha discretizado el dominio en M elementos, por cada uno de ellos se obtienen dos ecuaciones, como las
vistas. Es obvio que las componentes de los vectores correspondientes a las condiciones de contorno de los
elementos, por continuidad, son iguales en el nodo común a elementos adyacentes. Por tanto, se puede pasar de
las 2xM ecuaciones a M+1, sin más que sumarlas dos a dos.
[K ] 1
[K ] 2
[K ] 3
[K ] 4
[ K ] = e∑1[K e ] =
n
=
Ensamblaje de la matriz [K].
Este proceso, conocido también como “ensamblaje” de matrices, conduce a la siguiente ecuación matricial:
2/4
3. ∂u( X1, t) 1
− K 11 K1 0 ⋅ ⋅ ⋅ 0 u1
∂X
12
1 2 2
0 K 22 + K 11 K 12 0 ⋅ ⋅ ⋅ u2
⋅ 2 3
K 11 + K11 ⋅ ⋅
⋅ ⋅
⋅ − ⋅ ⋅ ⋅ ⋅ ⋅ =
⋅ sim ⋅ 0 ⋅
0 K M−1 + K M K 12 ⋅
M
∂u( XM+1, t) 22 11
K M u M+1
∂X 22
C1 C1 0 ⋅ ⋅ ⋅ 0 u
11 12 &1
C1 + C11
2 2
C12 u &
22 2
2 3
C11 + C11 ⋅
= ⋅
⋅ ⋅
sim ⋅ ⋅
M
CM − 1 + C11 C12 ⋅
M
22
u &
CM M +1
22
De modo simbólico:
{v} – K·{u} = C·{du/dt}
Ahora se va a ver cómo integrar numéricamente el sistema de ecuaciones diferenciales ordinarias, que sólo
dependen del tiempo t. Integrar este sistema precisa disponer de una expresión que permita calcular las
temperaturas en el instante t+∆t a partir de las temperaturas en el instante t. Aplicando esta expresión
recursivamente a partir de las temperaturas en el instante inicial, se pueden calcular las temperaturas en
cualquier instante de tiempo.:
T(t+∆t)
T(t)
tt+∆t/2 t+∆t
Método de Crank-Nicholson.
Según se muestra en la figura, el método de Crank-Nicholson supone la ecuación aplicada en el instante (t+∆t/2),
en la forma:
[K]{u t+ ∆t / 2 } + [C]{u t +∆t / 2 } = {v}
&
En esta ecuación se introducen ahora las siguientes aproximaciones, basadas en los conceptos aproximados de
valor medio y derivada:
(
{u t +∆t / 2 } = 1 {u t } + u t+ ∆t
2
{ })
{u t +∆t / 2 } =
&
1
({
u
∆ t t + ∆t
}
− {u t } )
Sustituyendo estos valores en la ecuación y reordenando se obtiene:
[A]{u t +∆t } + {v t +∆t / 2 } = [B]{u t }
donde,
[A] = 1
[Ct + ∆t / 2 ] + 1 [K] [B] = 1
[C t +∆t / 2 ] − 1 [K]
∆t 2 ∆t 2
3/4
4. ecuación de la que puede calcularse {ut + ∆t } conocido {u t } . Mediante esta ecuación se puede avanzar paso a
paso desde el instante inicial, hasta el instante de tiempo que se desee. En otras palabras, a partir de las
condiciones iniciales {u 0 } se calcula {u1 } ; a partir de {u1 } se calcula {u 2 } ; y así sucesivamente hasta el último
instante de tiempo previsto en el cálculo.
4/4