Captulo III Solucin de Ecuaciones Diferenciales Ordinarias
e llama ecuacin diferencial ordinaria a una ecuacin que relaciona la variable
independiente x, la funcin incgnita )(xyy = y sus derivadas )(...,,, nyyy , es decir,
una ecuacin de la forma:
(23) En otras palabras, se llama ecuacin diferencial ordinaria a una ecuacin en la que figura la derivada o diferencial de una funcin incgnita.
Si la funcin incgnita )(xyy = depende de una sola variable independiente x, la ecuacin
diferencial se llama ordinaria. Por ejemplo:
(24)
S
0)...,,,,,( )( = nyyyyxF
0)()()3
cos)2
0)1
22
'''
=+++
=++
=+
dyyxdxyx
xyyy
xydxdy
14 Hidrulica Computacional - V. Yzocupe (2006)
El orden de una ecuacin diferencial es el de la derivada de mayor orden que figura en la
ecuacin. Por ejemplo: la ecuacin diferencial xexyy =+ es de primer orden; la ecuacin
diferencial 0)( =+ yxpy , donde p(x) es una funcin dada, es de segundo orden.
Se llama solucin de la ecuacin diferencial a una funcin )(xy = , determinada en el
intervalo (a, b) junto con sus derivadas sucesivas hasta el orden n inclusive, tal que al hacer
la sustitucin )(xy = en la ecuacin diferencial, sta, se convierte en una identidad con
respecto a x en el intervalo (a, b).
3.1 Ecuaciones Diferenciales Ordinarias de Valor Inicial
Los problemas de ecuaciones diferenciales ordinarias (EDOs) se clasifican en
problemas con condiciones iniciales y problemas con condiciones de frontera. Muchos
de los problemas con condiciones iniciales dependen del tiempo; en ellos, las
condiciones para la solucin estn dadas en el tiempo inicial. Los mtodos numricos
para los problemas con condiciones iniciales difieren en forma significativa de los que
se utilizan para los problemas con condiciones en la frontera.
El problema de una EDO de primer orden con condiciones iniciales se puede escribir
en la forma:
(25)
donde f (y,t) es una funcin de y y t, en tanto que la segunda ecuacin es una
condicin inicial. En la ecuacin anterior, la primera derivada de y est dada como
una funcin conocida de y y t y queremos calcular la funcin incgnita y integrando
numricamente f (y,t). Si f fuera independiente de y, el clculo sera simplemente una
integracin directa. Sin embargo, el hecho que f sea una funcin de la funcin
desconocida y, hace que la integracin sea distinta.
La condicin inicial siempre es parte de la definicin del problema, debido a que la
solucin de un problema con condiciones iniciales slo se puede determinar de
manera nica si dicha condicin inicial est dada.
Algunos ejemplos de problemas con condiciones iniciales de EDO de primer orden:
(26) Existen tres tipos de mtodos de integracin numrica para problemas con
condiciones iniciales: el de Euler, de Runge-Kutta y el de Predictor-corrector.
0)0(),,()( yytyfty ==
1)0(,1
1)()
0)0(,1)()
1)0(,53)()
2'
'
'
=+
=
=+=
=+=
yy
tyc
ytytyb
yytya
Solucin de Ecuaciones Diferenciales Ordinarias 15
METODOS FORMULA
RELEVANTE
ERROR DE TRUNCAMIENTO
LOCAL GLOBAL
Mtodos de Euler: 1. Hacia delante 2. Modificado 3. Hacia atrs
Diferencia hacia delante Regla del trapecio Diferencia hacia atrs
0(h2) 0(h3) 0(h2)
0(h) 0(h2) 0(h)
Runge-Kutta: 1. de segundo orden 2. de tercer orden 3. de cuarto orden
Regla del trapecio Regla de 1/3 de Simpson Regla de 1/3 3/8 de Simpson
0(h3) 0(h4) 0(h5)
0(h2) 0(h3) 0(h4)
Predictor-corrector: 1. de segundo orden 2. de tercer orden 3. de cuarto orden
Regla del trapecio Newton hacia atrs Newton hacia atrs
0(h3) 0(h4) 0(h5)
0(h2) 0(h3) 0(h4)
3.2 Mtodos de Euler
Estos mtodos son adecuados para una programacin rpida debido a su sencillez. Hay que sealar que cuando el sistema de ecuaciones es cada vez ms complicado, se utilizan con ms frecuencia los mtodos de Euler. Los mtodos de Euler tienen tres versiones: a) Euler hacia adelante b) Euler modificado, y c) Euler hacia atrs
3.2.1 Mtodo de Euler Hacia Adelante
El mtodo de Euler hacia adelante para la ecuacin )(' ty,fy = se obtiene de la
aproximacin por diferencias hacia adelante, reemplazando ),(' nnn tyfy = , se obtiene:
(27)
Mediante la ecuacin anterior se calcula yn en forma recursiva como
'1
'1nnnn
nn ytyyyt
yy+=
++
),(1 nnnn tyftyy +=+
16 Hidrulica Computacional - V. Yzocupe (2006)
(28) Aunque el mtodo de Euler hacia adelante es muy sencillo, debe utilizarse cuidadosamente para evitar dos tipos de errores. El primer tipo lo forman los errores de truncamiento, y el segundo tipo lo constituye la posible inestabilidad, que aparece cuando la constante del tiempo es negativa (la solucin tiende a cero sino hay trmino fuente), a menos que el intervalo de tiempo h sea suficientemente pequeo.
3.2.2 Mtodo de Euler Modificado
El mtodo de Euler modificado tiene dos motivaciones. La primera es que es ms preciso que el anterior. La segunda es que es ms estable.
Este mtodo se obtiene al aplicar la regla del trapecio para integrar ),(' tyfy =
(29)
3.2.3 Mtodo de Euler Hacia Atrs
Este mtodo se basa en la aproximacin por diferencias hacia atrs, la cual se escribe como:
reemplazando ),(' nnn tyfy = y generalizando para n+1, se obtiene:
(30)
La precisin de este mtodo es la misma que la de Euler hacia adelante. Adems si f es una funcin no lineal de y, debe utilizarse un esquema iterativo en cada paso. Sin embargo, las ventajas son: a) el mtodo es estable para los problemas rgidos, y b) la solucin es positiva si la solucin exacta es positiva.
),(
),(
),(
),(
111
2223
1112
000'001
+=
+=
+=
+=+=
nnnn tyftyy
tyftyy
tyftyy
tyftyytyy
( )[ ]),(,2 111 nnnnnn
tyftyft
yy +
+= +++
'1
'1nnnn
nn ytyyytyy
+=
( )111 , +++ += nnnn tyftyy
Solucin de Ecuaciones Diferenciales Ordinarias 17
3.2.4 Ejemplo de Aplicacin del Mtodo de Euler
Un tanque cilndrico de fondo plano con un dimetro de 1.5 m contiene un
liquido de densidad 1,500 kg/m3 a una altura h0=3 m. Se desea conocer la altura del cilindro dentro del tanque 3 minutos despus de que se abre completamente
la vlvula de salida, la cual proporciona un caudal de gha 26.0 m3/s, donde a
es el rea transversal del tubo de salida; a = 78.5 x 10-4 m2, g = 9.81 m/s2.
SOLUCION: Aplicando la ley de conservacin de masa dentro del tanque: Acumulacin = Entrada - Salida
Planteamiento del PVI:
Aplicaremos el mtodo de Euler hacia delante para un t=30 s,
( )
( ) ( )
( )( )
hdtdh
hhD
gadtdh
hgadtdh
D
hgahDdtd
hDQdtd
s
0118.0
5.1
81.9x2x105.784.224.2
26.0
26.0
,0
2
4-
2
24
24
24
=
==
=
=
==
( ) ( ) ?180,30,0118.0 ====== sthmthhhdtdh s
( )( )nnnnn hshhthh 0118.0301 +=+=+
nnn hhh 354.01 =+
18 Hidrulica Computacional - V. Yzocupe (2006)
Tabulando los resultados se tiene:
n 0 1 2 3 4 5 6
t(s) 0 30 60 90 120 150 180
h(m) 3.00 2.39 1.84 1.36 0.95 0.60 0.33
3.3 Mtodos de Runge-Kutta
Una desventaja fundamental de los mtodos de Euler consiste en que sus rdenes de precisin son bajos. Esta desventaja tiene dos facetas. Para mantener una alta
precisin se necesita un t pequeo, lo que aumenta el tiempo de clculo y provoca errores de redondeo. En los mtodos de Runge-kutta, el orden de precisin aumenta al utilizar puntos intermedios en cada intervalo. Una mayor precisin implica adems que los errores
decrecen ms rpido al reducir t, en comparacin con los mtodos de precisin baja. Consideremos una ecuacin diferencial ordinaria
(31)
Para calcular 1+ny en ttt nn +=+1 , dado un valor de ny , integramos la ecuacin
anterior en el intervalo [ ]1, +nn tt :
(32) Los mtodos de Runge-Kutta se obtienen al aplicar un mtodo de integracin numrica a la integral del lado derecho de la ecuacin (32). 3.3.1 Mtodo de Runge-Kutta de Segundo Orden
Aplicamos la regla del trapecio al lado derecho de la ecuacin (32):
(33)
En esta ecuacin 1+ny es una incgnita, por lo que aproximamos el segundo
trmino mediante ),( 11 ++ nn tyf , donde 1+ny es la primera estimacin de 1+ny
0' )0(,),( yytyf
dtdy
y ===
] ( )
( )dttyfyy
dttyfy
dtydy
n
n
n
n
n
n
n
n
n
n
t
tnn
t
tyy
t
t
y
y
+
++
++
+=
=
=
+1
11
11
,
,
1
( ) [ ]),(),(21
, 111
++++
nnnnt
ttyftyftdttyfn
n
Solucin de Ecuaciones Diferenciales Ordinarias 19
obtenida mediante el mtodo de Euler hacia delante. Este esquema se conoce como el mtodo de Runge-Kutta de segundo orden y se resume como:
(34) En forma cannica lo anterior es:
(35)
3.3.2 Mtodo de Runge-Kutta de Tercer Orden
Un mtodo de Runge-Kutta ms preciso que el anterior es resultado de un esquema de integracin numrica de orden superior para el segundo trmino de la ecuacin (32) es:
(36) Donde 1+ny y
21+ny son estimaciones, puesto que no conocemos 1+ny ni 21+n
y .
Se obtiene la estimacin 21+ny mediante el mtodo de Euler hacia delante:
(37)
La estimacin 1+ny es: ),(1 nnnn tyftyy +=+ o bien
(38) o una combinacin lineal de ambas
(39) Donde es un parmetro que hay que determinar de forma que maximice la precisin del mtodo numrico. En resumen, el mtodo de Runge-Kutta con una precisin de tercer orden es:
(40)
[ ]),(),(2
),(
111
1
+++
+
+
+=
+=
nnnnnn
nnnn
tyftyft
yy
tyftyy
[ ]21112
1
21
),(),(
kkyy
tkyftktyftk
n1n
nn
nn
++=
+=
=
+
+
[ ]),(),(4),(6 111 2
121 +++++ ++
+= nnnnnnnn tyftyftyf
tyy
),(22
1 nnnn tyft
yy
+=+
[ ]32161
213
121
2
1
4
),2(
),(
),(
kkkyy
ttkkyftk
tkyftk
tyftk
n1n
nn
2t
nn
nn
+++=
++=
++=
=
+
),(21
211 +++ += nnnn tyftyy
( )[ ]),(1),(21
211 +++ ++= nnnnnn tyftyftyy
20 Hidrulica Computacional - V. Yzocupe (2006)
3.3.3 Mtodo de Runge-Kutta de Cuarto Orden
El mtodo de Runge-Kutta de cuarto orden se obtiene de una manera similar al de tercer orden, excepto que se utiliza un paso intermedio adicional para evaluar la derivada. El mtodo de Runge-Kutta de cuarto orden tiene una precisin hasta el trmino de cuarto orden del desarrollo de Taylor, por lo que el error local es proporcional a h5. La siguiente es la versin del mtodo de Runge-Kutta de cuarto orden basada en la regla de 1/3 de Simpson para integrar numricamente la ecuacin (32):
(41) La segunda versin se basa en la regla de 3/8 de Simpson:
(42)
3.3.4 Ejemplo de Aplicacin del Mtodo Runge-Kutta IV
Calcule el tiempo necesario para que el nivel del lquido cambie de 4 m a 3 m dentro del tanque esfrico de
radio R0=5 m. La velocidad de salida por el orificio del fondo es
hu 895.4= (m/s), el dimetro de
dicho orificio, d = 10 cm.
[ ]432161
34
223
22
1
22
),(
),(
),(
),(
2
1
kkkkyy
ttkyftk
tyftk
tyftk
tyftk
n1n
nn
tn
kn
2t
nk
n
nn
++++=
++=
++=
++=
=
+
[ ]432181
3214
32
333
332
1
33
),(
),(
),(
),(
21
1
kkkkyy
ttkkkyftk
tyftk
tyftk
tyftk
n1n
nn
tn
kkn
tn
kn
nn
++++=
+++=
+++=
++=
=
+
Solucin de Ecuaciones Diferenciales Ordinarias 21
SOLUCION: Aplicando la ley de conservacin de masa dentro del tanque: Acumulacin = Entrada - Salida
Planteamiento del PVI:
Aplicaremos el mtodo de Runge-Kutta IV para un t=50 s,
Tabulando los resultados se tiene:
n t (s) hn(m) k1 k2 k3 k4 hn+1 0 0 4.000 -0.05100000 -0.05094682 -0.05094687 -0.05089576 3.949
1 50 3.949 -0.05089576 -0.05084670 -0.05084675 -0.05079974 3.898
2 100 3.898 -0.05079974 -0.05075478 -0.05075482 -0.05071189 3.847
3 150 3.847 -0.05071189 -0.05067100 -0.05067103 -0.05063217 3.797
4 200 3.797 -0.05063217 -0.05059533 -0.05059536 -0.05056055 3.746
5 250 3.746 -0.05056055 -0.05052776 -0.05052778 -0.05049702 3.696
6 300 3.696 -0.05049702 -0.05046828 -0.05046830 -0.05044159 3.645
7 350 3.645 -0.05044159 -0.05041691 -0.05041692 -0.05039427 3.595
8 400 3.595 -0.05039427 -0.05037366 -0.05037366 -0.05035510 3.544
9 450 3.544 -0.05035509 -0.05033858 -0.05033858 -0.05032412 3.494
10 500 3.494 -0.05032412 -0.05031172 -0.05031172 -0.05030140 3.444
11 550 3.444 -0.05030140 -0.05029317 -0.05029317 -0.05028703 3.393
( ) ( )( )[ ] ( )
( )
( )
2
2
2
22
22
232
232
10
01224.0
24
895.4
4
895.42
4
895.42
895.44
3
430 ,,
hhh
dtdh
hhR
hddtdh
hddtdh
hhR
hddtdh
hdtdh
hR
hdhhRdtd
dAhhRuAdtd
o
o
o
o
o
=
=
=
=
=
===
( ) ( ) msthmthhh
hh
dtdh s 340
10
01224.0?,,2 ====
==
( )( ) ( ) ( )[ ]( ) ( ) ( )[ ]( ) ( ) ( )[ ]
( )4321611
24
2///3
2///2
21
22
1001224.0
2210201224.0
2210201224.0
1001224.0
333
222
111
kkkkhh
hhhk
hhhk
hhhk
hhhk
nn
nnn
nnn
nnn
nnn
kkkt
kkkt
kkkt
t
++++=
+++=
+++=
+++=
=
+
22 Hidrulica Computacional - V. Yzocupe (2006)
12 600 3.393 -0.05028703 -0.05028300 -0.05028300 -0.05028109 3.343
13 650 3.343 -0.05028109 -0.05028133 -0.05028133 -0.05028372 3.293
14 700 3.293 -0.05028372 -0.05028828 -0.05028828 -0.05029503 3.243
15 750 3.243 -0.05029503 -0.05030400 -0.05030400 -0.05031520 3.192
16 800 3.192 -0.05031520 -0.05032865 -0.05032866 -0.05034439 3.142
17 850 3.142 -0.05034439 -0.05036242 -0.05036243 -0.05038280 3.092
18 900 3.092 -0.05038280 -0.05040553 -0.05040554 -0.05043066 3.041
19 950 3.041 -0.05043066 -0.05045820 -0.05045821 -0.05048821 2.991
20 1000 2.991 -0.05048821 -0.05052069 -0.05052072 -0.05055573 2.940
3.4 Solucin de Sistemas de EDOs
La aplicacin del mtodo de Runge-Kutta de cuarto orden a un conjunto de ecuaciones diferenciales ordinarias es simple. Para simplificar la explicacin, consideremos un conjunto de ecuaciones:
(43) El mtodo de Runge-Kutta de cuarto orden para este conjunto es:
(44)
),,(z
),,('
'
tzyg
tzyfy
=
=
[ ][ ]4322216
1
43222161
334334
223223
222222
11
),,(),,,(
),,(),,,(
),,(),,,(
),,(),,,(
2222
1111
llllzz
kkkkyy
ttlzkygtlttlzkyftk
tzygtltzyftk
tzygtltzyftk
tzygtltzyftk
n1n
n1n
nnnnnn
2t
nl
nk
n2t
nl
nk
n
2t
nl
nk
n2t
nl
nk
n
nnnnnn
++++=
++++=
+++=+++=
+++=+++=
+++=+++=
==
+
+
2.5
3.0
3.5
4.0
4.5
0 100 200 300 400 500 600 700 800 900 1000
Tiempo (seg)
h (m
)
Solucin de Ecuaciones Diferenciales Ordinarias 23
3.4.1 Ejemplo de Solucin de un Sistema de EDOs
Considere un sistema ecolgico simple compuesto de coyotes (y) y correcaminos (x), donde los primeros se alimentan de los segundos. Los tamaos de las
poblaciones cambian de acuerdo con las ecuaciones: ,)( 21 xycxcdtdx =
ycxycdtdy 43)( = , donde: ,, 02.04.0 21 == cc 3.0001.0 43 , == cc y
330 )(,)( 00 == == tytx .
Si no hay coyotes (y) los correcaminos se reproducen con una velocidad de
crecimiento c1x; si no hay correcaminos, la especie de coyotes desaparece con
una velocidad c4y. El trmino xy representa la interaccin de las dos especies y
las constantes c2 y c3 dependen de la habilidad de los depredadores para atrapar a los correcaminos y de la habilidad de stos para huir. La poblacin de los coyotes cambia cclicamente. Calcule el ciclo y su periodo.
SOLUCION: Planteamiento del PVI:
donde;
==
====== 330
3.0006.002.04.0
)(,)(,,,
00
4321
tytxcccc
Aplicamos el mtodo de Runge-Kutta IV para un sistema de EDOs con un t=2 das.
[ ][ ]
[ ][ ]4322216
11
43222161
1
343334
332314
242233
222213
242232
222212
431
211
)())(())(()(
)())((
))(()(
)())((
))(()(
)()(
222
222
111
111
llllyy
kkkkxx
lyclykxctllykxckxctk
ycyxctl
yxcxctk
ycyxctl
yxcxctk
ycyxctlyxcxctk
nn
nn
nnn
nnn
ln
ln
kn
ln
kn
kn
ln
ln
kn
ln
kn
kn
nnn
nnn
++++=
++++=
+++=
+++=
+++=
+++=
+++=
+++=
=
=
+
+
ycxycdtdy
xycxcdtdx
43
21
=
=
24 Hidrulica Computacional - V. Yzocupe (2006)
Tabulando los resultados se tiene:
n t(das) xn yn k1 l1 k2 l2 k3 l3 k4 l4 xn+1 yn+1 0 0 30 3 20.40 -1.08 28.20 -0.68 30.59 -0.66 42.80 -0.27 60 2
1 2 60 2 42.51 -0.28 57.98 0.11 62.80 0.27 85.58 1.00 122 3
2 4 122 3 84.85 0.96 111.27 2.18 115.90 3.00 137.11 7.25 234 6
3 6 234 6 134.38 7.23 129.24 16.84 70.68 25.26 -133.43 56.95 301 30
4 8 301 30 -125.35 55.03 -361.85 75.79 -232.47 24.77 -96.77 -2.74 66 73
5 10 66 73 -139.23 -5.16 6.98 -43.99 -85.33 -2.18 38.75 -53.10 23 48
6 12 23 48 -25.63 -19.67 -7.40 -19.47 -13.93 -16.76 -4.02 -16.17 11 29
7 14 11 29 -4.26 -15.05 -0.71 -11.58 -1.60 -12.16 1.03 -9.06 10 18
8 16 10 18 0.97 -9.14 2.92 -6.71 2.64 -7.23 4.85 -5.16 13 11
9 18 13 11 4.82 -5.24 7.32 -3.78 7.45 -4.05 10.91 -2.84 20 7
10 20 20 7 10.89 -2.87 15.30 -2.02 16.13 -2.09 22.61 -1.38 36 4
11 22 36 4 22.55 -1.39 30.86 -0.83 32.98 -0.76 45.11 -0.17 69 4
12 24 69 4 44.92 -0.18 59.90 0.47 63.52 0.75 82.38 2.04 131 4
13 26 131 4 81.83 1.99 100.49 4.20 97.90 5.55 91.98 12.29 226 10
14 28 226 10 90.14 12.16 42.08 25.34 -26.84 31.32 -170.50 41.20 218 38
15 30 218 38 -155.45 43.28 -221.48 31.07 -143.16 13.78 -94.66 -0.05 55 60
16 32 55 60 -87.63 -9.69 -15.43 -28.24 -48.70 -10.24 -7.25 -27.42 18 41
17 34 18 41 -14.77 -18.81 -4.73 -16.36 -7.80 -15.68 -2.08 -13.19 11 25
18 36 11 25 -2.11 -12.85 0.56 -9.70 -0.05 -10.31 2.26 -7.55 11 15
19 38 11 15 2.21 -7.64 4.26 -5.58 4.10 -6.00 6.63 -4.27 15 9
20 40 15 9 6.61 -4.33 9.66 -3.11 9.97 -3.30 14.29 -2.29 25 6
21 42 25 6 14.26 -2.31 19.81 -1.59 21.00 -1.60 29.15 -0.97 46 4
22 44 46 4 29.06 -0.97 39.43 -0.43 42.09 -0.30 56.73 0.41 87 4
23 46 87 4 56.47 0.38 73.82 1.31 77.04 1.78 94.53 4.03 163 6
24 48 163 6 93.70 3.95 104.09 8.18 88.47 10.87 35.34 23.26 249 17
25 50 249 17 34.78 22.91 -84.67 42.71 -147.32 39.75 -146.81 11.81 153 50
26 52 153 50 -181.72 30.89 -111.62 -6.93 -101.82 8.06 -76.80 -11.22 38 53
27 54 38 53 -51.26 -15.67 -13.01 -22.72 -28.10 -14.53 -7.74 -20.16 15 35
28 56 15 35 -8.90 -16.88 -2.73 -13.76 -4.39 -13.87 -0.49 -10.94 11 21
29 58 11 21 -0.52 -10.88 1.80 -8.12 1.35 -8.67 3.65 -6.29 12 13
30 60 12 13 3.61 -6.38 5.95 -4.64 5.91 -4.97 8.97 -3.52 18 8
0
50
100
150
200
250
300
350
0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
Tiempo (das)
Pobl
aci
n
Correcaminos Coyotes
Solucin de Ecuaciones Diferenciales Ordinarias 25
3.5 Tarea de Aplicacin del Mtodo de Runge-Kutta IV
A un tanque cnico de 6 m de altura y 3 m de radio, que contiene un liquido a una altura h0=5 m, se le hace llegar un caudal de 7 l/s. Treinta minutos despus este flujo se interrumpe por falla de la bomba, la cual se repara y arranca una hora despus. Determine el caudal necesario para que el nivel se recupere y se mantenga en 5 m; as como el tiempo necesario para alcanzar ese nivel (rgimen
permanente). El caudal de salida es igual a h457.3 l/s ininterrumpidamente.
26 Hidrulica Computacional - V. Yzocupe (2006)
3.6 Ecuaciones Diferenciales Ordinarias de Valor Frontera En los problemas de ecuaciones diferenciales ordinarias unidimensionales con valores en la frontera, se pide que la solucin satisfaga las condiciones de frontera en ambos extremos del dominio. La definicin de las condiciones de frontera es parte fundamental de los problemas de este tipo. Por ejemplo, consideremos una varilla delgada de metal de longitud L, tal que sus extremos estn conectados a distintas fuentes de calor. Si el calor sale de la superficie de la varilla nicamente mediante la transferencia de calor por conveccin, se puede escribir la ecuacin gobernante del proceso fsico como:
(45)
donde; T(x), es la temperatura en cualquier posicin x desde el extremo izquierdo A, es el rea constante de una seccin transversal de la varilla k, es la conductividad trmica, P, es el permetro de la varilla, hc, es el coeficiente de transferencia de calor por conveccin, T, es la temperatura neta del aire, y S, es la fuente de calor. Las condiciones de frontera son:
(46)
donde Ti y Td son respectivamente las temperaturas del cuerpo en los extremos izquierdo y derecho, respectivamente.
3.6.1 Tipos de Condiciones de Frontera
Una ecuacin diferencial de segundo orden puede resolverse analticamente, obtenindose dos constantes de integracin. Se deben tener dos condiciones de frontera para poder resolver las dos constantes de integracin. Usualmente, ellas estn especificadas en los extremos del dominio unidimensional del problema.
(47) Fsicamente, las condiciones de frontera se clasifican como esenciales y naturales. Matemticamente, una condicin de frontera esencial se conoce como condicin de Dirichlet, y una condicin de frontera natural se llama condicin de Neumann.
( ) ( ) ( ) ( )xASPThxPThxTdxd
xkdxd
A cc +=+
( )( ) d
i
TxTTxT
L ==
==0
022
=+ Qdx
Td
Solucin de Ecuaciones Diferenciales Ordinarias 27
El tercer tipo de condicin de frontera es el llamado mixto, y corresponde a una combinacin de los dos tipos anteriores. En realidad existen dos tipos de condiciones de frontera mixta. La primera es cuando una condicin esencial se especifica en una frontera y una condicin natural en la otra frontera. El segundo tipo de condicin de frontera mixta se da cuando se combinan los tipos esenciales y naturales en una sola condicin de frontera.
El siguiente cuadro muestra ejemplos de condiciones de frontera relacionados con la ecuacin diferencial de segundo orden (47):
TIPO DESCRIPCION EJEMPLOS
Esencial/Dirichlet Condicin en la frontera con un valor fijo
Se da un valor de la funcin solucin
T( x = 0 ) = T0
T( x = L ) = TL
Natural/Neumann Condicin en la frontera con una derivada
Se da un valor de la derivada de la funcin solucin
00
0)(
qdx
dTk
x=
=
LL
L qdxdT
kx
== )(
Mixta/Cauchy Condicin en la frontera de tipo mixto
Se relaciona un valor de la funcin con la derivada
0)( =+ TThdxdT
k
3.6.2 Mtodo de Solucin de EDOs con Valor de Frontera En esta seccin, aplicaremos el mtodo de diferencias finitas para resolver los problemas de ecuaciones diferenciales ordinarias de segundo orden con condiciones de frontera. Para explicar el principio del mtodo, consideremos la ecuacin:
(48) con las siguientes condiciones de frontera:
(49) donde, q es un coeficiente constante. Si dividimos el dominio en N intervalos de igual longitud (segmentos), obtendremos una retcula donde los intervalos miden h=L/N.
( ) ( ) ( ) LxxSxyqdx
xyd=+ 0,2
2
( )( ) ) (
)(0
derechafrontera
izquierdafrontera0
Dyxy
xdxdy
L ==
==
28 Hidrulica Computacional - V. Yzocupe (2006)
Figura 6. Retcula unidimensional
3.6.2.a Algoritmo para los Nodos Internos
Si aplicamos la aproximacin por diferencias centrales (6) al primer trmino de la ecuacin (48), con lo que se obtiene la ecuacin en diferencias para la i-sima retcula:
(50)
donde ( ) ( )iiii xSSxyy == , .
(51) Este algoritmo para nodos internos, se utiliza para todos los puntos de la retcula, excepto cuando i=1 e i=N+1.
3.6.2.b Algoritmo para la Frontera Izquierda
La condicin de la frontera izquierda dada por la ecuacin (49) es del tipo Neumann, para su implementacin procedemos de la siguiente manera; utilizamos una diferencia finita hacia atrs para la derivada especificada en el punto de la grilla i=1 localizado en x=0.
(52) Luego, la ecuacin (51) para el caso i = 1 ser:
(53) Utilizando el resultado de la ecuacin (52), se obtiene el algoritmo para la frontera izquierda:
(54)
3.6.2.c Algoritmo para la Frontera Derecha
Escribimos la ecuacin (51) para i=N, conjuntamente con la condicin de frontera DN yy =+1 para obtener el algoritmo de la frontera derecha:
iiiii Syq
x
yyy=+
+ + 2
11 2
( ) iiii Sxyyxqy 2121 2 =++ +
( ) 122120 2 Sxyyxqy =++
( ) 122121 Sxyyxq =+
0101 0;0 yy
xyy
dxdy
==
=
Solucin de Ecuaciones Diferenciales Ordinarias 29
(55)
El conjunto de ecuaciones (51), (54) y (55) se escriben en forma conjunta como: (56)
Forman lo que se conoce como un sistema de ecuaciones algebraicas lineales, el mismo que arreglado en forma matricial como:
(57) El sistema se compone de una matriz de coeficientes A, el vector de incgnitas y y el vector de residuos D. La matriz A se conoce como matriz tridiagonal, porque todos los elementos de la matriz (57) son cero, excepto los elementos de las tres diagonales principales.
3.6.3 Algoritmo de Solucin para Sistemas Tridiagonales
(58)
El algoritmo de solucin para este tipo de sistemas recibe el nombre de solucin tridiagonal o doble barrido, y se compone de los siguientes pasos: a) Se inicializan dos nuevas variables:
(59)
( ) DNNN ySxyxqy +=++ 221 2
( )( )
( )( ) DNNN ySxyxqy
SxyyxqySxyyxqySxyyxq
+=++
=++=++
=+
22
1
32
432
2
22
322
1
12
212
2
22
1
( )( )
( )( )
+
=
+
++
+
DNN ySx
SxSxSx
y
yyy
xq
xqxq
xq
2
32
22
12
3
2
1
2
2
2
2
21
121121
11
1'11
'1 DDyBB ==
=
NNnn D
DDD
y
yyy
BA
CBACBA
CB
3
2
1
3
2
1
333
222
11
[ ]{ } [ ]DyA =
30 Hidrulica Computacional - V. Yzocupe (2006)
b) Se calculan en forma recursiva las siguientes ecuaciones, en orden creciente de i hasta llegar a N:
(60)
c) Se calcula la solucin para la ltima incgnita:
(61) d) Se calculan las soluciones de las dems incgnitas en orden decreciente de
i: (62)
3.7 Ejemplo de Solucin de una EDO de Valor Frontera
La temperatura permanente, T, en una aleta disipadora de calor puede ser simulada mediante el siguiente modelo lineal:
(63)
y sus condiciones de frontera:
donde; Encuentre la variacin de la temperatura, T, a lo largo de la distancia x. SOLUCION:
NiRDDD
RCBB
BAR
iii
iii
ii
,...,3,2para' 1'
1'
'1
==
=
=
''NNN BDy =
( ) 1...,,2,1'1' == + NNiByCDy iiiii
LPP xTTdx
Tdb = 0,2
2
,
,
3042.0
,91
,503
126.9
mxT
T
mL
C
Co
b
oa
==
=
=
[ ])()(
)( 0
LL xx
x
TTkh
dxdT
TT
b
a
==
=
=
=
( ) ,12
22
kwtwthP +=
228.0
465.1
30
9.3
===
=
twkh
Solucin de Ecuaciones Diferenciales Ordinarias 31
La condicin de frontera izquierda establece un valor para la variable temperatura, T,
en el punto x=0, i=0, por lo que se tiene:
(64)
Para deducir el algoritmo general de los nodos internos, utilizamos la ecuacin (6) para reemplazar la derivada de segundo orden en la ecuacin gobernante del proceso fsico (63), obteniendo de esta manera el algoritmo general a ser aplicado en los nodos i=1,, 29:
(65) La condicin de frontera derecha establece una condicin tipo mixta para la variable
temperatura, T, en el punto x=L, i=30. El tratamiento de este tipo de condicin es diferente:
(66) Primero, en la ecuacin (63) reemplazamos la derivada de segundo orden por dos
derivadas de primer orden con base en i=30 y el intervalo de longitud 2x :
donde podemos sustituir )
2129= iT con una aproximacin en diferencias centrales
y la ecuacin (66) se utiliza para reemplazar a ) 30= iT
(67) Luego, el conjunto tridiagonal esta formado por las siguientes ecuaciones algebraicas:
Con Pxsxr kh 2y == , aplicamos la ecuacin (65) para i=1,,29:
) )bix
idxdT
idxdT
TT PP =
===
303029
2
21
biii
biiii
biiii
TxTTxT
TxTxTTT
TTx
TTT
PP
PP
PP
21
21
2211
211
)(2
2
2
=++
=+
=
+
+
+
+
ai TT ==0
[ ])()( 3030
==
= == ib
ix TT
kh
dxdT
dxdT
L
)xTT ii
idxdT
= ===
2930
29 21
( )bix
ibkhii
TT PPTTx
TT
=
==
==
3030
2930
2
bkh
ikh
i TTT PxxPxx
=
+ =
= ++ 22
22
3029 1
b
b
b
b
b
sTTTsTisTTTsTi
sTTTsTisTTTsTisTTTsTi
=+==+=
=+==+=
=+=
+
+
+
+
+
302928
292827
432
321
210
)2(29
)2(28
)2(3
)2(2
)2(1
::
:::
aTT =0
32 Hidrulica Computacional - V. Yzocupe (2006)
y la ecuacin (67) para i=30: Las ecuaciones obtenidas pasan a formar parte del sistema matricial AT=b, el cual fue solucionado mediante el mtodo de eliminacin de Gauss, obtenindose el vector solucin T. Dicho procedimiento se muestra en el programa de cmputo siguiente: Program temperatura ! real coef(31,31), vctb(31) real A(31,31), x(31), b(31), k real*8 suma, uc integer i, j, ii, nn ! Abre archivo de salida open (2,file='temperatura.out') ! Establece valores de parametros de control ii=31; nn=31; dx=0.3042 ! Asigna datos y calcula coeficientes Ta=503; Tb=72; h=3.9; k=50; w=1.465; t=0.228 P = h*(2*t+2*w)/(12*k*w*t); r = dx*h/k; s = dx*dx*P ! Limpia la matriz de coeficientes y el vector de residuos coef = 0; vctb = 0 ! Coloca los coeficientes de la condicion de frontera izquierda coef(1,1) = 1; vctb(1) = Ta ! Coloca los coeficientes de los nodos internos do i=2,ii-1 coef(i,i-1) = 1 coef(i,i) = -(2+s) coef(i,i+1) = 1 vctb(i) = s*Tb enddo ! Coloca los coeficientes de la condicion de frontera derecha coef(ii,ii-1) = -1 coef(ii,ii) = 1+r-0.5*s vctb(ii) = (r+0.5*s) *Tb ! Transfiere los coeficientes a la matriz A y vector B do i=1,ii do j=1,ii A(i,j) = coef(i,j) enddo b(i) = vctb(i) enddo ! Imprime la matriz de coeficientes y el vector de residuos write (2,20) do i=1,nn write (2,21) ( A(i,j),j=1,nn ), b(i) enddo ! Realiza la solucin por el mtodo de Gauss do i=1,nn-1
( ) ( ) bTsrTsrT 221 3029 +=+ +
Solucin de Ecuaciones Diferenciales Ordinarias 33
do k=i+1,nn if( A(k,i)==0.) cycle uc = A(k,i)/A(i,i) do j=1,nn A(k,j) = A(k,j) - uc*A(i,j) enddo b(k) = b(k) - uc*b(i) enddo enddo do i=nn,1,-1 suma = 0. do j=i+1,nn suma = suma + A(i,j)*x(j) enddo x(i) = ( b(i)-suma )/A(i,i) enddo ! Imprime la solucin desde la frontera izquierda hacia la derecha write (2,23) write (2,26) ( j-1, x(j),j=1,nn )
20 format (/15x, 'Matriz A :',20x,'Vector b :'/) 21 format (31f6.0, 8x, f10.3) 23 format (/10x, 'Solucin por el Mtodo de Gauss'/) 26 format (31(i5,4x,f10.3/)) close (2) stop end
0.439 Matriz A : Vector b: 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 503.000 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. 0. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -2. 1. .439 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 1. 1.928
34 Hidrulica Computacional - V. Yzocupe (2006)
Vector Solucin (Mtodo de Gauss):
TEMPERATURA
0
100
200
300
400
500
600
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
X (m)
T (
C)
i T 0 503.00 1 460.874 2 421.998 3 386.133 4 353.062 5 322.583 6 294.509 7 268.671 8 244.909 9 223.08 10 203.05 11 184.697 12 167.909 13 152.584 14 138.628 15 125.957 16 114.493 17 104.165 18 94.912 19 86.677 20 79.409 21 73.064 22 67.604 23 62.995 24 59.209 25 56.224 26 54.02 27 52.584 28 51.908 29 51.988 30 52.823
Captulo IIISolucin de Ecuaciones DiferencialesOrdinarias
3.2 Mtodos de Euler3.2.1 Mtodo de Euler Hacia Adelante3.2.2 Mtodo de Euler Modificado3.2.3 Mtodo de Euler Hacia Atrs
3.3 Mtodos de Runge-Kutta3.3.1 Mtodo de Runge-Kutta de Segundo Orden3.3.2 Mtodo de Runge-Kutta de Tercer Orden3.3.3 Mtodo de Runge-Kutta de Cuarto Orden3.4 Solucin de Sistemas de EDOs
3.6.1 Tipos de Condiciones de FronteraTIPO3.6.2 Mtodo de Solucin de EDOs con Valor de Frontera3.6.2.a Algoritmo para los Nodos Internos3.6.2.b Algoritmo para la Frontera Izquierda3.6.2.c Algoritmo para la Frontera Derecha3.6.3 Algoritmo de Solucin para Sistemas Tridiagonales