ecuacion de_difusion_esquema_de_crank_nicholson
-
Upload
ricardo-palma -
Category
Documents
-
view
91 -
download
2
Transcript of ecuacion de_difusion_esquema_de_crank_nicholson
1/4
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:
tu
)t,X(pX
u2
2
∂∂
⋅=∂
∂⋅
con las condiciones iniciales: u(x,0) = f(x) 0 ≤ x ≤ L y condiciones de contorno
0t)t(hx
t)u(L,(t) t)u(L,
0t)t(gx
t)u(0,(t) t)u(0,
≥∀=∂
∂⋅β+
≥∀=∂
∂⋅α+
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 [X1,X2], [X2,X3], [X3,X4], ……., [Xk,Xk+1], …….., [XM,XM+1], donde X1 = 0 y XM+1 = L. Se va reducir este estudio al elemento genérico ek, definido en el subintervalo [Xk,Xk+1] cuyos nodos son Xk y Xk+1. Se aproxima la solución mediante las funciones de interpolación lineales:
k
k1 h
x1)x(N −=
y
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:
tu
)t,xX(px
uk2
2
∂∂
⋅+=∂
∂
Con estas funciones de interpolación la función en este elemento se aproxima mediante la línea recta definida por:
)x(Nu)x(Nuy k21k
k1k ⋅+⋅= +
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, Xk y Xk+1, respectivamente. Aplicando el método de Galerkin, en el que
i) Integrando por partes la integral correspondiente al primer miembro
dx·dx
)x(dN.
xu)x(N·
xudx)x(N
x
u kh0
kr
kh
0
kr
kh0
kr2
2
∫∫ ∂∂−
∂∂−=⋅
∂
∂
Particularizando ahora para r = 1 y, sustituyendo a u por su valor, se obtiene
dx·dx
)x(dN.
dx
)x(dNudx·
dx
)x(dN.
dx
)x(dNu·
X)t,X(u kh
0
k1
k2
1kkh
0
k1
k1
kk ∫∫ ⋅−⋅−
∂∂
− +
Para r = 2 se obtiene,
dx·dx
)x(dN.
dx
)x(dNudx·
dx
)x(dN.
dx
)x(dNu·
X)t,X(u kh
0
k21
k2
1kkh
0
k2
k1
k1k ∫∫ ⋅−⋅−
∂∂
++
llamando
dxdx
)x(dN
dx
dNK kh
0
k1
k1k
11 ⋅⋅= ∫
k
k2 h
x)x(N =
2,1rdx)·x(N·tu
)t,xX(pdx)x(Nx
u kk ho
krk
h0
kr2
2=∀
∂∂
⋅+=⋅∂
∂∫∫
2/4
dxdx
)x(dN
dx
dNKK kh
0
k2
k1k
21k12 ⋅⋅== ∫
dxdx
)x(dN
dx
dNK kh
0
k2
k2k
22 ⋅⋅= ∫
se llega a las siguientes expresiones
1kk12k
k11
k uKuK·X
)t,X(u+⋅−⋅−
∂∂
−
1kk22k
k21
1k uKuK·X
)t,X(u+
+ ⋅−⋅−∂
∂
ii) El segundo miembro
( ) =⋅+⋅⋅+=∂∂⋅+ ∫∫ + dx)·x(N·NuNu)t,xX(pdx)·x(N·
tu)t,xX(p kh
okr
k21k
k1kk
kho
krk &&
∫∫ ⋅⋅⋅+⋅+⋅⋅⋅+⋅= +kh
okr
k2k1k
kh
okr
k1kk dx)x(N)x(N)t,xX(pudx)x(N)x(N)t,xX(pu &&
llamando
∫ ⋅⋅⋅+= kh
okr
k1k
k1r dx)x(N)x(N)t,xX(pC
y
∫ ⋅⋅⋅+= kh
okr
k2k
k2r dx)x(N)x(N)t,xX(pC
La expresión anterior matricialmente adopta la forma:
⋅
=
⋅
−
∂∂
∂∂
−
+++ 1k
kk22
k21
k12
k11
1k
kk22
k21
k12
k11
1k
k
uu
CC
CC
uu
KK
KK
X)t,X(u
X)t,X(u
&&
Se suele llamar
= k
22k21
k12
k11k
el KK
KKK y
= k
22k21
k12
k11k
el CC
CCC
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 K= ∑ ==
e
e
n
1
[ ]K 1 [ ]K 2
[ ]K 3
[ ]K 4
Ensamblaje de la matriz [K].
Este proceso, conocido también como “ensamblaje” de matrices, conduce a la siguiente ecuación matricial:
3/4
=
⋅⋅⋅⋅
⋅
+⋅
⋅⋅⋅⋅⋅⋅+
⋅⋅⋅+
⋅⋅⋅
−
∂∂
⋅⋅⋅
∂∂
−
+
−
+ 1M
2
1
M22
M12
M11
1M22
311
211
212
211
122
112
111
1M
1
u
uu
K
KKK0sim
KK
0KKK
00KK
X)t,X(u
0
0X
)t,X(u
⋅⋅⋅⋅
⋅
+⋅
⋅+
+
⋅⋅⋅
=
+
−
1M
2
1
M22
M12
M11
1M22
311
211
212
211
122
112
111
u
uu
C
CCCsim
CC
CCC
00CC
&
&&
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/2 t+∆t
T(t+∆t)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:
[ ]{ } [ ]{ } { }vuu 2/tt2/tt =+ ∆+∆+ &CK
En esta ecuación se introducen ahora las siguientes aproximaciones, basadas en los conceptos aproximados de valor medio y derivada:
{ } { } { }( )ttt2/tt uu21
u ∆+∆+ +=
{ } { } { }( )ttt2/tt uut
1u −∆
= ∆+∆+&
Sustituyendo estos valores en la ecuación y reordenando se obtiene:
[ ]{ } [ ]{ }t2/tttt u}v{u BA =+ ∆+∆+
donde,
[ ] [ ] [ ] [ ] [ ] [ ]KCBKCA21
t1
21
t1
2/tt2/tt −∆
=+∆
= ∆+∆+
4/4
ecuación de la que puede calcularse { }ttu ∆+ conocido { }tu . 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 { }0u se calcula { }1u ; a partir de { }1u se calcula { }2u ; y así sucesivamente hasta el último instante de tiempo previsto en el cálculo.