An-33 Ecuaciones Diferenciales Parciales (1)

14
212 10 ECUACIONES DIFERENCIALES PARCIALES En este capítulo se estudiará el método de diferencias finitas aplicado a la resolución de ecuaciones diferenciales parciales. Sea u una función que depende de dos variables independientes x, y. La siguiente ecuación es la forma general de una ecuación diferencial parcial de segundo orden: F(x, y, u, u x , u y , 2 2 u x , 2 2 u y , 2 u xy ∂∂ ) = 0 Una forma de clasificar estas ecuaciones es por su tipo: parabólicas, elípticas e hiperbólicas, En forma similar a las ecuaciones diferenciales ordinarias, el método numérico que usaremos consiste en sustituir las derivadas por aproximaciones de diferencias finitas. El objetivo es obtener una ecuación denominada ecuación de diferencias que pueda resolverse por métodos algebraicos. Esta sustitución discretiza el dominio con un espaciamiento que debe elegirse. 10.1 Aproximaciones de diferencias finitas Las siguientes son algunas aproximaciones de diferencias finitas de uso común para aproximar las derivadas en un punto x i , y j , siendo x, y el espaciamiento entre los puntos de x, y, respectivamente. El término a la derecha en cada fórmula representa el orden del error de truncamiento. i,j i 1,j i,j u u u O( x) x x + = + (8.1) i,j i,j 1 i,j u u u O( y) y y + = + (8.2) i,j i,j i,j 1 u u u O( y) y y = + (8.3) i,j i 1,j i 1,j 2 u u u O( x) x 2( x) + = + (8.4) 0,j 0,j 1, j 2,j 2 u 3u 4u u O( x) x 2( x) + = + (8.5) 2 i,j i 1,j i,j i 1,j 2 2 2 u u 2u u O( x) x ( x) + + = + (8.6) 2 i,j i,j 1 i,j i,j 1 2 2 2 u u 2u u O( y) y ( y) + + = + (8.7) 10.2 Ecuaciones diferenciales parciales de tipo parabólico Estas ecuaciones se caracterizan porque en su dominio una de las variables no está acotada. Para aplicar el método de diferencias finitas usaremos un ejemplo básico para posteriormente interpretar los resultados obtenidos.

description

d

Transcript of An-33 Ecuaciones Diferenciales Parciales (1)

  • 212

    10 ECUACIONES DIFERENCIALES PARCIALES En este captulo se estudiar el mtodo de diferencias finitas aplicado a la resolucin de ecuaciones diferenciales parciales. Sea u una funcin que depende de dos variables independientes x, y. La siguiente ecuacin es la forma general de una ecuacin diferencial parcial de segundo orden:

    F(x, y, u, ux

    , uy

    ,2

    2u

    x

    ,2

    2u

    y

    ,2u

    x y

    ) = 0

    Una forma de clasificar estas ecuaciones es por su tipo: parablicas, elpticas e hiperblicas, En forma similar a las ecuaciones diferenciales ordinarias, el mtodo numrico que usaremos consiste en sustituir las derivadas por aproximaciones de diferencias finitas. El objetivo es obtener una ecuacin denominada ecuacin de diferencias que pueda resolverse por mtodos algebraicos. Esta sustitucin discretiza el dominio con un espaciamiento que debe elegirse. 10.1 Aproximaciones de diferencias finitas

    Las siguientes son algunas aproximaciones de diferencias finitas de uso comn para aproximar las derivadas en un punto xi, yj, siendo x, y el espaciamiento entre los puntos de x, y, respectivamente. El trmino a la derecha en cada frmula representa el orden del error de truncamiento.

    i, j i 1, j i, ju u u O( x)x x

    + = +

    (8.1)

    i, j i, j 1 i, ju u u

    O( y)y y

    + = +

    (8.2)

    i, j i, j i, j 1u u u

    O( y)y y

    = +

    (8.3)

    i, j i 1, j i 1, j 2u u u O( x)x 2( x)

    + = +

    (8.4)

    0,j 0,j 1,j 2,j 2u 3u 4u u O( x)x 2( x)

    + = +

    (8.5)

    2

    i, j i 1, j i, j i 1, j 22 2

    u u 2u uO( x)

    x ( x)+ += +

    (8.6)

    2

    i, j i, j 1 i, j i, j 1 22 2

    u u 2u uO( y)

    y ( y)+ += +

    (8.7)

    10.2 Ecuaciones diferenciales parciales de tipo parablico

    Estas ecuaciones se caracterizan porque en su dominio una de las variables no est acotada. Para aplicar el mtodo de diferencias finitas usaremos un ejemplo bsico para posteriormente interpretar los resultados obtenidos.

  • 213

    Ejemplo. Resolver la ecuacin de difusin en una dimensin con los datos suministrados

    u(x,t): 2

    2u uC

    tx

    =

    Suponer que u es una funcin que depende de x, t, en donde u representa valores de temperatura, x representa posicin, mientras que t es tiempo, Esta ecuacin se puede asociar al flujo de calor en una barra muy delgada aislada transversalmente y sometida en los extremos a alguna fuente de calor. La constante c depende del material de la barra. La solucin representa la distribucin de temperaturas en cada punto x de la barra y en cada instante t u(x, t)

    Ta, Tb son valores de temperatura de las fuentes de calor aplicadas en los extremo de la barra. En este primer ejemplo suponer que son valores constantes. To es la temperatura inicial y L es la longitud de la barra. Estas condiciones se pueden expresar de manera simblica en un sistema de coordenadas u=u(x,t), 0 x L, t 0 u(0, t) = Ta, t 0 u(L, t) = Tb, t 0 u(x, 0) = To, 0 < x < L Para aplicar el mtodo de diferencias finitas, debe discretizarse el dominio de u u(xi, tj) = ui,j ; i = 0, 1, ..., n; j = 0, 1, 2, .... El mtodo de diferencias finitas permitir encontrar u en estos puntos. Para el ejemplo supondremos los siguientes datos, en las unidades que correspondan Ta = 60 Tb = 40 To = 25 C = 4 L = 1 Decidimos adems, para simplificar la descripcin del mtodo que x = 0.25, t = 0.1 Con esta informacin se define el dominio de u mediante una malla con puntos en dos dimensiones en la cual el eje horizontal representa la posicin xi mientras que el eje vertical representa el tiempo tj. En esta malla se representan los datos en los bordes y los puntos interiores que debern calcularse:

    Ta Tb

    To

  • 214

    10.2.1 Un esquema de diferencias finitas explcito

    Para nuestro primer intento elegimos las frmulas (8.6) y (8.2) para sustituir las derivadas de la ecuacin diferencial

    2

    2u uC

    tx

    =

    i 1, j i, j i 1, j2u 2u u

    ( x)+ +

    + O(x)2 = i,j 1 i, j

    u uC

    t+

    + O(t)

    Se obtiene la ecuacin de diferencias

    i 1, j i, j i 1, j2

    u 2u u( x)

    + +

    = i,j 1 i, j

    u uC

    t+

    Cuyo error de truncamiento es T = O(x)2 + O(t). Si T 0 entonces la ecuacin de diferencias (discreta) tiende a la ecuacin diferencial parcial (contnua) Para que esta sustitucin sea consistente, es decir, que ambos trminos de la ecuacin tengan un error de truncamiento de orden similar, t debe ser menor que x, aproximadamente en un orden de magnitud. Es conveniente analizar cuales puntos estn incluidos en la ecuacin de diferencias. Para esto consideramos un segmento de la malla y marcamos los puntos de la ecuacin.

    Los puntos que estn incluidos en la ecuacin de diferencia conforman un tringulo. Este tringulo puede colocarse en cualquier lugar de la malla asignando a i, j los valores apropiados. Por ejemplo, si i=1, j=0, la ecuacin de diferencias se ubica en el extremo inferior izquierdo de la malla. Los puntos en color rojo son los datos conocidos. Los puntos en amarillo son los puntos que deben calcularse.

    Se puede observar que solo hay un punto desconocido en la ecuacin. Por lo tanto, esta ecuacin de diferencias proporciona un mtodo explcito de clculo. Esto significa que cada punto de la solucin puede ser obtenerse en forma individual y directa cada vez que se aplica la ecuacin. Despejamos el punto desconocido i,j 1u +

    i, j 1 i 1,j i, j i 1, j i, j2tu (u 2u u ) u

    C( x)+ +

    = + +

    Definiendo c = 2t

    C( x)

    i, j 1 i 1,j i, j i 1, j i, ju c(u 2u u ) u+ += + +

  • 215

    La ecuacin se puede escribir

    i, j 1 i 1,j i, j i 1, ju cu (1 2c)u cu+ += + + , i = 1, 2, 3; j = 0, 1, 2, . . . La forma final de la ecuacin de diferencias se obtiene sustituyendo los datos:

    c = 2 2t 0.1 0.4

    C( x) 4(0.25)

    = =

    i, j 1 i 1,j i, j i 1, ju 0.4u 0.2u 0.4u+ += + + , i = 1, 2, 3; j = 0, 1, 2, . . .

    La solucin se debe calcular sucesivamente para cada nivel tj hasta donde sea de inters analizar la solucin de la ecuacin diferencial. Calculemos dos niveles de la solucin: j = 0, i = 1: u1,1 = 0.4u0,0 + 0.2u1,0 + 0.4u2,0 = 0.4(60) + 0.2(25) + 0.4(25) = 39 i = 2: u2,1 = 0.4u1,0 + 0.2u2,0 + 0.4u3,0 = 0.4(25) + 0.2(25) + 0.4(25) = 25 i = 3: u3,1 = 0.4u2,0 + 0.2u3,0 + 0.4u4,0 = 0.4(25) + 0.2(25) + 0.4(40) = 31 j = 1, i = 1: u1,2 = 0.4u0,1 + 0.2u1,1 + 0.4u2,1 = 0.4(60) + 0.2(39) + 0.4(25) = 41.8 i = 2: u2,2 = 0.4u1,1 + 0.2u2,1 + 0.4u3,1 = 0.4(39) + 0.2(25) + 0.4(31) = 33 i = 3: u3,2 = 0.4u2,1 + 0.2u3,1 + 0.4u4,1 = 0.4(25) + 0.2(31) + 0.4(40) = 32.2 En el siguiente grfico se anotan los resultados para registrar el progreso del clculo

    Para que la solucin tenga precisin aceptable, los incrementos x y t deberan ser mucho ms pequeos, pero esto hara que la cantidad de clculos involucrados sea muy grande para hacerlo manualmente. 10.2.2 Estabilidad del mtodo de diferencias finitas explcito Existen diferentes mtodos para determinar el crecimiento en el tiempo del error en el proceso de clculo de la solucin. Si el error no crece con el tiempo, el mtodo es estable. Criterio de Von Newman

    Consiste en suponer que el error propagado jE en el tiempo en cada punto (xi ,tj) tiene forma exponencial compleja:

    i jk x tjE e += , k 1=

    Si se define el coeficiente de amplificacin del error en iteraciones consecutivas:

    i j

    i j

    k x (t t)j 1 t

    k x tj

    E eM eE e

    + ++

    += = =

    Entonces, si | te | 1 el error no crecer en el tiempo y el mtodo es estable.

  • 216

    Ecuacin de diferencias del mtodo explcito:

    i, j 1 i 1,j i, j i 1, j i, ju c(u 2u u ) u+ += + + , c = 2t

    C( x)

    Ecuacin de los errores introducidos

    i j i j i j i j i jk x (t t) k (x x) t k x t k (x x) t k x te c(e 2e e ) e + + + + + + += + + Dividiendo por i jk x te +

    ik ( x)t k xe c(e 2 e ) 1 = + +

    Sustituyendo las equivalencias y simplificando

    k xe cos( x) ksen( x) = Se obtiene

    te c(2cos( x) 2) 1 = + La estabilidad est condicionada a: | te | 1

    | c(2cos( x) 2) 1| 1 +

    Sustituyendo los valores extremos de cos( x) 1, cos( x) 1 = =

    Se obtiene la restriccin para que este mtodo sea estable:

    1c2

    2t 1

    2C( x)

    Si se cumple esta condicin el error propagado en los clculos aritmticos no crecer. Desde el punto de vista del error de truncamiento t debera ser un orden de magnitud menor que x. Se puede verificar que si no se cumple esta condicin, el mtodo se hace inestable rpidamente.

  • 217

    10.2.3 Instrumentacin computacional

    El siguiente programa es una instrumentacin en MATLAB para resolver el ejemplo anterior y es una referencia para aplicarlo a problemas similares. Los resultados obtenidos se muestran grficamente. Para la generalizacin es conveniente expresar la ecuacin de diferencias en forma estndar ui, j+1 = (P) ui-1, j + (Q)ui, j + (R)ui+1,j, i = 1, 2, 3, . . . , n-1; j = 1, 2, 3, . . . En donde P, Q, R dependen de los datos de la ecuacin que se desea resolver. Para el ejemplo propuesto se tiene: i,j 1 i 1,j i,j i 1,ju cu (1 2c)u cu+ += + + ,

    % Ecuacin de diferencias estandarizada % U(i,j+1)=(P)U(i-1,j) + (Q)U(i,j) + (R)U(i-1,j) % P,Q,R son constantes evaluadas con los datos de la EDP clf; m=11; % Nmero de puntos en x n=100; % Nmero de niveles en t Ta=60; Tb=40; % Condiciones en los bordes To=25; % Condicin en el inicio dx=0.1; dt=0.01; % incrementos L=1; % longitud C=4; % dato especificado clear x U; U(1)=Ta; % Asignacin inicial U(m)=Tb; for i=2:m-1 U(i)=To; end c = dt/(C*dx^2); P=c; Q=1-2*c; R=c; hold on; title('Curvas de distribucin trmica'); xlabel('X (distancia)'); ylabel('U (temperatura)'); x=0:dx:L; % Coordenadas para el grfico plot(x,U,'r'); grid on; % Distribucin inicial for j=1:n U=EDPDIF(P,Q,R,U,m); if mod(j,5)==0 plot(x,U,'r'); % Para graficar curvas cada 5 niveles de t pause end end function u=EDPDIF(P,Q,R,U,m) % Solucin U(x,t) de una EDP con condiciones constantes en los bordes % Mtodo explcito de diferencias finitas u(1)=U(1); for i=2:m-1 u(i)=P*U(i-1)+Q*U(i)+R*U(i+1); end u(m)=U(m);

    Almacenar la funcin y el programa y ejecutarlo para obtener el grfico siguiente

  • 218

    Curvas de distribucin trmica para el ejemplo. La distribucin tiende a una forma estable.

    La ejecucin controlada con el comando pause permite visualizar el progreso de los clculos Con esta instrumentacin se puede verificar que al incrementar t a un valor mayor que 0.02, ya no se cumple la condicin de convergencia y el mtodo se hace inestable. Los resultados son incoherentes 10.2.4 Un esquema de diferencias finitas implcito

    En un segundo intento elegimos las aproximaciones (8.6) y (8.3) para sustituir las derivadas de la ecuacin diferencial

    2

    2u uC

    tx

    =

    i 1, j i, j i 1, j2u 2u u

    ( x)+ +

    + O(x)2 = i,j i, j 1

    u uC

    t

    + O(t)

    Se obtiene la ecuacin de diferencias

    i 1, j i, j i 1, j2u 2u u

    ( x)+ +

    = i,j i, j 1

    u uC

    t

    Su error de truncamiento es igualmente T = O(x)2 + O(t), debiendo cumplirse que t < x Marcamos los puntos incluidos en esta ecuacin de diferencias.

    Los puntos marcados conforman un tringulo de puntos invertido. Este tringulo correspondiente a los puntos incluidos en la ecuacin de diferencias y puede colocarse en cualquier lugar de la malla asignando a i, j los valores apropiados. Por ejemplo, si i=1, j=1, la ecuacin de diferencias se aplicada en el extremo inferior izquierdo de la malla:

  • 219

    Se puede observar que la ecuacin de diferencias ahora contiene dos puntos desconocidos. Si la ecuacin se aplica sucesivamente a los puntos i=2, j=1 e i=3, j=1, se obtendr un sistema de tres ecuaciones lineales y su solucin proporcionar el valor de los tres puntos desconocidos. Esta ecuacin de diferencias proporciona entonces un mtodo implcito para obtener la solucin.

    i 1,j i, j i 1, j

    2

    u 2u u( x)

    + +

    = i,j i, j 1

    u uC

    t

    , T = O(x)2 + O(t), t < x

    i 1,j i, j i 1, j2t (u 2u u )

    c( x) +

    +

    = i,j i, j 1u u

    Definiendo c = 2t

    C( x)

    , la ecuacin se puede escribir

    i 1, j i, j i 1, j i, j 1cu ( 1 2c)u cu u + + + = , i = 1, 2, 3; j = 1, 2, 3, . . .

    Finalmente con los datos c = 2 2t 0.1 0.4

    c( x) 4(0.25)

    = =

    , se obtiene la forma final

    i 1, j i, j i 1, j i, j 10.4u 1.8u 0.4u u + + = , i = 1, 2, 3; j = 0, 1, 2, . . .

    Para obtener la solucin en cada nivel de tj debe resolverse un sistema de ecuaciones lineales. A continuacin calculamos un nivel de la solucin con este mtodo: j = 1, i = 1: 0.4u0,1 1.8u1,1 + 0.4u2,1 = -u1,0 0.4(60) 1.8u1,1 + 0.4u2,1 = -25 -1.8 u1,1 + 0.4u2,1 = -49 i = 2: 0.4u1,1 1.8u2,1 + 0.4u3,1 = -u2,0 0.4u1,1 1.8u2,1 + 0.4u3,1 = -25 0.4u1,1 - 1.8 u2,1 + 0.4u3,1 = -25 i = 3: 0.4u2,1 1.8u3,1 + 0.4u4,1 = -u3,0 0.4u2,1 1.8u3,1 + 0.4(40) = -25 0.4u2,1 - 1.8 u3,1 = -41 Se tiene el sistema lineal

    1,1

    2,1

    3,1

    1.8 0.4 0 u 490.4 1.8 0.4 u 250 0.4 1.8 u 41

    =

    Cuya solucin es

    1,1

    2,1

    3,1

    u 33.0287u 26.1290u 28.5842

    =

  • 220

    Un anlisis de estabilidad demuestra que el mtodo implcito no est condicionado a la

    magnitud de 2tc

    C( x)

    =

    como en el mtodo explcito.

    10.2.5 Instrumentacin computacional

    La siguiente instrumentacin del mtodo de diferencias finitas implcito permite resolver problemas de tipo similar al ejemplo anterior. La ecuacin de diferencias debe escribirse en forma estandarizada (P)ui-1,j + (Q)ui,j + (R)ui+1,j = -ui,j-1, i = 1, 2, 3, . . . , m-1; j = 1, 2, 3, . . . En donde P, Q, R dependen de los datos de la ecuacin que se desea resolver. Para el ejemplo propuesto se tiene: i 1,j i,j i 1,j i,j 1cu ( 1 2c)u cu u + + + = Se define una funcin EDPDIFPI que genera y resuelve el sistema de ecuaciones lineales en cada nivel. El sistema de ecuaciones lineales resultante tiene forma tridiagonal, y por lo tanto se puede usar un algoritmo especfico muy eficiente con el nombre TRIDIAGONAL cuya instrumentacin fue realizada en captulos anteriores.

    % Mtodo de Diferencias Finitas implcito para una EDP % Ecuacin de diferencias estandarizada % (P)ui-1,j + (Q)ui,j + (R)ui+1,j = -ui,j-1 % P,Q,R son constantes evaluadas con los datos de la EDP clf; m=11; % Nmero de puntos en x n=100; % Nmero de niveles en t Ta=60; Tb=40; % Condiciones en los bordes To=25; % Condicin en el inicio dx=0.1; dt=0.01; % incrementos L=1; % longitud C=4; % dato especificado clear x u U; U(1)=Ta; % Asignacin inicial U(m)=Tb; for i=2:m-1 U(i)=To; end c=dt/(C*dx^2); P=c; Q=-1-2*c; R=c; hold on; title('Curvas de distribucin trmica '); xlabel('X (distancia)'); ylabel('U (temperatura)'); x=0:dx:L; % Coordenadas para el grafico plot(x,U,'r'); % Distribucin inicial for j=1:n U = EDPDIFPI(P, Q, R, U, m); if mod(j,5)==0 plot(x,U,'r'); % Para graficar curvas cada 5 niveles de t pause end end

  • 221

    function U = EDPDIFPI(P, Q, R, U, m) % Solucin de una EDP con condiciones constantes en los bordes % Mtodo de Diferencias Finitas Implcito % Generacin del sistema tridiagonal clear a b c d; for i=1:m-2 a(i)=P; b(i)=Q; c(i)=R; d(i)=-1*U(i+1); end d(1)=d(1)-a(1)*U(1); d(m-2)=d(m-2)-c(m-2)*U(m); u=tridiagonal(a,b,c,d); U=[U(1) u U(m)]; % Incluir datos en los extremos

    Almacenar la funcin, el programa y ejecutarlo para obtener el grfico siguiente

    Curvas de distribucin trmica para el ejemplo. La distribucin tiende a una forma estable.

    10.2.6 Prctica computacional

    Probar los mtodos explcito e implcito instrumentados computacionalmente para resolver el ejemplo anterior cambiando x y t para analizar la convergencia de los esquemas de diferencias finitas. Realizar pruebas para verificar la condicin de estabilidad condicionada para el mtodo explcito e incondicional para el mtodo implcito.

    10.2.7 Condiciones variables en los bordes

    Analizamos la ecuacin anterior cambiando las condiciones inicial y en los bordes. Suponer que inicialmente la barra se encuentra a una temperatura que depende de la posicin mientras que en el borde derecho se aplica una fuente de calor que depende del tiempo y en el extremo izquierdo hay una prdida de calor, segn las siguientes especificaciones:

  • 222

    u(x,t): 2

    2u uC

    tx

    =

    , 0 x 1, t 0

    u(0,t) 5x

    =

    , t 0

    u(1, t) = 20 + 10 sen(t), t 0 u(x, 0) = 40 x, 0 < x < 1 x = 0.25, t = 0.1, c = 4 Para aplicar el mtodo de diferencias finitas, debe discretizarse el dominio de u

    u(xi, tj) = ui,j ; i = 0, 1, ..., n; j = 0, 1, 2, .... La red con los datos incluidos en los bordes inferior y derecho:

    Los puntos en color amarillo, en el borde izquierdo y en el centro, son desconocidos Usamos el esquema de diferencias finitas implcito visto anteriormente:

    i 1, j i, j i 1, j2

    u 2u u( x)

    + +

    = i,j i, j 1

    u uC

    t

    , E = O(x)2 + O(t), t < x

    i 1,j i, j i 1, j2t (u 2u u )

    C( x) +

    +

    = i,j i, j 1u u

    Definiendo c = 2t

    c( x)

    , la ecuacin se puede escribir

    i 1, j i, j i 1, j i, j 1cu ( 1 2c)u cu u + + + = , i = 1, 2, 3; j = 1, 2, 3, . . .

    Finalmente se tiene la ecuacin de diferencias con los datos c = 2 2t 0.1 0.4

    c( x) 4(0.25)

    = =

    ,

    Ahora la ecuacin es aplicada en cada punto desconocido, incluyendo el borde izquierdo:

    i 1, j i, j i 1, j i, j 10.4u 1.8u 0.4u u + + = , i = 0, 1, 2, 3; j = 1, 2, 3, . . .

    Para obtener la solucin en cada nivel de t debe resolverse un sistema de ecuaciones lineales. A continuacin calculamos un nivel de la solucin con este mtodo: j = 1, i = 0: 0.4u-1,1 1.8u0,1 + 0.4u1,1 = -u1,0 0.4u-1,1 1.8u0,1 + 0.4u1,1 = 0 (1)

    i = 1: 0.4u0,1 1.8u1,1 + 0.4u2,1 = -u1,0 0.4u0,1 1.8u1,1 + 0.4u2,1 = -10 (2) i = 2: 0.4u1,1 1.8u2,1 + 0.4u3,1 = -u2,0 0.4u1,1 1.8u2,1 + 0.4u3,1 = -20 (3) i = 3: 0.4u2,1 1.8u3,1 + 0.4u4,1 = -u3,0 0.4u2,1 1.8u3,1 + 0.4(20.99) = -30 0.4u2,1 1.8 u3,1 = -38.4 (4) Se tiene un sistema de cuatro ecuaciones y cinco puntos desconocidos: u-1,1, u0,1, u1,1, u2,1, u3,1 incluyendo el punto ficticio u-1,1

  • 223

    El dato adicional conocido: u(0,t) 5x

    =

    es aproximado ahora mediante una frmula de

    diferencias finitas central: 0,j 1,j 1,ju u u 5,x 2( x)

    = =

    j = 1, 2, 3, . . . , E = O(x)2

    De donde se obtiene u-1,j = u1,j + 5(2x) para sustituir en la ecuacin (1) anterior: j = 1, i = 0: 0.4u-1,1 1.8u0,1 + 0.4u1,1 = 0

    0.4[u1,j + 5(2x)] -1.8u0,1 + 0.4u1,1 = 0 -1.8u0,1 + 0.8u1,1 = -1 (1) En notacin matricial:

    0,1

    1,1

    2,1

    3,1

    u1.8 0.8 0 0 1u0.4 1.8 0.4 0 10u0 0.4 1.8 0.4 20u0 0 0.4 1.8 38.4

    =

    Cuya solucin es u0,1 = 5.4667, u1,1 = 11.0500, u2,1 = 19.2584, u3,1 = 25.6130 El sistema de ecuaciones lineales resultante tiene forma tridiagonal, y por lo tanto se puede usar un algoritmo especfico muy eficiente para resolverlo. 10.2.8 Instrumentacin computacional La siguiente instrumentacin del mtodo de diferencias finitas implcito permite resolver problemas de tipo similar al ejemplo anterior. La ecuacin de diferencias debe escribirse en

    forma estandarizada. Se suponen conocidos los datos en los bordes: 0 = u(0,t)x

    , um, j Para el ejemplo propuesto se tiene la ecuacin de diferencias estandarizada, incluyendo la forma especial de la ecuacin para el borde izquierdo

    i 1,j i,j i 1,j i,j 1cu ( 1 2c)u cu u + + + = (P)ui-1,j + (Q)ui,j + (R)ui+1,j = -ui,j-1, i = 1, 2, 3, . . . , m-1 cu-1, j + (-1 - 2c)u0, j + cu1, j = -u0, j-1, i = 0 c[u1,j + 0 (2x)] + (-1 - 2c)u0, j + cu1, j = -u0, j-1 (-1 - 2c)u0, j + 2cu1,j = -u0, j-1 - c0(2x) (Q)u0, j + 2(P)u1,j = -u0, j-1 - (P)0(2x)

    % Mtodo de Diferencias Finitas implcito para una EDP % condiciones en los bordes: % A la izquierda una derivada % Condicin inicial y en el borde derecho variables % Ecuacin de diferencias estandarizada % (P)ui-1,j + (Q)ui,j + (R)ui+1,j = -ui,j-1 % P,Q,R son constantes evaluadas con los datos de la EDP clf; m=11; % Nmero de puntos en x n=50; % Nmero de niveles en t der0=-5; % Derivada en el borde izquierdo dx=0.1; dt=0.1; % incrementos L=1; % longitud C=4; % dato especificado clear x U; x=0;

  • 224

    for i=1:m % Condicin variable en el inicio U(i)=40*x; x = x + dx; end c=dt/(C*dx^2); P=c; Q=-1-2*c; R=c; hold on; title('Curvas de distribucin trmica'); xlabel('X (distancia)'); ylabel('U (temperatura)'); x=0:dx:L; % Coordenadas para el grafico t=0; for j=1:n t = t + dt; U(m) = 20 + 10*sin(t); % Condicin variable en el borde derecho U = EDPDIFPID(P, Q, R, U, der0, dx, m); plot(x,U,'r'); pause; end function U = EDPDIFPID(P, Q, R, U, der0, dx, m) % Mtodo de Diferencias Finitas Implicito % EDP con una derivada a la izquierda y condiciones variables % Generacin del sistema tridiagonal clear a b c d; for i=1:m-1 a(i)=P; b(i)=Q; c(i)=R; d(i)=-1*U(i); end c(1)=2*P; d(1)=d(1)-P*der0*2*dx; d(m-1)=d(m-1)-c(m-1)*U(m); u=tridiagonal(a,b,c,d); U=[ u U(m)]; % Incluir dato en el extremos

    Almacenar la funcin, el programa y ejecutarlo para obtener el grfico siguiente

    Curvas de distribucin trmica para el ejemplo.

  • 225

    10.2.9 Mtodo de diferencias finitas para resolver EDP no lineales Si la ecuacin tiene trminos no lineales, se puede adaptar un mtodo de diferencias finitas explcito como una primera aproximacin. Ejemplo. Formule un esquema de diferencias finitas para resolver la siguiente ecuacin diferencial parcial no lineal del campo de la acstica

    u(x,t): 2

    2u u uu ct x x

    =

    Se usarn las siguientes aproximaciones:

    i, j i, j 1 i, ju u u

    O( t)t t

    + = +

    i, j i 1, j i 1, j 2u u u

    O( x)x 2( x)

    + = +

    2i, j i 1, j i, j i 1, j 22 2

    u u 2u uO( x)

    x ( x)+ += +

    Sustituyendo en la EDP

    i, j 1 i,j i 1,j i 1,j i 1,j i, j i 1,ji, j 2u u u u u 2u u

    u ct 2( x) ( x)

    + + + +=

    Se obtiene un esquema explcito de diferencias finitas que permitir calcular cada punto en la malla que represente al dominio de la ecuacin diferencial siempre que estn previamente definidas las condiciones en los bordes as como los parmetros c, t, x

    i 1,j i 1,j i 1,j i, j i 1,ji, j 1 i,j i, j2u u u 2u u

    u t( u c ) u2( x) ( x)

    + ++

    += +

    Con error de truncamiento

    2T O( t) O( x)= +