You are on page 1of 17

Soluci

on de la ecuaci
on de onda como un problema de valores iniciales usando
diferencias finitas
F. S. Guzm
an1
1

Instituto de Fsica y Matem


aticas, Universidad Michoacana de San Nicol
as de Hidalgo. Edificio C-3,
Cd. Universitaria, 58040 Morelia, Michoac
an, Mexico.
(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 introducci
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
caractersticas del sistema y se imponen condiciones de frontera en terminos de las variables caractersticas. En este caso se adopta el metodo de lneas como esquema de evoluci
on. Adem
as se hace
especial enfasis en que los resultados numericos necesitan un criterio de validez. En el caso de la
aproximaci
on con diferencias finitas de una ecuaci
on diferencial parcial se presenta la convergencia a
una soluci
on correcta en el lmite continuo. Finalmente, se espera que este manuscrito sirva de gua
para la correcta soluci
on de problemas de valores iniciales con condiciones de frontera en general.
PACS numbers:

En este trabajo se presenta la solucion de la ecuaci


on de onda como la solucion de un problema de valores iniciales
con condiciones de frontera usando una aproximacion en diferencias finitas. Se consider dicho caso como el ejemplo
emblematico de la solucion 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 artculo y despues sera simple aplicar las ideas aprendidas
en problemas mas complicados relacionados con la solucion de ecuaciones diferenciales parciales (EDP) asociadas con
problemas de valores iniciales.
Hay distintos tipos de metodos numericos usados para resolver sistemas de EDPs, por ejemplo la aproximacion de
los metodos 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 mas simple de ecuaciones para
los coeficientes de la expansi
on.
En el presente caso se utiliza una aproximacion distinta, basada en la discretizacion del dominio en el que se define
el sistema de EDPs, conocida como aproximacion en diferencias finitas. Ademas de presentar esta herramienta se
muestra el tipo de pruebas que debe cumplir la solucion numerica de EDPs. El caso de la ecuaci
on de onda se estudia
de dos maneras, i) la primera utilizando una discretizacion simple que usa tres niveles temporales, con la cual se
ilustra el funcionamiento de la aproximacion 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 solucion se construye
utilizando el metodo de lneas con dos niveles temporales. Este segundo caso ademas se resuelve para sistemas de
coordenadas espacio-temporales generales, se estudia la hiperbolicidad del sistema de ecuaciones de primer orden, se
construyen las variables caractersticas y las velocidades caractersticas de las variables involucradas y se imponen
condiciones de frontera usando las variables caractersticas. 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 fsica teorica actual, como es el caso
de la solucion de Ecuaciones Diferenciales Parciales de la relatividad numerica [2], la ecuaci
on de Schrodinger asociada
a condensados de Bose en la aproximacion de campo medio o gases atomcios [3], parcialmente los problemas asociados
con la evoluci
on de fluidos que obedecen las ecuaciones de Euler [4], entre otros tambien de gran importancia.
En la secci
on I se describen los metodos numericos relacionados con la aplicacion de las diferencias finitas a las
EDPs. En la secci
on II se ejemplifica el funcionamiento de la aproximacion en diferencias finitas con la ecuaci
on de
onda y una discretizacion simple. En la 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.

2
I.
A.

A LAS DIFERENCIAS FINITAS


INTRODUCCION

Ingredientes de la aproximaci
on discreta de EDPs en el continuo

Primer ingrediente. La aproximacion en diferencias finitas de una ecuaci


on diferencial parcial (EDP) consiste en
definir las funciones y variables involucradas en un conjunto discreto de puntos del dominio donde se busca una
solucion de la ecuaci
on.
Con el fin de ilustrar este concepto, sup
ongase que una EDP que involucra la funci
on f est
a definida en un dominio
que tiene dos coordenadas t y x (v. gr.: el tiempo y una coordenad espacial). Una manera de discretizar la ED
consiste en considerar que las variables y funciones de la ED est
an definidas en en conjunto de puntos tanto en el
espacio xj = jx como en el tiempo tn = nt, donde j y n son enteros que etiquetan los puntos donde estar
a definida
la ecuaci
on. As, la funci
on f queda definida solamente en los puntos del dominio (tn , xj ) y denotamos dichos valores
de la funci
on por fjn . Se considera ademas que j = 0, 1, ..., N y n = 0, 1, ..., Nt. Limitar los valores de las etiquetas j y
n ilustra el hecho de que se ha elegido un dominio finito para calcular la solucion. La raz
on principal es que si a cada
elemento de la malla se asigna un valor de cada variable independiente y de cada funci
on involucrada en la EDP, es
necesario ajustar la memoria de la computadora, que es finita. Naturalmente los valores x0 y xN corresponden a los
valores que delimitan el dominio de x y de manera analoga los valores t0 y tN t delimitan el dominio de t.
Este prodecimiento de discretizacion define una malla en el dominio, en cuyos nodos quedan definidas las funciones
involucradas en la EDP. La malla mas elemental es aquella cuyos nodos se encuentran igualmente espaciados, cuya
gr
afica se muestra en la Figura 1. En este manuscrito se considera solamente el caso en que la discretizacion es
uniforme.
Punto del
dominio
discreto

Fronteras

Fronteras

Datos
iniciales

Datos
iniciales

t=0
x
Dominio espacial

1010 10101010 1010 1010 1010 1010


000000000000000
111111111111111
10 1010 10 10 10 10
10 1010 10 10 10 10
111111111111111
000000000000000
1010 10101010 1010 1010 1010 1010
10 1010 10 10 10 10
1010 1010 10 10 10 10 t
111111111111111
000000000000000
1010 101010101010 101010 101010 101010 101010
111111111111111
000000000000000
10 1010 10 10 10 10
10 1010 10 10 10 10
111111111111111
000000000000000
1010 10101010 1010 1010 1010 1010
111111111111111
000000000000000
111111111111111
000000000000000
1010 1010 10 10 10 10
111111111111111
000000000000000
10 10101010 1010 1010 1010 1010
1010 10101010 1010 1010 1010 1010 t=0
x

Dominio espacial

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

El criterio para determinar una discretizacion queda al arbitrio de quien resuelve un problema, o de las propiedades
de la ecuaci
on diferencial que se desea resolver. Para la discretizacion uniformemente espaciada en nuestro caso, se
definen 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 ecuaci
on diferencial,
es decir, los operadores diferenciales que aparecen en dicha ecuaci
on usando solamente los valores de las funciones
involucradas que estan definidos en la malla. Una condicion que se demanda es que dichas funciones sean analticas, lo
cual implica que las funciones involucradas tienen definida una expansi
on en serie de Taylor, lo cual a su vez permite
construir aproximaciones de los operadores diferenciales.
Derivada de primer orden. Sea fjn una funci
on como la definida antes con n fijo, entonces es posible calcular valores
aproximados de la funci
on en los puntos adyacentes a partir de expansiones en serie de Taylor a segundo orden de f
en torno a fjn :

f (xj1 ) = f (xj ) xf (xj ) +

x2
f (xj ) + O(x3 )
2

f (xj ) = f (xj )

(1)

x2
f (xj+1 ) = f (xj ) + xf (xj ) +
f (xj ) + O(x3 )
2
donde la prima denota derivada con respecto a x. A partir de estas aproximaciones es posible construir diferentes
operadores diferenciales para las derivadas de fjn . Por ejemplo, sumando la primera y la tercera expresiones, y
dividiendo 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 (xj1 )
+ O(x2 ).
2x

(2)

n
n
Conviene observar que para calcular esta aproximacion es necesario conocer los valores fi+1
y fi1
, por lo que esta
aproximacion se llama centrada. Un comentario adicional es justo aqu: la expresion (2) es la definicion de derivada
en c
alculo de una variable en el lmite cuando x 0.
Es posible calcular la derivada de primer orden usando aproximaciones no centradas, desbalanceadas, usualmente
llamadas upwind. Para tal efecto basta considerar las expansiones sigueintes

f (xj ) = f (xj )
x2
f (xj ) + O(x3 )
2
4x2
f (xj+2 ) = f (xj ) + 2xf (xj ) +
f (xj ) + O(x3 )
2

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

(3)

donde ahora se ha hecho la expansi


on hasta dos puntos a la derecha de xj . Una combinaci
on que cancela los terminos
que 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 )


+ O(x2 ).
2x

(4)

De manera analoga, la construcci


on de la aproximacion de la derivada que usa solamente puntos a la izquierda de xj
es la siguiente:
f (xj ) =

f (xj2 ) 4f (xj1 ) + 3f (xj )


+ O(x2 ).
2x

(5)

Para calcular operadores con un orden de aproximacion mayor basta con generalizar el procedimeinto ilustrado
anteriormente. Supongase que se desea calcular la derivada de primer orden con un error de cuarto orden, entonces
basta con considerar el siguiente conjunto de aproximaciones
4x2
8x3
16x4
f (xj )
f (xj ) +
f (xj ) + O(x5 ),
2
6
24
x3
x4
x2
f (xj )
f (xj ) +
f (xj ) + O(x5 ),
f (xj ) xf (xj ) +
2
6
24
f (xj )
x3
x4
x2
f (xj ) +
f (xj ) +
f (xj ) + O(x5 ),
f (xj ) + xf (xj ) +
2
6
24
4x2
8x3
16x4
f (xj ) + 2xf (xj ) +
f (xj ) +
f (xj ) +
f (xj ) + O(x5 ).
2
6
24

f (xj2 ) = f (xj ) 2xf (xj ) +


f (xj1 ) =
f (xj ) =
f (xj+1 ) =
f (xj+2 ) =

Para calcular una aproximacion a la primera derivada de f en xj es necesario encontrar la combinaci


on correcta
del tipo af (xj2 ) + bf (xj1 ) + cf (xj ) + df (xj+1 ) + ef (xj+2 ) tal que elimine f (xj ) y las derivadas de segundo orden
y superiores. En el caso centrado la expresion es la siguiente

f (xj ) =

1
[f (xj2 ) 8f (xj1 ) + 8f (xj+1 ) f (xj+2 )],
12x

(6)

y para combinaciones desbalanceadas se sugiere revisar la Tabla I.


on respecto a
Derivada de segundo orden. Para obtener una aproximacion de las segundas derivadas de una funci
x en xj , se procede nuevamente mediante la b
usqueda de una combinaci
on de las expansiones en serie de Taylor en
distintos puntos vecinos de xj , pero en esta ocasion buscando que los terminos de orden cero, orden uno, tercero
y superiores se cancelen. Procediendo de dicha manera, la derivada de segundo orden con una aproximacion de
segundo orden puede estimarse a partir de las expresiones (1) desarrolladas hasta orden O(x4 ), con la combinaci
on
f (xj+1 ) 2f (xj ) + f (xj1 ) dividida por x2 implica
f (xj ) =

f (xj+1 ) 2f (xj ) + f (xj1 )


+ O(x2 ),
x2

(7)

que resulta ser una aproximacion centrada. As pues, el algoritmo para construir aproximaciones en diferencias finitas
de operadores diferenciales es el siguiente:
i) Hacer la expansi
on en serie de Taylor en puntos cercanos a aquel donde se quiere evaluar la derivada de f .
ii) Encontrar una combinaci
on de las expansiones escritas tal que se cancelan las derivadas de orden superior e
inferior a la derivada del orden deseado.
Una vez conocido el procedimiento para calcular aproximaciones de derivadas de funciones, basta con mencionar los
coeficientes de las combinaciones lineales necesarias para calcular los operadores diferenciales de primero y segundo
orden, centrados y desbalanceados con distintos ordenes de precisi
on. En la Tabla I se muestran los coeficientes de las
funciones evaluadas en los distintos puntos vecinos a xj en las expresiones para el c
alculo de las derivadas de primer
orden con precisi
on de segundo orden y los coeficientes cuando la precisi
on es de cuarto orden. En la Tabla II aquellos
coeficientes para las derivadas de segundo orden.

Segundo orden

Cuarto orden

xj4 xj3 xj2 xj1 xj xj+1 xj+2 xj+3 xj+4


1
0 -1
1
-4 3
-3 4
-1
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 seg


un el orden de precisi
on de la aproximaci
on, para las derivadas de primer orden.
1
1
[...] + O(x2 ) y f = 12x
[...] + O(x4 ) para las
Las aproximaciones con segundo orden de precisi
on significan f = 2x
aproximaciones con cuarto orden de precisi
on. Las expresiones (2), (4), (5) y (6) ilustran el uso de esta tabla.

Los desarrollos hasta el momento en este captulo ilustran las aproximaciones en diferencias finitas de los ingredientes
de una EDP. El hecho de haber elegido un dominio espaciotempral, permite considerar directamente la discretizacion
de la ecuaci
on de onda:
tt xx = 0,

(8)

donde se ha elegido la notaci


on con la que un subndice indica una derivada con respecto a la variable representada con
el ndice. Originalmente puede tenerse la ecuaci
on tt v 2 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 ecuaci
on resultante
sea (8). Para construir la aproximacion en diferencias finitas (DF) de (8) bastara con escribir la aproximacion de
derivadas de segundo orden. El u
nico obstaculo es la aproximacion de la derivada tempral; esta dificultad se resuelve
intercambiando xj por tn en las expresiones y tablas anteriores, que corresponde a escoger una variable independiente
mas. El resultado es el siguiente cuando se usan operadores con aproximacion de sugundo orden:

Segundo orden

Cuarto orden

xj5 xj4 xj3 xj2 xj1 xj


1 -2
-1
4
-5 2
2
-10 61 -156 214 -154 45
1
-6
14
-4 -15
-1
16 -30
10 -15
45

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


1
-5

-1

10
16
-1
-4
14
-6
-154 214 -156

1
61

-10

TABLE II: Coeficientes en las expansiones seg


un el orden de precisi
on de la aproximaci
on, para las derivadas de segundo orden.
2
1
Las aproximaciones con segundo orden de precisi
on son del tipo f = x
2 [...] + O(x ), mientras que las aproximaciones de
4

1
on (7) ejemplifica el uso de esta tabla.
cuarto orden de precisi
on van como f = 12x2 [...] + O(x ). La expresi

n+1
2nj + jn1
nj+1 2nj + nj1
j

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

(9)

para todo j = 0, 1, ..., N y n = 0, 1, ..., Nt . En este punto es preciso notar que la aproximacion con diferencias finitas
ha introducido un error, es decir, el lado derecho de la ecuaci
on no es necesariamente cero, sino que es del orden
O(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 necesario
tener en mente que la aproximacion en DF provee de una versi
on aproximada de la ecuaci
on en el continuo y que la
ecuaci
on que se resolver
a en adelante es solamente una aproximaci
on de la original, es decir, la que es definida en el
dominio continuo. Es preciso entonces establecer criterios que indiquen que cuando se resuelve la versi
on discreta de
una EDP, al menos en el lmite continuo se est
a calculando la solucion correcta.
B.

Convergencia

Hemos mostrado que las aproximaciones de los operadores diferenciales son solamente una aproximacion con un
error asociado de cierto orden (segundo y cuarto orden en los ejemplos mostrados en las tablas I y II). Es de
esperar que cuanto mayor sea la resolucion con que se construya la malla, cuanto menor sera el error con que se
estan aproximando los operadores diferenciales y por tanto la aproximacion en diferencias finitas de una ecuaci
on
diferencial es mas precisa. Sin embargo, es de gran importancia determinar el ritmo al cual converge una solucion
a una solucion exacta conocida de la ecuaci
on, o una solucion numerica en el lmite continuo de una ecuaci
on cuya
solucion es desconocida.
La convergencia es la noci
on que relaciona el ritmo al cual decrece el error en terminos del orden de aproximacion
en diferencias finitas de los operadores en una ecuaci
on diferencial. Es decir, no basta con saber que si la resolucion
aumenta el error disminuye, sino que es necesario saber si el error decrece al ritmo esperado en terminos de la
resolucion.
Para ilustrar el concepto de convergencia en diferencias finitas considerese una funci
on fl que es solucion numerica
de una EDP a un tiempo dado, y que ha sido construida bajo la discretizacion de dicha ecuaci
on con una aproximacion
de segundo orden. Suponinendo ademas que se conoce la solucion exacta f0 (x), el resultado numerico puede escribirse
en la forma f (x) = f0 (x) + E(x)(x2 ) + O(x3 ), donde E denota un coeficiente del error, que ha de ser de segundo
orden. Dado que se conoce la solucion exacta, es posible conocer el error con que se calcula la solucion numerica
usando distintos valores de x. Sean f1 y f2 dos soluciones numericas calculadas usando las resoluciones x y x/2
respectivamente. La raz
on entre los errores es la siguiente:
f1 f0
x2 + O(x3 )
= 1
= 4 + O(x3 ).
2
3
f2 f0
4 x + O(x )

(10)

En este caso se ha supuesto que la funci


on f depende solamente de la variable x. El n
umero cuatro en (10) se llama
factor de convergencia y debe ser evaluado en cada punto de la malla donde se ha calculado la funci
on f . Cuando en
un c
alculo 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 teora en (10).
De manera analoga, es posible mostrar que si la aproximaci
on es de cuarto orden, el factor sera 16.
Por ejemplo, para la ecuaci
on de onda (9) la solucion exacta es conocida, y bastara calcular la solucion numerica
con dos resoluciones distintas para determinar si los algoritmos utilizados producen una solucion que converge correctamente. Podra parecer que lo mencionado en estos p
arrafos es elemental, pero el siguiente ejemplo ilustra la
inportancia del factor de convergencia: sop
ongase que se discretiza el dominio x [0, 1] con la opcion (i) x = 0.1
y con x = 0.05 para estudiar el factor de convergencia en el caso de una ED elemental, es muy probable que la
solucion 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 c
alculos en la opcion (ii) han sido ejecutados en el
regimen de convergencia, mientras la opci
on (i) no aporta condiciones para que se obtenga la convergencia deseada.
Regularmente los c
alculos que no convergen con el orden deseado se desechan (o debieran desecharse), mientras que
aquellos realizados en el regimen de convergencia son aceptables. Este ejemplo ilustra claramente el hecho de que no
toda soluci
on numerica realizada con la aproximaci
on de DF es aceptable, y que ning
un c
alculo 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 c
alculos numericos resultado de usar tres distintas resoluciones (no dos como en el caso anterior). Si ademas de
f1 y f2 definidas antes se calcula la solucion f3 de la EDP con resolucion x/4 se puede calcular la raz
on siguiente:
f1 f2
=
f2 f3
=

x2 41 x2 + O(x3 )
1
1
2
2
3
4 x 16 x + O(x )

x2 + O(x3 )
= 4 + O(x3 ),
+ O(x3 )

1
2
4 x

(11)

donde una vez mas el resultado se llama factor de convergencia, y una vez mas resulta ser cuatro cuando la aproximaci
on de la EDP es de segundo orden. De igual modo, si la aproximacion fuera de cuarto orden el factor sera 16 en
lugar de 4.
Finalmente, es u
til saber que si cuando el factor de convergencia es menor que cuatro, es necesario aceptar varias
posibilidades: (a) hay un error en la implementacion del programa, (b) los algoritmos no permiten la convergencia en
el rango x elegido, es decir, no se han hecho los c
alculos en el regimen de convergencia.
II.

DE ONDA CON UNA DISCRETIZACION


SIMPLE
LA ECUACION

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 soluci


on global la evoluci
on de datos iniciales es necesario
proveer dichos datos iniciales. En el caso de la ecuaci
on de onda, la solucion numerica mas simple constiste en
evolucionar los datos iniciales usando la ecuaci
on (9). De hecho, dados los valores de la funci
on de onda en toda la
malla al tiempo n, es posible construir los valores de al tiempo n + 1. Para conseguirlo basta con resolver n+1
en
j
(9), lo cual implica:

n+1
j

t
x

2

[nj+1 2nj + nj1 ] + 2nj jn1 + O(x2 , t2 ),

(13)

que permite conocer los valores de la funci


on de onda para todos los puntos de la malla al tiempo n + 1, excepto
aquellos que estan en los bordes x0 = 1 y xN = +1, debido a que la molecula de este algoritmo requiere los valores
de un punto a la derecha y otro a la izquierda para todo xj en la malla. Para ilustrarlo, en la Figura 2 se muestra
el elemento contenido en la expresion (13), llamado molecula del algoritmo de evoluci
on. En tal diagrama aparece
como un crculo negro la posicion del dominio discreto (tn+1 , xj ) que se puede calcular en terminos de los valores de
en las posiciones inidicadas con crculos blancos. Ademas, esta figura ilustra la necesidad de conocer el valor de la

j,n+1
11
00
00
11
00
11

j1,n

j,n

j+1,n

j,n1
FIG. 2: Molecula correspondiente a la construcci
on de datos al tiempo tn+1 a partir de datos en los tiempos tn y tn1 seg
un
la ecuaci
on (13).

funci
on de onda en todos los puntos del espacio para tn y tn1 , y en especial los valores de la funci
on en las posiciones
n
(t , x1 ) y (tn , xN ) que no est
an definidos cuando el punto negro se localiza en (tn+1 , x0 ) y (tn+1 , xN ).
Afortunadamente los valores n+1
y n+1
on de frontera de igual
0
N +1 pueden ser calculados imponiendo una condici
modo que se hizo para la construcci
on de la solucion exacta.
Finalmente, la expresion (13) permite la evoluci
on de valores de la funci
on de onda en tiempos previos a tn+1 , y
ademas indica que para iniciar la evoluci
on es necesario conocer los valores de la funci
on en dos tiempos previos. En
este 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 la
solucion que se est
a calculando. Es evidente de dicha expresion que un valor del factor t/x mayor que uno
implicara que la amplitud de la funci
on de onda en cada punto crecera al tiempo tn+1 con respecto al valor que
n
tena en el tiempo t . Al factor t/x se le conoce como factor de Courant Friedrichs Lewy (CFL). Para que la
discretizacion (13) sea estable es necesario que el factor CFL sea menor que 1 (ver el apendice para una demostracion
de esta condicion).
on de segundo orden es necesario proveer el valor inicial de
Datos iniciales. Cuando se trata de resolver una ecuaci
la funci
on y de su primera derivada temporal. De manera equivalente, basta con proveer el valor inicial de la funci
on
en dos niveles de tiempo. En el caso de la ecuaci
on de onda cuya evoluci
on est
a dictada por (13), dado que son
necesarios los datos en dos niveles de tiempo antes de proceder a llevar a cabo la evoluci
on, diremos que los datos
iniciales estar
an definidos en los niveles de tiempo t0 y un hipotetico t1 , con el fin de que se obtenga en el primer
paso de tiempo el valor de en el tiempo t1 .
Especficamente se elige aqu un perfil gaussiano en t = t0 = 0, y dado que se conoce la solucion exacta de la
ecuaci
on de onda, se tiene que
2

0j = Aexj /
2
2
2
2
1
1
1
= Ae(xj +t) / + Ae(xj t) /
j
2
2

(14)

para j = 0, 1, ...N .
Condici
ones 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 topologa del dominio espacial pasa de ser un trozo de la recta real
en la circunferencia S 1 , de permetro xN x0 . En la Figura 3 se ilustra esta transformaci
on cuando se ha considerado
el dominio discreto.
Condicion de onda saliente. Se trata de una condicion que se impone para modelar fronteras abiertas que permiten
el flujo hacia fuera de las soluciones pero no hacia dentro. En el caso de la ecuaci
on de onda, se sabe que la solucion
general presenta una solucion general del tipo (t, x) = f (x + t) + g(x t) para f y g arbitrarias, cada una de las
cuales corresponde al desplazamiento hacia la izquierda y a la derecha respectivamente de los pulsos iniciales. Tales
funciones f, g son soluciones de las ecuaciones
(t x ) = 0
(t + x ) = 0

(15)
(16)

11
00
00
11
00
11
0

N2

11
00
00
11
00
11
1

N2

N1

11
00
00
11
11
00
00
11
N1
N

2
1

FIG. 3: Identificaci
on del dominio espacial que es parte de la recta real con una circunferencia. El mecanismo consiste en
n
igualar los valores de en ambos extremos del dominio n
0 = Nx para todo n.

respectivamente. As pues, la condicion de onda saliente en el caso de la ecuaci


on de onda se reduce a imponer en
el borde izquierdo x0 = 1 la relaci
on (15) y en el borde derecho xN = +1 la condicion (16). Es importante para
imponer la condicion del borde izquierdo solamente se cuenta con valores de la funci
on de onda en puntos vecinos
hacia la derecha, y de manera analoga, para imponer la condicion en el borde derecho solo se cuenta con valores de la
funci
on de onda en puntos vecinos hacia la izquierda. Por tanto, esta condicion de frontera ilustra la utilidad de las
aproximaciones en diferencias de derivadas que consideran puntos de un solo lado. Por ejemplo, la aproximacion en
DF de (15) y (16), utilizando las expresiones (4) y (5) son respectivamente:
n+1
+ 4n+1
3n+1
0n1 4n0 + 3n+1
2
1
0
0

= O(x2 , t2 ),
2t
2x
n+1
n1
n+1 4n+1
N
4nN + 3n+1
N 1 + 3N
N
+ N 2
= O(x2 , t2 )
2t
2x
donde ademas se ha usado la discretizacion para la derivada temporal que solamente utiliza valores de 0 y N a
los tiempos tn y tn1 . Las moleculas involcradas en estas aproximaciones aparecen en la Figura 4. La informacion
conocida en estas expresiones es la siguiente: todos los valores de en los tiempos tn y tn1 , y los puntos internos de la
malla al tiempo tn+1 que ya han sido calculados a traves de (13), de modo que los valores inc
ognita son aquellos valores
de marcados con puntos negros en la Figura 4. Afortunadaamente es posible resolver las expresiones anteriores para
estos valores desconocidos de la funci
on de onda, lo que da como resultado:

n+1
=
0
n+1
=
N

n+1
t
x (2
n+1
t
x (N 2

+ 4n+1
) + 4n0 0n1
1
,
t
)
3(1 + x
n1
n
+ 4n+1
N 1 ) + 4N N

3(1 +

t
x )

(17)
.

(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 cada
punto del dominio espacial como
ej = num
ex
j
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 de
condiciones de frontera de onda saliente. Para saber si los c
alculos convergen a la solucion exacta, basta con aprovechar
el hecho de que en el lmite continuo (o de resolucion infinita) el error es cero. Entonces se usa la expresion (10) y se
ejecuta el c
odigo con dos resoluciones distintas para mostrar la convergencia de segundo orden del error a cero.

9
0,n+1
11
00
00
11
00
11

1,n+1

2,n+1

N2,n+1

N1,n+1

N,n+1
11
00
00
11
00
11

0,n

N,n

0,n1

N,n1

FIG. 4: Moleculas de la versi


on discreta de las condiciones de frontera de onda saliente (15,16). Al igual que antes, se desea
calcular la funci
on de onda en los puntos negros y los puntos blancos son los datos necesarios para conseguirlo.

Condiciones peridicas

0.5

0.5

0
0.5

Fronteras abiertas

1
1.5

0.5
2
2.5
3 1

0.5

0.5

1
1.5 1

0.5

0.5

FIG. 5: Soluci
on numerica de la ecuaci
on de onda que usa la discretizaci
on (13). En el lado izquierdo se muestra el caso que
usa condiciones peri
odicas, y es evidente que la se
nal que sale de un lado del dominio entra por el otro ad infinitum. En el lado
derecho se muestra el resultado de aplicar las condiciones de frontera de onda saliente (15,16), y es de notar que la se
nal sale
por las fronteras al tiempo t 1, que corresponde al caso de que la onda viaja a velocidad 1.

El estudio del error de un c


alculo numerico para varios tiempos es exhaustivo y parece poco practico. Es por tal
raz
on que es practica com
un estudiar alguna funci
on escalar del error y estimar la convergencia de esta. Ejemplos de
tales funciones son:
i) El error en alg
un punto particular del dominio espacial, por ejemplo en las fronteras o en el maximo de la
distribuci
on gaussiana.
P
ii) La norma L1 (e) del error, definida como L1 (e) = N
j=0 |ej |.
qP
N
2
iii) La norma L2 (e) del error, definida como L2 (e) =
j=0 ej .

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 esta
funci
on escalar tiene convergencia de segundo orden a cero.
El monitoreo de la precisi
on a traves de funciones escalares del error es un procedimiento muy eficiente, pues permite
determinar si las ejecuciones y la implementacion de los programas es correcta, sin necesidad de revisar directamente
las soluciones numericas en cada paso de tiempo.
III.

DE ONDA COMO SISTEMA DE PRIMER ORDEN


LA ECUACION

En este captulo se resuelve la ecuaci


on de onda para ilustrar la solucion de problemas en el espacio-tiempo plano
en coordenadas arbitrarias. Ademas, se muestra la soluci
on de una EDP hiperb
olica de manera completa y la serie
de ingredientes necesarios para la solucion de un problema de valores iniciales con condiciones de frontera.

10

0.0003
t=0.025

t=0.25

t=0.5

0.0002
0.0001
0
-0.0001
-0.0002
-0.0003
0.0003

t=0.75

t=1.0

t=1.25

0.0002
0.0001
0
-0.0001
-0.0002
-0.0003

-1

1-1

1-1

FIG. 6: Error para distintos valores del tiempo de la soluci


on para datos iniciales de perfil gaussiano simetricos en el tiempo
con condiciones de frontera de onda saliente y dos resoluciones distintas x = 0.002 y x = 0.001. El error de la soluci
on con
menor resoluci
on ha sido dividido por 4 con el fin de mostrar la convergencia de segundo del error con segundo orden.

0.0001

0.00016

9e-05

x=0.002
x=0.001
x=0.001 multiplicado por 4

8e-05

0.00014
x=0.002
x=0.001
x=0.001 multiplicado por 4

0.00012

7e-05
0.0001

L2(e)

L1(e)

6e-05
5e-05
4e-05

8e-05
6e-05

3e-05
4e-05
2e-05
2e-05

1e-05
0

0
0

0.5

1.5

2.5

0.5

1.5

2.5

FIG. 7: Normas L1 y L2 del error como funci


on del tiempo para las simulaciones mostradas en la figura anterior. La lnea
continua indica la norma del error cuando se usa resoluci
on x = 0.002, la discontinua corresponde a la resoluci
on x = 0.001
y los puntos son una muestra de la norma calculadoa con resoluci
on x = 0.001 multiplicada por 4. De ah que a convergencia
de estas normas del error a cero es de segundo orden.

La ecuaci
on de onda est
a definida en el espacio de Minkowski en 1+1 dimensiones, cuyo elemento de lnea es
ds2 = dt2 + d
x2 . Aplicando la tranformacion general de coordenadas dt = dt y dx = d
x dt, donde juega el
papel de etiqueta entre los valores del tiempo considerados y es una velocidad a la que se desplaza la coordenada
x. La metrica resultante en forma matricial es la siguiente:

g =
g

(2 + 2 )

1/2
/2
/2 (1 2 /2 )

(20)
!

(21)

11
donde > 0 es la funci
on lapso y es la u
nica componente del shift, adema
s , = t, x. En general el operador
DAlambertiano para un espacio-tiempo dado esta definido por 2 = 1g [ gg ] = 0 donde g = det(g ).

on de onda en su forma general se escribe


De (20) se tiene que g = . Entonces la ecuaci
0 = 2

1
= [ gg ]
g
1
1
= t [g t ] + x [g x ]

1
1
tt
= t [g t + g tx x ] + x [g xt t + g xx x ]

2
1
= t [ t + x ] + x [ t + (1 2 )x ].

(22)
Observese que cuando = 1 y = 0 se recupera la ecuaci
on de onda sencilla (8). Es deseable escribir un sistema de
EDPs que contengan derivadas solamente de primer orden. La raz
on es que se simplifica el estudio de las propiedades
del sistema de ecuaciones con la idea de construir una solucion global a partir de una evoluci
on de Cauchy, as que es
conveniente determinar la hiperbolicidad del sistema.
La expresion anterior sugiere la definci
on 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 ecuaci
on de onda en un
sistema de dos ecuaciones de primer orden para estas dos nuevas variables. La primera de estas ecuaciones es obvia
de (22):
t = x ( + ).

(23)

Si ahora se supone que es al menos de clase C 2 , la ecuaci


on para es t = x (t ) lo que implica
t = x ( + ).

(24)

Las ecuaciones (23-24) constituyen la versi


on de primer orden de la ecuaci
on de onda con la constriccion = x .
Esto recuerda que la funci
on inc
ognita original no aparece en el sistema de ecuaciones, pero puede reconstruirse a
partir 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),
x [1, 1], t > 0,

(1, t) = L (t), (1, t) = R (t).


(25)

con la constriccion x = .
A.

An
alisis caracterstico

Si se define el vector de estado u = (, )T , es posible escribir la ecuaci


on de onda (23-24) como
t u + Ax u = x (A)u,
donde

(26)

12

A=

(27)

Las direcciones caractersticas, o sea, las direcciones locales de propagacion de las se


nales en el plano xt se obtienen
de los valores propios de la matriz A , para lo cual se resuelve la ecuaci
on det(A I2 ) = 0 con = dx/dt, donde I2
es la matriz identidad 2 2. Los resultados son los siguientes
= .

(28)

Dado que los dos valores propios son distintos y reales, el sistema es estrctamente hiperb
olico [6], ademas los vectores
propios forman un sistema completo de vectores, lo que garantiza que se tiene un problema de valores iniciales bien
planteado [6]. En el caso = 0 y = 1 (la ecuaci
on de onda usual) se obtienen las velocidades caractersticas = 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 caractersticas de la solucion, es decir, aquellas curvas (rectas en este caso) a lo largo
de 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 por
tanto

P=

1 1
1 1

1
=
2

1 1
1 1

(29)

De aqu, A puede escribirse como A = PP1 con = diag(+ , ). Multiplicando la ecuaci


on (26) por P1 se
tiene
P1 t u + P1 Ax u = x (P1 A)u
t w + x w = x ()w,

(30)

donde
w = P1 u =

1
( , + )T = (R, L)T
2

(31)

son las variables caractersticas. De este modo, las dos ecuaciones (23) y (24) se desacoplan, y la dinamica del campo
escalar ha quedado descompuesta en un modo que se mueve a la derecha (R = 1/2( )) y otro que se mueve a
la izquierda (L = 1/2( + )). La ecuaci
on (31) desacopla entonces el sistema en un par de ecuaciones de adveccion
para las variables R y L.
B.

Datos iniciales

En la versi
on de primer orden de la ecuaci
on 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 de
enfocarnos en la evoluci
on de datos iniciales es posible elegir simplemente datos simetricos en el tiempo para un perfil
gaussiano:
2

(0, x) = Ae(xx0 ) /
(x x0 )
(0, x),
(0, x) = 2
2
(0, x) = 0.

(32)

Se sabe que la solucion de la ecuaci


on de onda es la superposicion de un pulso que se mueve a la derecha y otro
que se mueve a la izquierda ((t, x) = f (x + t) + g(x t)). Entonces la evoluci
on 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 los
datos iniciales (32) se tendra

(0, x) =

2
2
1 ([x+t]x0 )2 /2
1
Ae
|t=0 + Ae([xt]x0) / |t=0 ,
2
2

(33)

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

Evolucionando los datos iniciales

La evoluci
on de datos consiste en el c
alculo de la funci
on fjn+1 a partir de datos en los niveles de tiempo previos.
Para ilustrarlo considerese la ecuaci
on (23) con = 0 y = 1. En este caso particular la discretizacion en el punto
(tn , xj ) es
n
n
jn+1 jn
j+1
j1

t
2x
t
n
jn+1 = jn +
( n j1
),
2x j+1

(34)

donde se ha supuesto que t y x son peque


nos. Una expresion similar se encuentra para la evoluci
on de a partir
de (24). Para conocer el valor (tn+1 , xj ) es necesario conocer los valores de en los puntos vecinos (tn , xj+1 ),
(tn , xj1 ) y el valor de en (tn , xj ). Tal discretizacion se conoce como hacia delante en el tiempo y centrada en el
espacio (FTCS); la molecula usada para construir datos al tiempo n + 1 se muestra en la Figura 8. Se trata de una
discretizacion ilustrativa y f
acil de implementar, pero inestable. Este hecho muestra que la discretizacion por si sola
no 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 lneas
(MoL). En el concepto de MoL se supone que para cada j la EDP satisface una ecuaci
on diferencial ordinaria (EDO)
a lo largo de las lneas verticales en el plano xt seg
un se ilustra en la Figura 8. Con esta informacion en mente, basta
con escribir (34) en forma semidiscreta, o sea, se escribe la derivada respecto al tiempo como una operaci
on continua
y el resto de la ecuaci
on en su versi
on discreta, y despues integrar en el tiempo t . Entonces basta con un integrador
de EDOs para evolucionar datos de un tiempo al siguiente. Se elige dicho integrador en terminos de la precisi
on
deseada, la disipacion que introduce en los c
alculos y sus propiedades de estabilidad, lo que implica restricciones en
el valor del factor de Courant t/x (para aprender mas acerca de las propiedades y estabilidad de los algoritmos
de evoluci
on conviene revisar las referencias [5, 9]). Para obtener los resultados de este manuscrito se ha usado un
algoritmo Runge-Kutta de tercer orden. As pues, la funci
on f satisface una ecuaci
on del tipo t f = S, donde S es
la parte derecha de la ecuaci
on de evoluci
on para f y que puede incluir funciones y derivadas de funciones conocidas
en su versi
on discreta. Entonces el algoritmo para calcular f n+1 en terminos de valores de funciones en el tiempo
previos se resume as:
f = f n + tS n ,
3
1
t
f = f n + f +
S ,
4
4
4
1
2
2
f n+1 = f n + f + tS .
3
3
3
Este algoritmo es usado comunmente porque requiere de tres iteraciones solamente, es preciso y estable para valores
suficientemente peque
nos del factor de Courant.
D.

Condiciones de frontera

Como se puede ver de la ecuaci


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

14

j,n+1

j1,n

j+1,n

j,n

FIG. 8: Ilustraci
on de la molecula usada en la construcci
on de la soluci
on al tiempo n + 1. Los crculos llenos indican el punto
donde se desea calcular el valor de una variable, mientras que los vacos indican la posici
on de los puntos donde son conocidas
las funciones involucradas.

la ecuaci
on de onda se consideran nuevamente las periodicas y las de onda saliente. En el caso de las condiciones
periodicas se procede de manera analoga a la implenetada en el capulo anterior, es decir se cambia la topologa del
dominio finito a la de S 1 . Sin embargo, en el caso de las condiciones de onda saliente, el operador de onda general
usado aqu no se factoriza tan facilmente como se hizo en (15,16), pues ahora se trata de coordenadas generales. Sin
embargo, la descomposicion en modos derecho e izquierdo de la solucion permiten implementar de manera elegante
las condiciones de frontera.
La condicion en la frontera izquierda consiste en la eliminacion del modo que viaja hacia la derecha (R = 0), lo
que significa que no se permite la reflecci
on hacia dentro del dominio, y la condicion en la frontera derecha consiste
en eliminar el modo que viaja a la izquierda (L = 0). Explcitamente, en la frontera izquierda x0 se exige
1 n
( + 0n ) = L0
2 0
1 n
( 0n ) = R0 = 0,
2 0

(35)

n
n
cuya solucion es 0n = 0n = L. De modo equivalente, la condicion en la frontera derecha es N
= RN y N
= RN .
El problema se reduce a calcular L0 , R0 , LN y RN . Para conocer estos valores basta con hacer una extrapolaci
on
usando los puntos internos de la malla.

E.

Resultados

Fronteras abiertas con =1, =0

0.5

0.5

Fronteras abiertas con =1, =1

0.5

1
1.5 1

0.5

0.5

0.5

1 1

0.5

0.5

FIG. 9: Soluci
on de la ecuaci
on de onda para dos casos. (Izquierda) La ecuaci
on de onda usual; la gaussiana inicial se parte
en 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 ecuaci
on de onda con = 1, lo que implica que las coordenadas viajan a la velocidad de propagaci
on de uno de
los pulsos.

15
Con todos estos conceptos en mente: datos iniciales, un algoritmo de evoluci
on para las funciones de un tiempo al
siguiente, condiciones de frontera y un c
odigo que contiene todos estos ingredientes, es posible construir soluciones de
la ecuaci
on 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 de
la ecuaci
on de onda. De hecho, puede verse que la gaussiana inicial se divide en dos gaussianas peque
nas que llegan
a las fronteras al mismo tiempo (alrededor t 1). Sin embargo, en el segundo caso = 1, esto es, las coordenadas
se mueven hacia x > 0 a la velocidad de propagacion de la onda; entonces el sistema de coordenadas sigue a uno de
los pulsos, lo que en la figura se traduce en un pulso centrado permanentemente en x = 0; el otro pulso alcanza la
frontera 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 de
una funci
on escal
on 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 evoluci
on en la
region donde = 0.5 (x < 0) es mas lenta que en la region donde = 1 (x > 0). De hecho, en el primer caso al
pulso le toma un tiempo 2 para llegar a la frontera, mientras que en el segundo caso el pulso llega a la frontera
en un tiempo 1. Este tipo de comportamiento es muy u
til en escenarios de Relatividad General. Por ejemplo,
cuando se forma un hoyo negro debido al colapso de alg
un tipo de materia, lo que se encuentra es que los invariantes
geometricos cominezan a diverger en la regi
on de la singularidad, y por tanto una posibilidad para suavizar los efectos
de gradientes grandes de funciones consiste en elegir una condicion de foliacion que comprime la separacion temporal
entre un tiempo dado y el siguiente en la regi
on cercana al origen demandando que 0 en esta region, de modo
que la evoluci
on tiende a congelarse ah.

Fronteras abiertas con =(x), =0

1
0.5
0
0
0.5
1

1.5
2
2.5 1

0.5

0.5

FIG. 10: La ecuaci


on de onda para el caso = 0 y = 0.25 tanh(10x) + 0.75, que es una versi
on suave de una funci
on escal
on
que salta de 0.5 a 1.0. Puede observarse que en la regi
on donde = 0.5 (x < 0) la onda se propaga con baja velocidad en
estas coordenadas (el pulso tarda mas en llegar que el pulso en la otra mitad del dominio). Esto es as porque se ha usado una
foliaci
on con intervalo de tiempo 0.5dt de modo que los intervalos de tiempo en esa regi
on se encuentran mas cercanos uno al
otro, mientras que en la regi
on 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 coordenadas
viajan a la velocidad de la onda en las fronteras x = 1, porque en esos dos puntos = 1. Esto implica que las
se
nales nunca llegar
an a las fronteras numericas. El efecto es que los pulsos en estas coordenadas se comprimen
conforme se acercan a las fronteras. Por una parte esta es una ventaja, porque no es necesario imponer condiciones
de frontera (las se
nales nunca llegar
an a las fronteras), y por otra parte, los pulsos est
an siendo resueltos con cada vez
menos puntos del dominio espacial, lo que afecta la precisi
on de los c
alculos. En cualquier caso, este ejemplo ilustra
las 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, la
resolucion en todos los casos es uniforme. Esta condicion es suficiente para resolver los casos descritos, pero no
necesariamente lo es en casos mas generales. La raz
on es que cuando las ecuaciones involucran tres dimensiones
espaciales la memoria de la computadora se convierte en una limitante. Es entonces necesario optimizarla y hacer

16

Fronteras abiertas con =1, =x

1
0.5
0
0
0.5

1
1.5
0.5

2 1

0.5

FIG. 11: Soluci


on para el caso = x y = 1. Debido a que el valor del shift iguala al valor de la velocidad de propagaci
on de
la onda en las fronteras, las se
nales nunca llegar
an a las fronteras. Las gaussianas se comprimen conforme se aproximan a las
fronteras pues en esa regi
on el dominio fsico esta representado por una regi
on de tama
no menor al real.

0.003
t=0.025

t=0.5

t=1.0

0.002
0.001
0
-0.001
-0.002
-0.003
0.03

t=1.5

t=2.0

t=2.5

0.02
0.01
0
-0.01
-0.02
-0.03

-1

1-1

1-1

FIG. 12: Se presenta la autoconvergencia de la soluci


on para el caso en que = x y = 1. Para tal efecto se usa el resultado
(11). Para construir esta gr
afica se usan las resoluciones x1 = 0.002, x2 = 0.001 y x3 = 0.0005. La lnea continua
corresponde a la resta de soluci
on calculada con x1 y x2 , mientras que la muestra de puntos corresponde a la resta de las
soluciones calculadas con x2 y x3 multiplicada por 4. De los resultados se tiene que los resultados convergen hasta t 2, y
que a partir de entonces las dos curvas no se superponen, por lo que no se puede confiar en los resultados a partir de entonces
pues no convergen.

uso de algoritmos de refinamiento de mallas que permiten asignar memoria solamente en aquellas regiones donde los
gradientes de las funciones involucradas en las EDPs son grandes.
El elemento mas importante en los c
aculos numericos basados en la aproximacion en diferencias finitas es la convergencia a una solucion en el continuo. Sin un criterio de convergencia basta para desechar los resultados de cualquier
c
alculo.
Respecto a la solucion de un sistema de primer orden, es importante tener en cuenta la nocion de velocidades
caractersticas y modos caractersticos de propagacion. Estos permiten enetnder si un problema de valores iniciales
es 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 ecuaci
on de onda usando diferencias

17
finitas, como la mas completa que involucra el analisis caracterstico.
Acknowledgments

Al autor agradece q Jes


us M. Rueda y a Fabio D. Lora por haber hecho observaciones importantes que mejoraron el
texto. Este trabajo recibe apoyo parcial de los proyectos CIC-UMSNH-4.9, PROMEP UMICH-CA-22 y CONACyT
79995.

[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]

http://www.ifm.umich.mx/guzman/Grupo/grupo.html
M. Alcubierre, Introduction to 3+1 Numerical Relativity, Oxford University Press, 2008.
R. Becerril, F. S. Guzm
an, A. Rend
on-Romero, S. Valdez-Alvarado, Rev. Mex. Fis. E 54 (2008) 120-132.
E. F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer 1999.
J. W. Thomas, Numerical Partial Differential Equations, Texts in Applied Mathematics. Springer, 1995.
B. Gustafsson, H-O. Kreiss, J. Oliger, Time Dependent Problems and Difference Methods. Wiley-Interscience, 1996.
R. J. LeVeque, in Numerical methods for conservation laws. Birkhauser, Basel (1992).
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 factor
CFL.
En esta prueba se estudia el crecimiento del error con el tiempo. As a t = 0 en x [0, N x] se considera que
el error en cada punto del dominio espacial es ej = e(jx). 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 con
propagacion exponencial del error al tiempo inicial como
enj = eijx ekn = eijx n

(36)

donde para t = 0 se tiene ej = eijx . Se propone = ek y C, lo que permite que si es imaginario el error
solamente oscilara en el tiempo, pero no crecera, y por el contrario, si es real positivo el esquema el error crecera
exponencialmente. El criterio de estabilidad se reduce a pedir que || 1 para un esquema estable. De (13) se tiene
que el error satisface la misma ecuaci
on que , por lo que es u
til introducir la expresion (36) en (13):
en+1
2enj + ejn1 = 2 (enj+1 2enj + enj1 )
j


1
eijx n 2 + = 2 (eix 2 + eix )

2 2A + 1 = 0

(37)

donde = t/x y A = 122 sin2 (x/2). Las races de dicha ecuaci


on son: + = A+ A2 1 y = A A2 1.
2
2
Ahora, A 1 porque para todo valor de se cumple 1 2 sin (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 22 sin2 (x/2) 1, siendo la primera desigualdad la u
nica que implica una restriccion sobre el valor en ,
a saber, para que el esquema se estable es necesario que 2 1.
Finalmente, retomando la notaci
on de la discretizacion se tiene que el factor CFL est
a sometido a la restriccion
t/x 1. El lector puede usar el c
odigo para resolver la ecuaci
on de onda con distintos valores del factor CFL y
verificar en la practica esta condicion de estabilidad.

You might also like