+ All Categories
Home > Documents > Soluci´on de la ecuaci´on de onda como un problema de...

Soluci´on de la ecuaci´on de onda como un problema de...

Date post: 04-Jun-2018
Category:
Upload: lyxuyen
View: 218 times
Download: 0 times
Share this document with a friend
17
Soluci´on de la ecuaci´on de onda como un problema de valores iniciales usando diferencias finitas F. S. Guzm´ an 1 1 Instituto de F´ ısica y Matem´aticas, Universidad Michoacana de San Nicol´as de Hidalgo. Edificio C-3, Cd. Universitaria, 58040 Morelia, Michoac´an, M´ exico. (Dated: June 29, 2009) Se presenta la soluci´on de la ecuaci´on de onda como ejemplo paradigm´atico de la soluci´on de problemas de valores iniciales con condiciones de frontera usando la aproximaci´on de diferencias finitas. Primero se desarrolla una soluci´on elemental y una discretizaci´on directa a manera de in- troducci´on. Posteriormente se resuelve la ecuaci´on de onda como un sistema de primer orden, se estudia la hiperbolicidad del sistema de ecuaciones resultante, se calculan los modos y velocidades caracter´ ısticas del sistema y se imponen condiciones de frontera en t´ erminos de las variables carac- ter´ ısticas. En este caso se adopta el m´ etodo de l´ ıneas como esquema de evoluci´on. Adem´as se hace especial ´ enfasis en que los resultados num´ ericos necesitan un criterio de validez. En el caso de la aproximaci´on condiferencias finitas deunaecuaci´on diferencial parcial se presentala convergencia a una soluci´on correcta en el l´ ımite continuo. Finalmente, se espera que este manuscrito sirva de gu´ ıa para la correcta soluci´on de problemas de valores iniciales con condiciones de frontera en general. PACS numbers: En este trabajo se presenta la soluci´on de la ecuaci´ onde onda como la soluci´onde un problema de valores iniciales con condiciones de frontera usando una aproximaci´on en diferencias finitas. Se consider dicho caso como el ejemplo emblem´ atico de la soluci´on de problemas de evoluci´ on de sistemas hiperb´ olicos. En parte, la motivaci´ on para proceder de esta manera es que conviene contar con un c´ odigo computacional simple que funciona, que es capaz de reproducir los resultados en este art´ ıculo y despu´ es ser´a simple aplicar las ideas aprendidas en problemas m´as complicados relacionadoscon la soluci´on de ecuaciones diferenciales parciales(EDP) asociadas con problemas de valores iniciales. Hay distintos tipos de m´ etodos num´ ericos usados para resolver sistemas de EDPs, por ejemplo la aproximaci´onde los m´ etodos espectrales supone que las funciones involucradas en un sistema de EDPs puede expanderse como una serie de funciones ortogonales en un dominio dado; entonces las condiciones de ortogonalidad de la base y las relaciones de recurrencia de las funciones base se utilizan para reducir el sistema a un sistema m´as simple de ecuaciones para los coeficientes de la expansi´ on. Enel presente caso se utiliza una aproximaci´ondistinta, basadaen la discretizaci´ondel dominio en el que se define el sistema de EDPs, conocida como aproximaci´on en diferencias finitas. Adem´as de presentar esta herramienta se muestrael tipo de pruebas que debe cumplir la soluci´onnum´ erica de EDPs. El caso de la ecuaci´ on de onda se estudia de dos maneras, i) la primera utilizando una discretizaci´on simple que usa tres niveles temporales, con la cual se ilustra el funcionamiento de la aproximaci´on en diferencias finitas, y ii) la segunda, en la que la ecuaci´ on de onda se descompone en un sistema de ecuaciones de primer orden en el espacio y en el tiempo, cuya soluci´on se construye utilizando el m´ etodo de l´ ıneas con dos niveles temporales. Este segundo caso adem´as se resuelve para sistemas de coordenadas espacio-temporales generales, se estudia la hiperbolicidad del sistema de ecuaciones de primer orden, se construyen las variables caracter´ ısticas y las velocidades caracter´ ısticas de las variables involucradas y se imponen condiciones de frontera usando las variables caracter´ ısticas. Para mejor entendimiento y para ejercitar los conceptos presentados aqu´ ı, los c´ odigos utilizados se encuentran disponibles p´ ublicamente [1]. Las herramientas que se presentan se aplican a gran variedad de problemas de la f´ ısica te´orica actual, como es el caso de la soluci´on de Ecuaciones Diferenciales Parcialesde la relatividad num´ erica [2], la ecuaci´ on de Schr¨odinger asociada a condensadosde Bose en la aproximaci´onde campo medio o gasesat´omcios [3], parcialmente los problemas asociados con la evoluci´ on de fluidos que obedecen las ecuaciones de Euler [4], entre otros tambi´ en de gran importancia. En la secci´ on I se describen los m´ etodos num´ ericos relacionados con la aplicaci´on de las diferencias finitas a las EDPs. En la secci´ on II se ejemplifica el funcionamiento de la aproximaci´on en diferencias finitas con la ecuaci´ on de onda y una discretizaci´onsimple. Enla secci´ on III se presenta la formulaci´ on de primer orden de la ecuaci´ on de onda en el espacio-tiempo de 1+1 dimensiones y la hiperbolicidad del sistema. Finalmente, en la secci´ on IV se mencionan algunos comentarios finales.
Transcript

Solucion de la ecuacion de onda como un problema de valores iniciales usando

diferencias finitas

F. S. Guzman1

1Instituto de Fısica y Matematicas, Universidad Michoacana de San Nicolas de Hidalgo. Edificio C-3,

Cd. Universitaria, 58040 Morelia, Michoacan, Mexico.

(Dated: June 29, 2009)

Se presenta la solucion de la ecuacion de onda como ejemplo paradigmatico de la solucion deproblemas de valores iniciales con condiciones de frontera usando la aproximacion de diferenciasfinitas. Primero se desarrolla una solucion elemental y una discretizacion directa a manera de in-troduccion. Posteriormente se resuelve la ecuacion de onda como un sistema de primer orden, seestudia la hiperbolicidad del sistema de ecuaciones resultante, se calculan los modos y velocidadescaracterısticas del sistema y se imponen condiciones de frontera en terminos de las variables carac-terısticas. En este caso se adopta el metodo de lıneas como esquema de evolucion. Ademas se haceespecial enfasis en que los resultados numericos necesitan un criterio de validez. En el caso de laaproximacion con diferencias finitas de una ecuacion diferencial parcial se presenta la convergencia auna solucion correcta en el lımite continuo. Finalmente, se espera que este manuscrito sirva de guıapara la correcta solucion de problemas de valores iniciales con condiciones de frontera en general.

PACS numbers:

En este trabajo se presenta la solucion de la ecuacion de onda como la solucion de un problema de valores inicialescon condiciones de frontera usando una aproximacion en diferencias finitas. Se consider dicho caso como el ejemploemblematico de la solucion de problemas de evolucion de sistemas hiperbolicos.

En parte, la motivacion para proceder de esta manera es que conviene contar con un codigo computacional simple quefunciona, que es capaz de reproducir los resultados en este artıculo y despues sera simple aplicar las ideas aprendidasen problemas mas complicados relacionados con la solucion de ecuaciones diferenciales parciales (EDP) asociadas conproblemas de valores iniciales.

Hay distintos tipos de metodos numericos usados para resolver sistemas de EDPs, por ejemplo la aproximacion delos metodos espectrales supone que las funciones involucradas en un sistema de EDPs puede expanderse como unaserie de funciones ortogonales en un dominio dado; entonces las condiciones de ortogonalidad de la base y las relacionesde recurrencia de las funciones base se utilizan para reducir el sistema a un sistema mas simple de ecuaciones paralos coeficientes de la expansion.

En el presente caso se utiliza una aproximacion distinta, basada en la discretizacion del dominio en el que se defineel sistema de EDPs, conocida como aproximacion en diferencias finitas. Ademas de presentar esta herramienta semuestra el tipo de pruebas que debe cumplir la solucion numerica de EDPs. El caso de la ecuacion de onda se estudiade dos maneras, i) la primera utilizando una discretizacion simple que usa tres niveles temporales, con la cual seilustra el funcionamiento de la aproximacion en diferencias finitas, y ii) la segunda, en la que la ecuacion de onda sedescompone en un sistema de ecuaciones de primer orden en el espacio y en el tiempo, cuya solucion se construyeutilizando el metodo de lıneas con dos niveles temporales. Este segundo caso ademas se resuelve para sistemas decoordenadas espacio-temporales generales, se estudia la hiperbolicidad del sistema de ecuaciones de primer orden, seconstruyen las variables caracterısticas y las velocidades caracterısticas de las variables involucradas y se imponencondiciones de frontera usando las variables caracterısticas. Para mejor entendimiento y para ejercitar los conceptospresentados aquı, los codigos utilizados se encuentran disponibles publicamente [1].

Las herramientas que se presentan se aplican a gran variedad de problemas de la fısica teorica actual, como es el casode la solucion de Ecuaciones Diferenciales Parciales de la relatividad numerica [2], la ecuacion de Schrodinger asociadaa condensados de Bose en la aproximacion de campo medio o gases atomcios [3], parcialmente los problemas asociadoscon la evolucion de fluidos que obedecen las ecuaciones de Euler [4], entre otros tambien de gran importancia.

En la seccion I se describen los metodos numericos relacionados con la aplicacion de las diferencias finitas a lasEDPs. En la seccion II se ejemplifica el funcionamiento de la aproximacion en diferencias finitas con la ecuacion deonda y una discretizacion simple. En la seccion III se presenta la formulacion de primer orden de la ecuacion de ondaen el espacio-tiempo de 1+1 dimensiones y la hiperbolicidad del sistema. Finalmente, en la seccion IV se mencionanalgunos comentarios finales.

2

I. INTRODUCCION A LAS DIFERENCIAS FINITAS

A. Ingredientes de la aproximacion discreta de EDPs en el continuo

Primer ingrediente. La aproximacion en diferencias finitas de una ecuacion diferencial parcial (EDP) consiste endefinir las funciones y variables involucradas en un conjunto discreto de puntos del dominio donde se busca unasolucion de la ecuacion.

Con el fin de ilustrar este concepto, supongase que una EDP que involucra la funcion f esta definida en un dominioque tiene dos coordenadas t y x (v. gr.: el tiempo y una coordenad espacial). Una manera de discretizar la EDconsiste en considerar que las variables y funciones de la ED estan definidas en en conjunto de puntos tanto en elespacio xj = j∆x como en el tiempo tn = n∆t, donde j y n son enteros que etiquetan los puntos donde estara definidala ecuacion. Ası, la funcion f queda definida solamente en los puntos del dominio (tn, xj) y denotamos dichos valoresde la funcion por fn

j . Se considera ademas que j = 0, 1, ..., N y n = 0, 1, ..., Nt. Limitar los valores de las etiquetas j yn ilustra el hecho de que se ha elegido un dominio finito para calcular la solucion. La razon principal es que si a cadaelemento de la malla se asigna un valor de cada variable independiente y de cada funcion involucrada en la EDP, esnecesario ajustar la memoria de la computadora, que es finita. Naturalmente los valores x0 y xN corresponden a losvalores que delimitan el dominio de x y de manera analoga los valores t0 y tNt delimitan el dominio de t.

Este prodecimiento de discretizacion define una malla en el dominio, en cuyos nodos quedan definidas las funcionesinvolucradas en la EDP. La malla mas elemental es aquella cuyos nodos se encuentran igualmente espaciados, cuyagrafica se muestra en la Figura 1. En este manuscrito se considera solamente el caso en que la discretizacion esuniforme.

t=0

Fronteras

Datos

iniciales

t

Dominio espacial

x

������������������������������

������������������������������

������������������������������������������������������������

������������������������������

������������������������������

������������������������������

������������������������������

������������������

������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

t=0

Fronteras

Datos

iniciales

t

Dominio espacial

x

Punto del

dominio

discreto

FIG. 1: En la primera figura se muestra el dominio de un problema de valores iniciales con condiciones de frontera y en lasegunda la version discreta del dominio, que define una malla sobre la que quedan definidas las funciones involucradas en laEDP.

El criterio para determinar una discretizacion queda al arbitrio de quien resuelve un problema, o de las propiedadesde la ecuacion diferencial que se desea resolver. Para la discretizacion uniformemente espaciada en nuestro caso, sedefinen las resoluciones espacial ∆x = xj+1 − xj y temporal ∆t = tn+1 − tn.

Segundo ingrediente. Una vez definido el dominio discreto de la EDP, es necesario aproximar la ecuacion diferencial,es decir, los operadores diferenciales que aparecen en dicha ecuacion usando solamente los valores de las funcionesinvolucradas que estan definidos en la malla. Una condicion que se demanda es que dichas funciones sean analıticas, locual implica que las funciones involucradas tienen definida una expansion en serie de Taylor, lo cual a su vez permiteconstruir aproximaciones de los operadores diferenciales.

Derivada de primer orden. Sea fnj una funcion como la definida antes con n fijo, entonces es posible calcular valores

aproximados de la funcion en los puntos adyacentes a partir de expansiones en serie de Taylor a segundo orden de fen torno a fn

j :

3

f(xj−1) = f(xj) − ∆xf ′(xj) +∆x2

2f ′′(xj) +O(∆x3)

f(xj) = f(xj) (1)

f(xj+1) = f(xj) + ∆xf ′(xj) +∆x2

2f ′′(xj) +O(∆x3)

donde la prima denota derivada con respecto a x. A partir de estas aproximaciones es posible construir diferentesoperadores diferenciales para las derivadas de fn

j . Por ejemplo, sumando la primera y la tercera expresiones, ydividiendo por ∆x, se obtiene la expresion para la primera derivada en el punto xj con un error de segundo orden:

f ′(xj) =f(xj+1) − f(xj−1)

2∆x+O(∆x2). (2)

Conviene observar que para calcular esta aproximacion es necesario conocer los valores fni+1 y fn

i−1, por lo que estaaproximacion se llama centrada. Un comentario adicional es justo aquı: la expresion (2) es la definicion de derivadaen calculo de una variable en el lımite cuando ∆x→ 0.

Es posible calcular la derivada de primer orden usando aproximaciones no centradas, desbalanceadas, usualmentellamadas upwind. Para tal efecto basta considerar las expansiones sigueintes

f(xj) = f(xj)

f(xj+1) = f(xj) + ∆xf′(xj) +

∆x2

2f′′(xj) + O(∆x

3)

f(xj+2) = f(xj) + 2∆xf′(xj) +

4∆x2

2f′′(xj) + O(∆x

3) (3)

donde ahora se ha hecho la expansion hasta dos puntos a la derecha de xj . Una combinacion que cancela los terminosque contienen la segunda derivada y el termino de orden cero es f(xj+2) − 4f(xj+1) + f(xj), que al ser dividida por∆x resulta en una expresion para la derivada de f en xj usando solamente valores en los puntos xj+1 y xj+2:

f ′(xj) =−f(xj+2) + 4f(xj+1) − 3f(xj)

2∆x+O(∆x2). (4)

De manera analoga, la construccion de la aproximacion de la derivada que usa solamente puntos a la izquierda de xj

es la siguiente:

f ′(xj) =f(xj−2) − 4f(xj−1) + 3f(xj)

2∆x+O(∆x2). (5)

Para calcular operadores con un orden de aproximacion mayor basta con generalizar el procedimeinto ilustradoanteriormente. Supongase que se desea calcular la derivada de primer orden con un error de cuarto orden, entoncesbasta con considerar el siguiente conjunto de aproximaciones

f(xj−2) = f(xj) − 2∆xf ′(xj) +4∆x2

2f ′′(xj) −

8∆x3

6f ′′′(xj) +

16∆x4

24f ′′′′(xj) +O(∆x5),

f(xj−1) = f(xj) − ∆xf ′(xj) +∆x2

2f ′′(xj) −

∆x3

6f ′′′(xj) +

∆x4

24f ′′′′(xj) +O(∆x5),

f(xj) = f(xj)

f(xj+1) = f(xj) + ∆xf ′(xj) +∆x2

2f ′′(xj) +

∆x3

6f ′′′(xj) +

∆x4

24f ′′′′(xj) +O(∆x5),

f(xj+2) = f(xj) + 2∆xf ′(xj) +4∆x2

2f ′′(xj) +

8∆x3

6f ′′′(xj) +

16∆x4

24f ′′′′(xj) +O(∆x5).

Para calcular una aproximacion a la primera derivada de f en xj es necesario encontrar la combinacion correctadel tipo af(xj−2) + bf(xj−1) + cf(xj) + df(xj+1) + ef(xj+2) tal que elimine f(xj) y las derivadas de segundo ordeny superiores. En el caso centrado la expresion es la siguiente

4

f ′(xj) =1

12∆x[f(xj−2) − 8f(xj−1) + 8f(xj+1) − f(xj+2)], (6)

y para combinaciones desbalanceadas se sugiere revisar la Tabla I.Derivada de segundo orden. Para obtener una aproximacion de las segundas derivadas de una funcion respecto a

x en xj , se procede nuevamente mediante la busqueda de una combinacion de las expansiones en serie de Taylor endistintos puntos vecinos de xj , pero en esta ocasion buscando que los terminos de orden cero, orden uno, terceroy superiores se cancelen. Procediendo de dicha manera, la derivada de segundo orden con una aproximacion desegundo orden puede estimarse a partir de las expresiones (1) desarrolladas hasta orden O(∆x4), con la combinacionf(xj+1) − 2f(xj) + f(xj−1) dividida por ∆x2 implica

f ′′(xj) =f(xj+1) − 2f(xj) + f(xj−1)

∆x2+O(∆x2), (7)

que resulta ser una aproximacion centrada. Ası pues, el algoritmo para construir aproximaciones en diferencias finitasde operadores diferenciales es el siguiente:

i) Hacer la expansion en serie de Taylor en puntos cercanos a aquel donde se quiere evaluar la derivada de f .

ii) Encontrar una combinacion de las expansiones escritas tal que se cancelan las derivadas de orden superior einferior a la derivada del orden deseado.

Una vez conocido el procedimiento para calcular aproximaciones de derivadas de funciones, basta con mencionar loscoeficientes de las combinaciones lineales necesarias para calcular los operadores diferenciales de primero y segundoorden, centrados y desbalanceados con distintos ordenes de precision. En la Tabla I se muestran los coeficientes de lasfunciones evaluadas en los distintos puntos vecinos a xj en las expresiones para el calculo de las derivadas de primerorden con precision de segundo orden y los coeficientes cuando la precision es de cuarto orden. En la Tabla II aquelloscoeficientes para las derivadas de segundo orden.

xj−4 xj−3 xj−2 xj−1 xj xj+1 xj+2 xj+3 xj+4

Segundo orden 1 0 -1

1 -4 3

-3 4 -1

Cuarto orden 3 -16 36 -48 25

-1 6 -18 10 3

1 -8 0 8 -1

-3 -10 18 -6 1

-25 48 -36 16 -3

TABLE I: Coeficientes en las expansiones segun el orden de precision de la aproximacion, para las derivadas de primer orden.Las aproximaciones con segundo orden de precision significan f ′ = 1

2∆x[...] + O(∆x2) y f ′ = 1

12∆x[...] + O(∆x4) para las

aproximaciones con cuarto orden de precision. Las expresiones (2), (4), (5) y (6) ilustran el uso de esta tabla.

Los desarrollos hasta el momento en este capıtulo ilustran las aproximaciones en diferencias finitas de los ingredientesde una EDP. El hecho de haber elegido un dominio espaciotempral, permite considerar directamente la discretizacionde la ecuacion de onda:

∂ttφ− ∂xxφ = 0, (8)

donde se ha elegido la notacion con la que un subındice indica una derivada con respecto a la variable representada conel ındice. Originalmente puede tenerse la ecuacion ∂ttφ−v2∂xxφ = 0 donde v es la velocidad de propagacion de la onda,pero se usara v = 1 porque es posible reescalar la coordenada temporal o la espacial para que la ecuacion resultantesea (8). Para construir la aproximacion en diferencias finitas (DF) de (8) bastara con escribir la aproximacion dederivadas de segundo orden. El unico obstaculo es la aproximacion de la derivada tempral; esta dificultad se resuelveintercambiando xj por tn en las expresiones y tablas anteriores, que corresponde a escoger una variable independientemas. El resultado es el siguiente cuando se usan operadores con aproximacion de sugundo orden:

5

xj−5 xj−4 xj−3 xj−2 xj−1 xj xj+1 xj+2 xj+3 xj+4 xj+5

Segundo orden 1 -2 1

-1 4 -5 2

2 -5 4 -1

Cuarto orden -10 61 -156 214 -154 45

1 -6 14 -4 -15 10

-1 16 -30 16 -1

10 -15 -4 14 -6 1

45 -154 214 -156 61 -10

TABLE II: Coeficientes en las expansiones segun el orden de precision de la aproximacion, para las derivadas de segundo orden.Las aproximaciones con segundo orden de precision son del tipo f ′′ = 1

∆x2 [...] + O(∆x2), mientras que las aproximaciones de

cuarto orden de precision van como f ′′ = 1

12∆x2 [...] + O(∆x4). La expresion (7) ejemplifica el uso de esta tabla.

φn+1j − 2φn

j + φn−1j

(∆t)2−φn

j+1 − 2φnj + φn

j−1

(∆x)2= O(∆x2,∆t2), (9)

para todo j = 0, 1, ..., N y n = 0, 1, ..., Nt. En este punto es preciso notar que la aproximacion con diferencias finitasha introducido un error, es decir, el lado derecho de la ecuacion no es necesariamente cero, sino que es del ordenO(∆x2,∆t2). La certeza de que esto ocurre determina el tercer ingrediente.

Tercer ingrediente de la aproximacion en diferencias finitas de una EDP. Al usar este metodo numerico es necesariotener en mente que la aproximacion en DF provee de una version aproximada de la ecuacion en el continuo y que laecuacion que se resolvera en adelante es solamente una aproximacion de la original, es decir, la que es definida en eldominio continuo. Es preciso entonces establecer criterios que indiquen que cuando se resuelve la version discreta deuna EDP, al menos en el lımite continuo se esta calculando la solucion correcta.

B. Convergencia

Hemos mostrado que las aproximaciones de los operadores diferenciales son solamente una aproximacion con unerror asociado de cierto orden (segundo y cuarto orden en los ejemplos mostrados en las tablas I y II). Es deesperar que cuanto mayor sea la resolucion con que se construya la malla, cuanto menor sera el error con que seestan aproximando los operadores diferenciales y por tanto la aproximacion en diferencias finitas de una ecuaciondiferencial es mas precisa. Sin embargo, es de gran importancia determinar el ritmo al cual converge una soluciona una solucion exacta conocida de la ecuacion, o una solucion numerica en el lımite continuo de una ecuacion cuyasolucion es desconocida.

La convergencia es la nocion que relaciona el ritmo al cual decrece el error en terminos del orden de aproximacionen diferencias finitas de los operadores en una ecuacion diferencial. Es decir, no basta con saber que si la resolucionaumenta el error disminuye, sino que es necesario saber si el error decrece al ritmo esperado en terminos de laresolucion.

Para ilustrar el concepto de convergencia en diferencias finitas considerese una funcion fl que es solucion numericade una EDP a un tiempo dado, y que ha sido construida bajo la discretizacion de dicha ecuacion con una aproximacionde segundo orden. Suponinendo ademas que se conoce la solucion exacta f0(x), el resultado numerico puede escribirseen la forma f(x) = f0(x) +E(x)(∆x2) +O(∆x3), donde E denota un coeficiente del error, que ha de ser de segundoorden. Dado que se conoce la solucion exacta, es posible conocer el error con que se calcula la solucion numericausando distintos valores de ∆x. Sean f1 y f2 dos soluciones numericas calculadas usando las resoluciones ∆x y ∆x/2respectivamente. La razon entre los errores es la siguiente:

f1 − f0f2 − f0

=∆x2 +O(∆x3)14∆x2 +O(∆x3)

= 4 +O(∆x3). (10)

En este caso se ha supuesto que la funcion f depende solamente de la variable x. El numero cuatro en (10) se llamafactor de convergencia y debe ser evaluado en cada punto de la malla donde se ha calculado la funcion f . Cuando enun calculo numerico que se ha llevado a cabo a partir de una aproximacion de segundo orden el factor de convergencia

6

es cuatro, se dice que la solucion converge con segundo orden, es decir, cumple con lo predicho por la teorıa en (10).De manera analoga, es posible mostrar que si la aproximacion es de cuarto orden, el factor sera 16.

Por ejemplo, para la ecuacion de onda (9) la solucion exacta es conocida, y bastara calcular la solucion numericacon dos resoluciones distintas para determinar si los algoritmos utilizados producen una solucion que converge cor-rectamente. Podrıa parecer que lo mencionado en estos parrafos es elemental, pero el siguiente ejemplo ilustra lainportancia del factor de convergencia: sopongase que se discretiza el dominio x ∈ [0, 1] con la opcion (i) ∆x = 0.1y con ∆x = 0.05 para estudiar el factor de convergencia en el caso de una ED elemental, es muy probable que lasolucion numerica no tenga factor de convergencia cuatro, pero es probable que lo tendra cuando se usan resoluciones(ii) ∆x = 0.01 y ∆x = 0.005; si este es el caso, se dice que los calculos en la opcion (ii) han sido ejecutados en elregimen de convergencia, mientras la opcion (i) no aporta condiciones para que se obtenga la convergencia deseada.Regularmente los calculos que no convergen con el orden deseado se desechan (o debieran desecharse), mientras queaquellos realizados en el regimen de convergencia son aceptables. Este ejemplo ilustra claramente el hecho de que no

toda solucion numerica realizada con la aproximacion de DF es aceptable, y que ningun calculo que no converja debe

gozar de credibilidad.El caso en que se desconoce la solucion exacta es posible hacer un estudio de convergencia de tipo Cauchy usando

los calculos numericos resultado de usar tres distintas resoluciones (no dos como en el caso anterior). Si ademas def1 y f2 definidas antes se calcula la solucion f3 de la EDP con resolucion ∆x/4 se puede calcular la razon siguiente:

f1 − f2f2 − f3

=∆x2 − 1

4∆x2 +O(∆x3)14∆x2 − 1

16∆x2 +O(∆x3)

=∆x2 +O(∆x3)14∆x2 +O(∆x3)

= 4 +O(∆x3), (11)

donde una vez mas el resultado se llama factor de convergencia, y una vez mas resulta ser cuatro cuando la aproxi-macion de la EDP es de segundo orden. De igual modo, si la aproximacion fuera de cuarto orden el factor serıa 16 enlugar de 4.

Finalmente, es util saber que si cuando el factor de convergencia es menor que cuatro, es necesario aceptar variasposibilidades: (a) hay un error en la implementacion del programa, (b) los algoritmos no permiten la convergencia enel rango ∆x elegido, es decir, no se han hecho los calculos en el regimen de convergencia.

II. LA ECUACION DE ONDA CON UNA DISCRETIZACION SIMPLE

El problema a resolver es entonces el siguiente:

∂tt − ∂xx = 0,

φ(x, 0) = φ0(x), ∂tφ(x, 0) = φ0(x),

φ(−1, t) = φL(t), φ(1, t) = φR(t)

x ∈ [−1, 1], t > 0. (12)

Para construir la solucion de una EDP que admite por solucion global la evolucion de datos iniciales es necesarioproveer dichos datos iniciales. En el caso de la ecuacion de onda, la solucion numerica mas simple constiste enevolucionar los datos iniciales usando la ecuacion (9). De hecho, dados los valores de la funcion de onda en toda lamalla al tiempo n, es posible construir los valores de φ al tiempo n+ 1. Para conseguirlo basta con resolver φn+1

j en

(9), lo cual implica:

φn+1j =

(

∆t

∆x

)2

[φnj+1 − 2φn

j + φnj−1] + 2φn

j − φn−1j +O(∆x2,∆t2), (13)

que permite conocer los valores de la funcion de onda para todos los puntos de la malla al tiempo n + 1, exceptoaquellos que estan en los bordes x0 = −1 y xN = +1, debido a que la molecula de este algoritmo requiere los valoresde un punto a la derecha y otro a la izquierda para todo xj en la malla. Para ilustrarlo, en la Figura 2 se muestrael elemento contenido en la expresion (13), llamado molecula del algoritmo de evolucion. En tal diagrama aparececomo un cırculo negro la posicion del dominio discreto (tn+1, xj) que se puede calcular en terminos de los valores deφ en las posiciones inidicadas con cırculos blancos. Ademas, esta figura ilustra la necesidad de conocer el valor de la

7

������

������

j+1,n

j,n−1

j,nj−1,n

j,n+1

FIG. 2: Molecula correspondiente a la construccion de datos al tiempo tn+1 a partir de datos en los tiempos tn y tn−1 segunla ecuacion (13).

funcion de onda en todos los puntos del espacio para tn y tn−1, y en especial los valores de la funcion en las posiciones(tn, x−1) y (tn, xN ) que no estan definidos cuando el punto negro se localiza en (tn+1, x0) y (tn+1, xN ).

Afortunadamente los valores φn+10 y φn+1

N+1 pueden ser calculados imponiendo una condicion de frontera de igualmodo que se hizo para la construccion de la solucion exacta.

Finalmente, la expresion (13) permite la evolucion de valores de la funcion de onda en tiempos previos a tn+1, yademas indica que para iniciar la evolucion es necesario conocer los valores de la funcion en dos tiempos previos. Eneste punto es cuando es necesario llenar el dominio espacial con datos iniciales en dos niveles de tiempo.

Estabilidad del algoritmo. Existe una restriccion del algoritmo descrito por (13) respecto a la estabilidad de lasolucion que se esta calculando. Es evidente de dicha expresion que un valor del factor ∆t/∆x mayor que unoimplicarıa que la amplitud de la funcion de onda en cada punto crecerıa al tiempo tn+1 con respecto al valor quetenıa en el tiempo tn. Al factor ∆t/∆x se le conoce como factor de Courant Friedrichs Lewy (CFL). Para que ladiscretizacion (13) sea estable es necesario que el factor CFL sea menor que 1 (ver el apendice para una demostracionde esta condicion).

Datos iniciales. Cuando se trata de resolver una ecuacion de segundo orden es necesario proveer el valor inicial dela funcion y de su primera derivada temporal. De manera equivalente, basta con proveer el valor inicial de la funcionen dos niveles de tiempo. En el caso de la ecuacion de onda cuya evolucion esta dictada por (13), dado que sonnecesarios los datos en dos niveles de tiempo antes de proceder a llevar a cabo la evolucion, diremos que los datosiniciales estaran definidos en los niveles de tiempo t0 y un hipotetico t−1, con el fin de que se obtenga en el primerpaso de tiempo el valor de φ en el tiempo t1.

Especıficamente se elige aquı un perfil gaussiano en t = t0 = 0, y dado que se conoce la solucion exacta de laecuacion de onda, se tiene que

φ0j = Ae−x2

j/σ2

φ−1j =

1

2Ae−(xj+∆t)2/σ2

+1

2Ae−(xj−∆t)2/σ2

(14)

para j = 0, 1, ...N .Condiciones de frontera periodicas. en este caso, el dominio es tal que el extremo derecho del dominio espacial se

identifica con el extremo izquierdo, o bien, que la topologıa del dominio espacial pasa de ser un trozo de la recta realen la circunferencia S1, de perımetro xN −x0. En la Figura 3 se ilustra esta transformacion cuando se ha consideradoel dominio discreto.

Condicion de onda saliente. Se trata de una condicion que se impone para modelar fronteras abiertas que permitenel flujo hacia fuera de las soluciones pero no hacia dentro. En el caso de la ecuacion de onda, se sabe que la soluciongeneral presenta una solucion general del tipo φ(t, x) = f(x + t) + g(x − t) para f y g arbitrarias, cada una de lascuales corresponde al desplazamiento hacia la izquierda y a la derecha respectivamente de los pulsos iniciales. Talesfunciones f, g son soluciones de las ecuaciones

(∂t − ∂x)φ = 0 (15)

(∂t + ∂x)φ = 0 (16)

8

������

������

������

������

0 1 2 N−2 N−1 N

����������

������

N1

2

N−1N−2

FIG. 3: Identificacion del dominio espacial que es parte de la recta real con una circunferencia. El mecanismo consiste enigualar los valores de φ en ambos extremos del dominio φn

0 = φnNx para todo n.

respectivamente. Ası pues, la condicion de onda saliente en el caso de la ecuacion de onda se reduce a imponer enel borde izquierdo x0 = −1 la relacion (15) y en el borde derecho xN = +1 la condicion (16). Es importante paraimponer la condicion del borde izquierdo solamente se cuenta con valores de la funcion de onda en puntos vecinoshacia la derecha, y de manera analoga, para imponer la condicion en el borde derecho solo se cuenta con valores de lafuncion de onda en puntos vecinos hacia la izquierda. Por tanto, esta condicion de frontera ilustra la utilidad de lasaproximaciones en diferencias de derivadas que consideran puntos de un solo lado. Por ejemplo, la aproximacion enDF de (15) y (16), utilizando las expresiones (4) y (5) son respectivamente:

φn−10 − 4φn

0 + 3φn+10

2∆t− −φn+1

2 + 4φn+11 − 3φn+1

0

2∆x= O(∆x2,∆t2),

φn−1N − 4φn

N + 3φn+1N

2∆t+φn+1

N−2 − 4φn+1N−1 + 3φn+1

N

2∆x= O(∆x2,∆t2)

donde ademas se ha usado la discretizacion para la derivada temporal que solamente utiliza valores de φ0 y φN alos tiempos tn y tn−1. Las moleculas involcradas en estas aproximaciones aparecen en la Figura 4. La informacionconocida en estas expresiones es la siguiente: todos los valores de φ en los tiempos tn y tn−1, y los puntos internos de lamalla al tiempo tn+1 que ya han sido calculados a traves de (13), de modo que los valores incognita son aquellos valoresde φ marcados con puntos negros en la Figura 4. Afortunadaamente es posible resolver las expresiones anteriores paraestos valores desconocidos de la funcion de onda, lo que da como resultado:

φn+10 =

∆t∆x(−φn+1

2 + 4φn+11 ) + 4φn

0 − φn−10

3(1 + ∆t∆x)

, (17)

φn+1N =

∆t∆x(−φn+1

N−2 + 4φn+1N−1) + 4φn

N − φn−1N

3(1 + ∆t∆x)

. (18)

Usando estas expresiones para los valores del campo en los bordes del dominio debiera implicar el resultado correcto.En la Figura 5 se muestra la solucion calculada con estas condiciones de frontera.

Error y convergencia. El error de la solucion numerica con respecto a la solucion exacta queda definido en cadapunto del dominio espacial como

ej = φnumj − φex

j . (19)

En la Figura 6 se muestra el error caculado mediante el uso de (13,17,18) y la solucion exacta para el caso decondiciones de frontera de onda saliente. Para saber si los calculos convergen a la solucion exacta, basta con aprovecharel hecho de que en el lımite continuo (o de resolucion infinita) el error es cero. Entonces se usa la expresion (10) y seejecuta el codigo con dos resoluciones distintas para mostrar la convergencia de segundo orden del error a cero.

9

������

������

������

������

0,n+1 1,n+1 2,n+1 N−2,n+1 N−1,n+1 N,n+1

0,n

0,n−1

N,n

N,n−1

FIG. 4: Moleculas de la version discreta de las condiciones de frontera de onda saliente (15,16). Al igual que antes, se deseacalcular la funcion de onda en los puntos negros y los puntos blancos son los datos necesarios para conseguirlo.

0

0.5

1

1.5

2

2.5

3 −1−0.5

0 0.5

1

0

0.5

1

φCondiciones periódicas

t

x

φ

0

0.5

1

1.5 −1−0.5

0 0.5

1

0

0.5

1

φFronteras abiertas

t

x

φ

FIG. 5: Solucion numerica de la ecuacion de onda que usa la discretizacion (13). En el lado izquierdo se muestra el caso queusa condiciones periodicas, y es evidente que la senal que sale de un lado del dominio entra por el otro ad infinitum. En el ladoderecho se muestra el resultado de aplicar las condiciones de frontera de onda saliente (15,16), y es de notar que la senal salepor las fronteras al tiempo t ∼ 1, que corresponde al caso de que la onda viaja a velocidad 1.

El estudio del error de un calculo numerico para varios tiempos es exhaustivo y parece poco practico. Es por talrazon que es practica comun estudiar alguna funcion escalar del error y estimar la convergencia de esta. Ejemplos detales funciones son:

i) El error en algun punto particular del dominio espacial, por ejemplo en las fronteras o en el maximo de ladistribucion gaussiana.

ii) La norma L1(e) del error, definida como L1(e) =∑N

j=0 |ej |.

iii) La norma L2(e) del error, definida como L2(e) =√

∑Nj=0 e

2j .

de modo que dichas funciones escalares del error se pueden monitorear como funciones del tiempo. Como ejemplo,en la Figura 7 se muestran las normas L1(e) y L2(e) para las simulaciones mencionadas. Queda manifiesto que estafuncion escalar tiene convergencia de segundo orden a cero.

El monitoreo de la precision a traves de funciones escalares del error es un procedimiento muy eficiente, pues permitedeterminar si las ejecuciones y la implementacion de los programas es correcta, sin necesidad de revisar directamentelas soluciones numericas en cada paso de tiempo.

III. LA ECUACION DE ONDA COMO SISTEMA DE PRIMER ORDEN

En este capıtulo se resuelve la ecuacion de onda para ilustrar la solucion de problemas en el espacio-tiempo planoen coordenadas arbitrarias. Ademas, se muestra la solucion de una EDP hiperbolica de manera completa y la seriede ingredientes necesarios para la solucion de un problema de valores iniciales con condiciones de frontera.

10

t=0.025 t=0.25

-0.0003

-0.0002

-0.0001

0

0.0001

0.0002

0.0003

t=0.5

-1 0 1

t=0.75

-1 0 1

t=1.0

-1 0 1-0.0003

-0.0002

-0.0001

0

0.0001

0.0002

0.0003

t=1.25

FIG. 6: Error para distintos valores del tiempo de la solucion para datos iniciales de perfil gaussiano simetricos en el tiempocon condiciones de frontera de onda saliente y dos resoluciones distintas ∆x = 0.002 y ∆x = 0.001. El error de la solucion conmenor resolucion ha sido dividido por 4 con el fin de mostrar la convergencia de segundo del error con segundo orden.

0

1e-05

2e-05

3e-05

4e-05

5e-05

6e-05

7e-05

8e-05

9e-05

0.0001

0 0.5 1 1.5 2 2.5 3

L1(e

)

t

∆x=0.002

∆x=0.001

∆x=0.001 multiplicado por 4

0

2e-05

4e-05

6e-05

8e-05

0.0001

0.00012

0.00014

0.00016

0 0.5 1 1.5 2 2.5 3

L2(e

)

t

∆x=0.002

∆x=0.001

∆x=0.001 multiplicado por 4

FIG. 7: Normas L1 y L2 del error como funcion del tiempo para las simulaciones mostradas en la figura anterior. La lıneacontinua indica la norma del error cuando se usa resolucion ∆x = 0.002, la discontinua corresponde a la resolucion ∆x = 0.001y los puntos son una muestra de la norma calculadoa con resolucion ∆x = 0.001 multiplicada por 4. De ahı que a convergenciade estas normas del error a cero es de segundo orden.

La ecuacion de onda esta definida en el espacio de Minkowski en 1+1 dimensiones, cuyo elemento de lınea esds2 = −dt2 + dx2. Aplicando la tranformacion general de coordenadas dt = αdt y dx = dx − βdt, donde α juega elpapel de etiqueta entre los valores del tiempo considerados y β es una velocidad a la que se desplaza la coordenadax. La metrica resultante en forma matricial es la siguiente:

gµν =

(

(−α2 + β2) β

β 1

)

, (20)

gµν =

(

−1/α2 β/α2

β/α2 (1 − β2/α2)

)

, (21)

11

donde α > 0 es la funcion lapso y β es la unica componente del shift, ademas µ, ν = t, x. En general el operadorD’Alambertiano para un espacio-tiempo dado esta definido por 2φ = 1√

−g∂µ[

√−ggµν∂νφ] = 0 donde g = det(gµν).

De (20) se tiene que√−g = α. Entonces la ecuacion de onda en su forma general se escribe

0 = 2φ

=1√−g∂µ[

√−ggµν∂νφ]

=1

α∂t[αg

tν∂νφ] +1

α∂x[αgxν∂νφ]

=1

α∂t[αg

tt∂tφ+ αgtx∂xφ] +1

α∂x[αgxt∂tφ+ αgxx∂xφ]

=1

α∂t[−

1

α∂tφ+

β

α∂xφ] +

1

α∂x[

β

α∂tφ+ α(1 − β2

α2)∂xφ].

(22)

Observese que cuando α = 1 y β = 0 se recupera la ecuacion de onda sencilla (8). Es deseable escribir un sistema deEDPs que contengan derivadas solamente de primer orden. La razon es que se simplifica el estudio de las propiedadesdel sistema de ecuaciones con la idea de construir una solucion global a partir de una evolucion de Cauchy, ası que esconveniente determinar la hiperbolicidad del sistema.

La expresion anterior sugiere la defincion de dos nuevas variables ψ := ∂xφ y π := (∂tφ− β∂xφ)/α. Observese queπ es el argumento de la derivada temporal de primer orden en (22). El objetivo es separar la ecuacion de onda en unsistema de dos ecuaciones de primer orden para estas dos nuevas variables. La primera de estas ecuaciones es obviade (22):

∂tπ = ∂x(αψ + βπ). (23)

Si ahora se supone que φ es al menos de clase C2, la ecuacion para ψ es ∂tψ = ∂x(∂tφ) lo que implica

∂tψ = ∂x(απ + βψ). (24)

Las ecuaciones (23-24) constituyen la version de primer orden de la ecuacion de onda con la constriccion ψ = ∂xφ.Esto recuerda que la funcion incognita original φ no aparece en el sistema de ecuaciones, pero puede reconstruirse apartir de la definicion de π una vez calculados π y ψ, o sea ∂tφ = απ + βψ.

Finalmente, el problema de valores iniciales con condiciones de frontera es el siguiente:

∂tπ = ∂x(αψ + βπ),

∂tψ = ∂x(απ + βψ)

π(x, 0) = π0(x), ψ(x, 0) = ψ0(x),

π(−1, t) = πL(t), π(1, t) = πR(t), ψ(−1, t) = ψL(t), ψ(1, t) = ψR(t).

x ∈ [−1, 1], t > 0, (25)

con la constriccion ∂xφ = ψ.

A. Analisis caracterıstico

Si se define el vector de estado u = (π, ψ)T , es posible escribir la ecuacion de onda (23-24) como

∂tu + A∂xu = −∂x(A)u, (26)

donde

12

A = −(

β α

α β

)

. (27)

Las direcciones caracterısticas, o sea, las direcciones locales de propagacion de las senales en el plano xt se obtienende los valores propios de la matriz A , para lo cual se resuelve la ecuacion det(A− I2λ) = 0 con λ = dx/dt, donde I2es la matriz identidad 2 × 2. Los resultados son los siguientes

λ± = −β ± α. (28)

Dado que los dos valores propios son distintos y reales, el sistema es estrıctamente hiperbolico [6], ademas los vectorespropios forman un sistema completo de vectores, lo que garantiza que se tiene un problema de valores iniciales bienplanteado [6]. En el caso β = 0 y α = 1 (la ecuacion de onda usual) se obtienen las velocidades caracterısticas λ = ±1,lo que implica que las trayectorias de los datos iniciales son rectas con pendientes ±1 que definen el cono x = x0 ± t,cuyas rectas corresponden a las caracterısticas de la solucion, es decir, aquellas curvas (rectas en este caso) a lo largode las cuales el valor de la solucion es el mismo que el valor al tiempo inicial.

Los vectores propios correspondientes a λ± son u1 = (1,−1)T y u2 = (1, 1)T . La matriz que diagonaliza A es portanto

P =

(

1 1

−1 1

)

, P−1 =

1

2

(

1 −1

1 1

)

. (29)

De aquı, A puede escribirse como A = PΛP−1 con Λ = diag(λ+, λ−). Multiplicando la ecuacion (26) por P

−1 setiene

P−1∂tu + P

−1A∂xu = −∂x(P−1

A)u

∂tw + Λ∂xw = −∂x(Λ)w, (30)

donde

w = P−1

u =1

2(π − ψ, π + ψ)T = (R,L)T (31)

son las variables caracterısticas. De este modo, las dos ecuaciones (23) y (24) se desacoplan, y la dinamica del campoescalar ha quedado descompuesta en un modo que se mueve a la derecha (R = 1/2(π − ψ)) y otro que se mueve ala izquierda (L = 1/2(π + ψ)). La ecuacion (31) desacopla entonces el sistema en un par de ecuaciones de adveccionpara las variables R y L.

B. Datos iniciales

En la version de primer orden de la ecuacion de onda es necesario conocer al tiempo inicial los valores de π(0, x)y ψ(0, x). Esto es equivalente a demandar valores para φ y su derivada temporal al tiempo inicial. Con el fin deenfocarnos en la evolucion de datos iniciales es posible elegir simplemente datos simetricos en el tiempo para un perfilgaussiano:

φ(0, x) = Ae−(x−x0)2/σ2 ⇒

ψ(0, x) = −2(x− x0)

σ2φ(0, x),

π(0, x) = 0. (32)

Se sabe que la solucion de la ecuacion de onda es la superposicion de un pulso que se mueve a la derecha y otroque se mueve a la izquierda (φ(t, x) = f(x+ t) + g(x− t)). Entonces la evolucion de los datos iniciales (32) debieran

13

mostrar la descomposicion de los datos iniciales en dos gaussianas. De hecho para el caso usual (α = 1, β = 0) y losdatos iniciales (32) se tendrıa

φ(0, x) =1

2Ae−([x+t]−x0)

2/σ2 |t=0 +1

2Ae−([x−t]−x0)

2/σ2 |t=0, (33)

que involucra en realidad dos pulsos gaussianos superpuestos que al tiempo t = 0 aparecen como uno solo.

C. Evolucionando los datos iniciales

La evolucion de datos consiste en el calculo de la funcion fn+1j a partir de datos en los niveles de tiempo previos.

Para ilustrarlo considerese la ecuacion (23) con β = 0 y α = 1. En este caso particular la discretizacion en el punto(tn, xj) es

πn+1j − πn

j

∆t≈

ψnj+1 − ψn

j−1

2∆x⇒ (34)

πn+1j = πn

j +∆t

2∆x(ψn

j+1 − ψnj−1),

donde se ha supuesto que ∆t y ∆x son pequenos. Una expresion similar se encuentra para la evolucion de ψ a partirde (24). Para conocer el valor π(tn+1, xj) es necesario conocer los valores de ψ en los puntos vecinos (tn, xj+1),(tn, xj−1) y el valor de π en (tn, xj). Tal discretizacion se conoce como hacia delante en el tiempo y centrada en elespacio (FTCS); la molecula usada para construir datos al tiempo n+ 1 se muestra en la Figura 8. Se trata de unadiscretizacion ilustrativa y facil de implementar, pero inestable. Este hecho muestra que la discretizacion por si solano basta para calcular la solucion del problema y en el presente caso es necesario recurrir a algoritmos mas elaborados.Sin emabrgo la discretizacion en este ejemplo ilustra el metodo que es estable y muy poderoso: el metodo de lıneas(MoL). En el concepto de MoL se supone que para cada j la EDP satisface una ecuacion diferencial ordinaria (EDO)a lo largo de las lıneas verticales en el plano xt segun se ilustra en la Figura 8. Con esta informacion en mente, bastacon escribir (34) en forma semidiscreta, o sea, se escribe la derivada respecto al tiempo como una operacion continuay el resto de la ecuacion en su version discreta, y despues integrar en el tiempo ∂tπ. Entonces basta con un integradorde EDOs para evolucionar datos de un tiempo al siguiente. Se elige dicho integrador en terminos de la precisiondeseada, la disipacion que introduce en los calculos y sus propiedades de estabilidad, lo que implica restricciones enel valor del factor de Courant ∆t/∆x (para aprender mas acerca de las propiedades y estabilidad de los algoritmosde evolucion conviene revisar las referencias [5, 9]). Para obtener los resultados de este manuscrito se ha usado unalgoritmo Runge-Kutta de tercer orden. Ası pues, la funcion f satisface una ecuacion del tipo ∂tf = S, donde S esla parte derecha de la ecuacion de evolucion para f y que puede incluir funciones y derivadas de funciones conocidasen su version discreta. Entonces el algoritmo para calcular fn+1 en terminos de valores de funciones en el tiempoprevios se resume ası:

f∗ = fn + ∆tSn,

f∗∗ =3

4fn +

1

4f∗ +

∆t

4S∗,

fn+1 =1

3fn +

2

3f∗∗ +

2

3∆tS∗∗.

Este algoritmo es usado comunmente porque requiere de tres iteraciones solamente, es preciso y estable para valoressuficientemente pequenos del factor de Courant.

D. Condiciones de frontera

Como se puede ver de la ecuacion (34) y de la Figura 8, el valor de la variable que se desea actualizar puedecalcularse solamente en los puntos interiores del dominio, y no en aquellos localizados en las fronteras x0, xN ; la razones que en la parte derecha de π aparece una derivada espacial. Este no es un obstaculo sino una oportunidad paraimponer condiciones de frontera que involucran direvadas espaciales. Como ejemplos de condiciones de frontera para

14

j,n+1

j,n j+1,nj−1,n

FIG. 8: Ilustracion de la molecula usada en la construccion de la solucion al tiempo n + 1. Los cırculos llenos indican el puntodonde se desea calcular el valor de una variable, mientras que los vacıos indican la posicion de los puntos donde son conocidaslas funciones involucradas.

la ecuacion de onda se consideran nuevamente las periodicas y las de onda saliente. En el caso de las condicionesperiodicas se procede de manera analoga a la implenetada en el capıulo anterior, es decir se cambia la topologıa deldominio finito a la de S1. Sin embargo, en el caso de las condiciones de onda saliente, el operador de onda generalusado aquı no se factoriza tan facilmente como se hizo en (15,16), pues ahora se trata de coordenadas generales. Sinembargo, la descomposicion en modos derecho e izquierdo de la solucion permiten implementar de manera elegantelas condiciones de frontera.

La condicion en la frontera izquierda consiste en la eliminacion del modo que viaja hacia la derecha (R = 0), loque significa que no se permite la refleccion hacia dentro del dominio, y la condicion en la frontera derecha consisteen eliminar el modo que viaja a la izquierda (L = 0). Explıcitamente, en la frontera izquierda x0 se exige

1

2(πn

0 + ψn0 ) = L0

1

2(πn

0 − ψn0 ) = R0 = 0, (35)

cuya solucion es πn0 = ψn

0 = L. De modo equivalente, la condicion en la frontera derecha es πnN = RN y ψn

N = −RN .El problema se reduce a calcular L0, R0, LN y RN . Para conocer estos valores basta con hacer una extrapolacionusando los puntos internos de la malla.

E. Resultados

0

0.5

1

1.5 −1−0.5

0 0.5

1

0

0.5

1

φFronteras abiertas con α=1, β=0

t

x

φ

0

0.5

1 −1−0.5

0 0.5

1

0

0.5

1

φFronteras abiertas con α=1, β=1

t

x

φ

FIG. 9: Solucion de la ecuacion de onda para dos casos. (Izquierda) La ecuacion de onda usual; la gaussiana inicial se parteen dos gaussianas de amplitud igual a la mitad de la original y mismo ancho, cada una de las cuales viaja hacia las fronteras.(Derecha) La ecuacion de onda con β = 1, lo que implica que las coordenadas viajan a la velocidad de propagacion de uno delos pulsos.

15

Con todos estos conceptos en mente: datos iniciales, un algoritmo de evolucion para las funciones de un tiempo alsiguiente, condiciones de frontera y un codigo que contiene todos estos ingredientes, es posible construir soluciones dela ecuacion de onda bajo distintas condiciones sobre las coordenadas. Aquı, se presentan algunos ejemplos ilustrativos.Nuevamente, se elige el dominio [−1, 1]× [0, t).

En la Figura 9 se presentan dos casos con α = 1. En el primer caso β = 0, lo que corresponde al caso usual dela ecuacion de onda. De hecho, puede verse que la gaussiana inicial se divide en dos gaussianas pequenas que llegana las fronteras al mismo tiempo (alrededor t ∼ 1). Sin embargo, en el segundo caso β = 1, esto es, las coordenadasse mueven hacia x > 0 a la velocidad de propagacion de la onda; entonces el sistema de coordenadas sigue a uno delos pulsos, lo que en la figura se traduce en un pulso centrado permanentemente en x = 0; el otro pulso alcanza lafrontera en la mitad del tiempo que toma en el caso anterior.

Un ejemplo que ilustra el papel del lapso α es el mostrado en la Figura 10. En tal caso el lapso tiene el perfil deuna funcion escalon suavizada tal que el lapso va de 0.5 a 1.0. El efecto que produce esta eleccion es que -siendo α2

el coeficiente de dt2- determina que tan separados se encuentran los niveles de tiempo. Por tanto, la evolucion en laregion donde α = 0.5 (x < 0) es mas lenta que en la region donde α = 1 (x > 0). De hecho, en el primer caso alpulso le toma un tiempo ∼ 2 para llegar a la frontera, mientras que en el segundo caso el pulso llega a la fronteraen un tiempo ∼ 1. Este tipo de comportamiento es muy util en escenarios de Relatividad General. Por ejemplo,cuando se forma un hoyo negro debido al colapso de algun tipo de materia, lo que se encuentra es que los invariantesgeometricos cominezan a diverger en la region de la singularidad, y por tanto una posibilidad para suavizar los efectosde gradientes grandes de funciones consiste en elegir una condicion de foliacion que comprime la separacion temporalentre un tiempo dado y el siguiente en la region cercana al origen demandando que α → 0 en esta region, de modoque la evolucion tiende a congelarse ahı.

0

0.5

1

1.5

2

2.5 −1−0.5

0 0.5

1

0

0.5

1

φFronteras abiertas con α=α(x), β=0

t

x

φ

FIG. 10: La ecuacion de onda para el caso β = 0 y α = 0.25 tanh(10x) + 0.75, que es una version suave de una funcion escalonque salta de 0.5 a 1.0. Puede observarse que en la region donde α = 0.5 (x < 0) la onda se propaga con baja velocidad enestas coordenadas (el pulso tarda mas en llegar que el pulso en la otra mitad del dominio). Esto es ası porque se ha usado unafoliacion con intervalo de tiempo 0.5dt de modo que los intervalos de tiempo en esa region se encuentran mas cercanos uno alotro, mientras que en la region con x > 0, para el cual el intervalo de tiempo es como en los casos anteriores 1.0dt.

Como ejemplo final, en la Figura 11 se presenta la solucion para el caso α = 1 y β = x. En este caso las coordenadasviajan a la velocidad de la onda en las fronteras x = ±1, porque en esos dos puntos β = ±1. Esto implica que lassenales nunca llegaran a las fronteras numericas. El efecto es que los pulsos en estas coordenadas se comprimenconforme se acercan a las fronteras. Por una parte esta es una ventaja, porque no es necesario imponer condicionesde frontera (las senales nunca llegaran a las fronteras), y por otra parte, los pulsos estan siendo resueltos con cada vezmenos puntos del dominio espacial, lo que afecta la precision de los calculos. En cualquier caso, este ejemplo ilustralas posibilidades que se tienen cuando se puede elegir un lapso y un shift.

IV. COMENTARIOS FINALES

Un punto importante relacionado con los algoritmos es que en los ejemplos desarrollados en este manuscrito, laresolucion en todos los casos es uniforme. Esta condicion es suficiente para resolver los casos descritos, pero nonecesariamente lo es en casos mas generales. La razon es que cuando las ecuaciones involucran tres dimensionesespaciales la memoria de la computadora se convierte en una limitante. Es entonces necesario optimizarla y hacer

16

0

0.5

1

1.5

2 −1−0.5

0 0.5

1

0

0.5

1

φFronteras abiertas con α=1, β=x

t

x

φ

FIG. 11: Solucion para el caso β = x y α = 1. Debido a que el valor del shift iguala al valor de la velocidad de propagacion dela onda en las fronteras, las senales nunca llegaran a las fronteras. Las gaussianas se comprimen conforme se aproximan a lasfronteras pues en esa region el dominio fısico esta representado por una region de tamano menor al real.

t=0.025 t=0.5

-0.003

-0.002

-0.001

0

0.001

0.002

0.003

t=1.0

-1 0 1

t=1.5

-1 0 1

t=2.0

-1 0 1-0.03

-0.02

-0.01

0

0.01

0.02

0.03

t=2.5

FIG. 12: Se presenta la autoconvergencia de la solucion para el caso en que β = x y α = 1. Para tal efecto se usa el resultado(11). Para construir esta grafica se usan las resoluciones ∆x1 = 0.002, ∆x2 = 0.001 y ∆x3 = 0.0005. La lınea continuacorresponde a la resta de solucion calculada con ∆x1 y ∆x2, mientras que la muestra de puntos corresponde a la resta de lassoluciones calculadas con ∆x2 y ∆x3 multiplicada por 4. De los resultados se tiene que los resultados convergen hasta t ∼ 2, yque a partir de entonces las dos curvas no se superponen, por lo que no se puede confiar en los resultados a partir de entoncespues no convergen.

uso de algoritmos de refinamiento de mallas que permiten asignar memoria solamente en aquellas regiones donde losgradientes de las funciones involucradas en las EDPs son grandes.

El elemento mas importante en los caculos numericos basados en la aproximacion en diferencias finitas es la conver-gencia a una solucion en el continuo. Sin un criterio de convergencia basta para desechar los resultados de cualquiercalculo.

Respecto a la solucion de un sistema de primer orden, es importante tener en cuenta la nocion de velocidadescaracterısticas y modos caracterısticos de propagacion. Estos permiten enetnder si un problema de valores inicialeses bien planteado o no, ademas de la utilidad que tienen para imponer condiciones de frontera correctamente.

En este manuscrito se ha presentado tanto la manera mas simple de resolver la ecuacion de onda usando diferencias

17

finitas, como la mas completa que involucra el analisis caracterıstico.

Acknowledgments

Al autor agradece q Jesus M. Rueda y a Fabio D. Lora por haber hecho observaciones importantes que mejoraron eltexto. Este trabajo recibe apoyo parcial de los proyectos CIC-UMSNH-4.9, PROMEP UMICH-CA-22 y CONACyT79995.

[1] http://www.ifm.umich.mx/guzman/Grupo/grupo.html[2] M. Alcubierre, Introduction to 3+1 Numerical Relativity, Oxford University Press, 2008.[3] R. Becerril, F. S. Guzman, A. Rendon-Romero, S. Valdez-Alvarado, Rev. Mex. Fis. E 54 (2008) 120-132.[4] E. F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer 1999.[5] J. W. Thomas, Numerical Partial Differential Equations, Texts in Applied Mathematics. Springer, 1995.[6] B. Gustafsson, H-O. Kreiss, J. Oliger, Time Dependent Problems and Difference Methods. Wiley-Interscience, 1996.[7] R. J. LeVeque, in Numerical methods for conservation laws. Birkhauser, Basel (1992).[8] W. H. Press, S. A. Teukolsky, W. T. Watterling and B. P. Flannery, Numerical Recipes in Fortran. Cambridge University

Press, 1992.[9] C. W. Gear, Numerical Initial Value Problems in Ordinary Differential Equations, Prentice-Hall, EUA, 1971.

V. APENDICE A

Aquı se presenta una prueba de estabilidad para el esquema de discretizacion (13) y las restricciones del factorCFL.

En esta prueba se estudia el crecimiento del error con el tiempo. Ası a t = 0 en x ∈ [0, N∆x] se considera queel error en cada punto del dominio espacial es ej = e(j∆x). Debido a que la aproximacion en diferencias finitas(13) es lineal bastara con calcular la propagacion del error para un solo j. Se propone la expresion para el error conpropagacion exponencial del error al tiempo inicial como

enj = eiµj∆xeνkn = eiµj∆xξn (36)

donde para t = 0 se tiene ej = eiµj∆x. Se propone ξ = eνk y ν ∈ C, lo que permite que si ν es imaginario el errorsolamente oscilara en el tiempo, pero no crecera, y por el contrario, si ν es real positivo el esquema el error creceraexponencialmente. El criterio de estabilidad se reduce a pedir que |ξ| ≤ 1 para un esquema estable. De (13) se tieneque el error satisface la misma ecuacion que φ, por lo que es util introducir la expresion (36) en (13):

en+1j − 2en

j + en−1j = ρ2(en

j+1 − 2enj + en

j−1) ⇒

eiµj∆xξn

(

ξ − 2 +1

ξ= ρ2(eiν∆x − 2 + e−iν∆x)

)

ξ2 − 2ξA+ 1 = 0 (37)

donde ρ = ∆t/∆x y A = 1−2ρ2 sin2(ν∆x/2). Las raıces de dicha ecuacion son: ξ+ = A+√A2 − 1 y ξ− = A−

√A2 − 1.

Ahora, A ≤ 1 porque para todo valor de ν se cumple 1 − 2ρ2 sin2(ν∆x/2) ≤ 1. Se tienen pues dos casos i) |A| ≤ 1,lo que implica que |ξ+| = |ξ−| = 1, y basta para inidicar que el esquema es estable, y ii) A < −1, lo que implica que|ξ−| > 1, lo cual basta para que el esquema sea inestable.

Entonces hay solamente una condicion que se debe cumplir para que el esquema sea estable, |A| ≤ 1, o sea−1 ≤ 1− 2ρ2 sin2(ν∆x/2) ≤ 1, siendo la primera desigualdad la unica que implica una restriccion sobre el valor en ρ,a saber, para que el esquema se estable es necesario que ρ2 ≤ 1.

Finalmente, retomando la notacion de la discretizacion se tiene que el factor CFL esta sometido a la restriccion∆t/∆x ≤ 1. El lector puede usar el codigo para resolver la ecuacion de onda con distintos valores del factor CFL yverificar en la practica esta condicion de estabilidad.


Recommended