Sei sulla pagina 1di 6

1

1.1

Unidad 1: la ecuaci on de Burgers y el m etodo de Lax


La ecuaci on de Burgers inv scida
u u +u = 0, t x

La ecuaci on de Burgers inv scida (o ecuaci on de Riemann): (1)

tiene soluciones anal ticas y num ericas que han sido estudiadas extensamente. Es considerada como la ecuaci on en derivadas parciales no lineales m as sencilla. Por ejemplo, esta ecuaci on admite la soluci on discontinua : u(x, t) = u1 , x < vs t , = u2 , x > v s t , u1 + u2 . (2) con vs = 2 La ecuaci on de Burgers puede ser escrita en forma de conservaci on : F U + = 0, t x (3)

con U = u y F = u2 /2. Generalmente, se busca escribir en esta forma de conservaci on a las ecuaciones (por ejemplo, las de din amica de gases o de la magnetohidrodin amica) para aplicarles algoritmos de integraci on num erica.

1.2

El m etodo de Lax

El m etodo de Lax es el m etodo de diferencias nitas m as sencillo posible para integrar ecuaciones en forma de conservaci on. Para aplicar este m etodo, primero se discretiza la coordenada espacial x en la forma : xi = ix ; i = 0, 1, ...N , con x = xmax /N , donde xmax es el tama no del dominio computacional. La derivada espacial en la ecuaci on (3) se discretiza como : F x =
i

(4)

Fi+1 Fi1 . 2x

(5)

Dada una soluci on inicial u(x, t) (el valor de u a tiempo t para todo x es decir para todos los xi ), primero calculamos Ui (t) = u(xi , t) y Fi (t) = u2 (xi , t)/2. La solucion a un tiempo t + t ser a calculada como : Ui (t + t) = Ui1 (t) + Ui+1 (t) t 2 F x (t) .
i

(6)

Combinando esta ecuaci on con la ecuaci on (5) entonces tenemos : Ui (t + t) = Fi+1 (t) Fi1 (t) Ui1 (t) + Ui+1 (t) t . 2 2x (7)

Aplicando (7) en forma recursiva se avanza la soluci on en el tiempo, es decir obtenemos la soluci on para tiempos t + 2t, t + 3t, etc. . Del llamado an alisis de von Neumann (que veremos en detalle m as adelante en el curso) se deduce que para que este m etodo sea estable, es necesario elegir un paso del tiempo que cumpla la condici on : t = Co min x ui ,
i=0,...N

(8)

con Co < 1 (n umero de Courant menor que 1). Esta es la llamada condici on CFL (Courant, Friedrichs, Lewy). La derivaci on del criterio de estabilidad para el m etodo de Lax est a hecha en la secci on 1.4.

1.3

Implementaci on del m etodo de Lax

Como primer problema de programaci on del curso, implementaremos el m etodo de Lax para la ecuaci on de Burgers para resolver el siguiente problema : un dominio computacional con x = 0 1, discretizado con N +1 = 201 puntos, una condici on inicial (a t = 0) u = 2 para x 0.1 y u = 1 para x > 0.1. A partir de esta condici on inicial, integraremos la ecuaci on de Burgers con el m etodo de Lax para obtener la soluci on para tiempos t > 0. En detalle, la implementaci on debe tener los siguientes detalles : 1. poner x = xmax /N = 1/N , 2. poner ui = 2 para xi = ix < xc = 0.1 y ui = 1 para xi > xc ,

3. en el punto xi m as cercano a xc (o sea, el punto que satisface la condici on xi x/2 xc < xi + x/2) poner ui = (1 + 2)/2, 4. calcular Ui = ui y Fi = u2 i /2, 5. calcular el paso en el tiempo t con el criterio CFL tomando Co = 0.9 (ecuaci on 8), 6. usar el algoritmo de Lax para calcular Ui = Ui (t + t) (ecuaci on 7) para i = 1, ...N 1, 7. poner U0 = U0 (condici on de entrada) y UN = UN 1 (condici on de salida), 8. escribir a un archivo (xi , Ui ), i = 1, ...N si se satisface la condici on t k tp t + t (donde k = 0, 1, 2, ... y tp = 0.02 es el intervalo temporal entre salidas), 9. poner ui = Ui , t = t + t, 10. si la condici on t tmax = 0.7 es satisfecha, regresar al punto 4. El c odigo clase1.f realiza estas operaciones, y la gura 1 muestra la soluci on obtenida. La gr aca ha sido hecha con el gracador supermongo (sm) usando el macro clase1.sm. Tambi en esta una versi on en fortran 90 del programa (clase1.f90) y un script de gnuplot que permite ver una secuencia de gracas generadas en el programa (clase1.gpl).

1.4

An alisis de von Neumann: estabilidad del m etodo de Lax

Para deducir la condici on CFL (ecuaci on 8) se usa el llamado an alisis de von Neumann. La idea de este an alisis es escribir : u=u+; u, (9)

on exacta (en nuestro caso, de la ecuaci on de Burgers), donde u es la soluci y es el error del c alculo num erico (por ejemplo, el error por redondeo). Insertando (9) en (1), tenemos: u u u +u + +u + + = 0. t x t x x x (10)

Figure 1: Soluci on de la ecuaci on de Burgers con el m etodo de Lax, para las condiciones iniciales de la secci on 1.3. Las curvas corresponded a intervalos temporales 5tp = 0.1.

La suma de los dos primeros t erminos (en la izquierda de la ecuaci on 10) es igual a cero (dado que u es la soluci on exacta). El quinto t ermino es cuadr atico en , y por lo tanto lo podemos despreciar. Generalmente, el error en una integraci on num erica es de alta frecuencia (b asicamente, con altas oscilaciones entre puntos sucesivos de la malla computacional). Entonces, supondremos que u x u . x (11)

Con estas consideraciones, simplicamos la ecuaci on (10) a: +v = 0, t x (12)

con v = u aproximadamente constante (dado que sus variaciones tienen escalas espaciales mucho mayores que las de ). O sea que el error satisface una ecuaci on de onda lineal de primer orden. Podemos escribir como una suma de componentes de Fourier eikx , y como la ecuaci on (12) es lineal, cada componente de Fourier debe satisfacerla en forma independiente. Entonces, nos limitamos a estudiar el comportamiento de una componente de Fourier de : (x, t) = eikx+nt , (13)

limit andonos a estudiar las soluciones con dependencia temporal exponencial. Si aplicamos el algoritmo de Lax (ecuaci on 7) a la ecuaci on (12) obtenemos : j (t + t) = v t j 1 (t) + j +1 (t) [j +1 (t) j 1 (t)] , 2 2x (14)

donde j = (xj , t). Usando la ecuaci on (13) podemos calcular j (t + t) = j (t)ent , j +1 (t) = j (t)eikx , j 1 (t) = j (t)eikx , y substituyendo (15-17) en (14) obtenemos : ent = cos k x + iv t sin k x . x (18) (15) (16) (17)

El llamado factor de amplicaci on A se dene como : j (t + t) A = ent = j (t) cos2 k x + v t x


2

sin2 k x ,

(19)

donde para la seguna igualdad hemos usado la ecuaci on (18). Es claro que si A < 1 el m odulo del error decrece con el tiempo. Esta condici on es el criterio de estabilidad del an alisis de von Neumann. De la ecuaci on (19) vemos que el m etodo de Lax es estable si se satisface la condici on : v t < 1. (20) Co = x

Potrebbero piacerti anche