Upload
vohuong
View
218
Download
0
Embed Size (px)
Citation preview
Diferencias Finitas Para la Ecuacion de Calor en 1D
La ecuación a resolver es la ecuación de calor:
∂u∂ t
−γ(x , t)∂
2u∂ x2=f (x , t) x∈[a ,b] t∈[t 0, t f ]
u (a , t)=α(t ) Condición de frontera en a
u (b , t)=β( t) Condición de frontera en b
u(x , t0)=u0( x) Condición inicial
Donde la incógnita es la función u (x , t) .
Primero discretizamos el intervalo espacial [a , b] en N+1 intervalos de igual longitud h :
h=b−aN+1
lo que genera N+2 nodos dados por:
x i=a+ih i=0,. .. ,N+1
Ahora discretizamos el intervalo temporal [t 0, t n] en T+1 intervalos de igual longitud Δ t :
Δ t=t f−t 0
T+1
lo que genera T+2 nodos dados por:
t n=t 0+nΔ t n=0,... , T+1
En el siguiente desarrollo se utiliza la notación:
uin=u (xi , t
n)
Usando diferencias finitas centrales para discretizar la derivada en el espacio en el nodo x i y diferencias finitas hacia atras para discretizar la derivada temporal en el tiempo t n se obtiene la ecuación:
u in−ui
n−1
Δ t−γ i
n ui+1n
−2u in+ui−1
n
h2 =f in para el nodo (x i , t
n)
esta ecuación es válida para todos los nodos de la discretización i=1,. .., N y n=1,...T+1
Ordenando algunos términos se tiene:
uin+Δ t
γin
h2 (−ui+1n
+2u in−ui−1
n)=Δ t f i
n+ui
n−1
Si nos fijamos en los nodos i=1 e i=N
u1n+Δ t
γin
h2 (−u2n+2u1
n−u0
n)=Δ t f 1
n+u1
n−1
uNn+Δ t
γNn
h2 (−uN+1n
+2uNn−uN−1
n)=Δ t f N
n+uN
n−1
En estas ecuaciones se pueden utilizar las condiciones de frontera:
u0n=u (x0, t
n)=u(a , tn)=α(t n
)
uN+1n
=u( xN+1 , tn)=u(b , tn)=β(t n
)
Entonces para los casos i=1 e i=N se tienen las ecuaciones
u1n+Δ t
γ1n
h2 (−u2n+2u1
n)=Δ t f 1
n+u1
n−1+Δ t
γ1n
h2 α(t n)
uNn+Δ t
γNn
h2 (2uNn−uN−1
n)=Δ t f N
n+u1
n−1+Δ t
γNn
h2 β(t n)
Si fijamos el indice temporal n y recorremos todos los nodos espaciales (excepto las fronteras), se tiene el siguiente sistema lineal de ecuaciones de tamaño N×N donde las incógnitas son los valoresui
n para i=1,. .., N
u1n+Δ t
γ1n
h2 (−u2n+2u1
n)=Δ t f 1
n+u1
n−1+Δ t
γ1n
h2 α(t n)
uin+Δ t
γin
h2 (−ui+1n
+2u in−ui−1
n)=Δ t f i
n+ui
n−1 para i=2,. .. ,N−1
uNn+Δ t
γNn
h2 (2uNn−uN−1
n)=Δ t f N
n+u1
n−1+Δ t
γNn
h2 β(t n)
En forma matricial este sistema de ecuaciones puede escribirse como:
[(1 0 0 ⋯ 00 1 0 ⋯ 00 0 1 ⋯ 0⋮ ⋮ ⋮ ⋱ ⋮0 0 0 ⋯ 1
)+ Δ th2 (
2 γ1n
−γ1n 0 ⋯ 0
−γ2n 2γ2
n−γ2
n⋯ 0
0 −γ3n 2 γ3
n⋯ 0
⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ −γNn 2 γN
n)](
u1n
u2n
u3n
⋮
uNn)=(
Δ t f 1n+u1
n−1+
Δ t γ1n
h2 α( tn)
Δ t f 2n+u2
n−1
Δ t f 3n+u3
n−1
⋮
Δ t f Nn+uN
n−1+
Δ t γNn
h2 β(t n))
Realizando la suma de matrices
(1+2
Δ t γ1n
h2 −Δ t γ1
n
h2 0 ⋯ 0
−Δ t γ2
n
h2 1+2Δ t γ2
n
h2 −Δ t γ2
n
h2 ⋯ 0
0 −Δ t γ3
n
h2 1+2Δ t γ3
n
h2 ⋯ 0
⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ −Δ t γN
n
h2 1+2Δ t γN
n
h2
)(u1
n
u2n
u3n
⋮
uNn)=(
Δ t f 1n+u1
n−1+
Δ t γ1n
h2 α(t n)
Δ t f 2n+u2
n−1
Δ t f 3n+u3
n−1
⋮
Δ t f Nn +uN
n−1+Δ t γN
n
h2 β(t n))
En una notación mas compacta:
[I+Δ t A]un=Δ t fn
+un−1+d n
donde
Sistema lineal al tiempo n
I=(1 0 0 ⋯ 00 1 0 ⋯ 00 0 1 ⋯ 0⋮ ⋮ ⋮ ⋱ ⋮0 0 0 ⋯ 1
) A=1
h2 (2 γ1
n−γ1
n 0 ⋯ 0
−γ2n
2γ2n
−γ2n
⋯ 0
0 −γ3n 2 γ3
n⋯ 0
⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ −γNn 2 γN
n) un
=(u1
n
u2n
u3n
⋮
uNn) f n
=(f 1n
f 2n
f 3n
⋮
f Nn)
d n=(
Δ t γ1n
h2 α(tn)
00⋮
Δ t γNn
h2β(t n
))
Si abreviamos un poco mas, el sistema lineal se puede escribir (para n fija):
Bun=bn
donde B=I+Δ t A y bn=Δ t f n
+un−1+d n .
La solucón de este sistema representa la solucón al tiempo t n . Para conocer la solución en todos los tiempos de la discretización temporal se deben resolver T+1 sistemas lineales de forma secuencial, es decir:
Resolver primero el sistema para n=1 : Bu1=b1
Despúes, el sistema para n=2 : Bu2=b2
Asi sucesivamente ..... : ⋮hasta resolver el sistema : BuT+1
=bT+1
Resolviendo todos estos sistemas lineales se obtiene la solución para todos los tiempos y para todos los nodos del espacio. Si los valores de la discretización N y T no son muy grandes se puede guardar la solucón en un arreglo de la siguiente forma:
[x0 u0
0 u01
⋯ u0T+1
x1 u10 u1
1⋯ u1
T+1
⋮ ⋮ ⋮ ⋱ ⋮
x N+1 uN+10 uN+1
1⋯ uN+1
T+1 ]Nota importante: Si la funcion γ( x , t ) es constante γ=cte estonces solo hay que armar una matriz B y factorizarla una vez. De manegara general si γ( x , t ) no es constante entonces hay que construir la matriz B cada paso de tiempo y factorizarla cada paso de tiempo.
Ejemplo 1 (Condiciones de frontera homogeneas)Un ejemplo puede ser, que nosotros les proporcionemos los datos:
[a ,b ]=[0,1] [ t0 ,tn ]=[0,0.2 ]
γ(x , t)=116
f (x , t)=0
α(t)=0
β(t)=0
u0(x )=2sin( 2π x )Es decir, la ecuación a resolver es:
∂u∂ t
−1
16∂2 u∂ x2 =0 x∈[0,1 ] t∈[0,0.2]
u (0, t)=0 Condición de frontera en 0
u (1,0)=0 Condición de frontera en 1
u (x ,0)=2sin ( 2π x ) Condición inicial
Para esta ecuación existe solución analítica que se puede usar para comparar con los resultados de diferencias finitas. La solución analítica es:
u (x , t)=2e−(π2/4 )t sin( 2π x )
Si decimos que se utilice N=10 y T=5 para discretizar, entonces:
h=b−aN+1
=111
Δ t=tn−t0T +1
=0.26
Los nodos de la discretización del espacio son
[0, 0.09, 0.18, 0.27, 0.36, 0.45, 0.54, 0.63, 0.72, 0.81, 0.90, 1]
Los nodos de la discretización del tiempo son:
[0, 0.03, 0.06, 0.1, 0.13, 0.16, 0.2]
Las siguiente gráfica resulta al resolver la ecuación usando la discretizacion anterior para los diferentes tiempos.
t=0t=0.03
t=0.1
t=0.13t=0.16
t=0.06
t=0.2
Ejemplo 2 (Condiciones de frontera que varian en tiempo)
[a ,b ]=[0,1]
[t0 , tn ]=[0,3]
γ(x , t)=1
f (x , t )=e−t cos(2π x )(4 π2−1)
α(t)=e−t
β(t)=e−t
u0(x )=cos (2π x )
La solución analítica es:
u(x , t)=e−t cos (2π x )
Si N=20 y T=10. Las siguiente gráfica muestra la solución en el intervalo [0,3] para diferentes tiempos.
Si se gráfica en forma de superficie la solución se ve de la siguiente forma:
Ejemplo 3 (Condiciones de frontera que varian en tiempo)
[a ,b ]=[0,1]
[t0 , tn ]=[0,2π]
γ(x , t)=1
f (x , t)=cos(2π x )(4 π2 sin(t)+cos( t))
α(t)=sin (t)
β(t)=sin (t)
u0(x )=0
La solución analítica es:
u(x , t)=sin (t)cos(2π x )
Si N=20 y T=10. Las siguiente gráfica muestra la solución en el intervalo [0,1] para diferentes tiempos.
Si se grafica en forma de superficie la solucion se ve de la siguiente forma:
Ejemplo 4. ( γ( x , t ) no es constante)[a ,b]=[π ,3π]
[t0 , tn ]=[0,0.5 ]
γ(x , t)=x (t+1)
f (x , t )=x
(t+1)3 [cos( x(t+1)
2 )+2sin( x( t+1)2 )]
α(t)=cos ( π
( t+1)2 )
β(t)=cos( 3π
( t+1)2 )u0
(x )=cos (x)
La solución analítica es:
u(x , t)=cos( x
(t+1)2 )
Si N=20 y T=20. Las siguiente grafica muestra la solucion en el intervalo [π ,3π ] para diferentes tiempos
Si se gráfica en forma de superficie la solución se ve de la siguiente forma: