Metodos Numericos II imf unmsm

download Metodos Numericos II imf unmsm

of 22

description

Metodos Numericos II imf unmsm metodo runge kutta orden 1 2 3 flexion de una viga llenado de un reservorio

Transcript of Metodos Numericos II imf unmsm

  • 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