You are on page 1of 70

1

EXTENSIN DEL ALGORITMO DE VERLET PARA EL CLCULO DE


TRAYECTORIAS DE MOVILES EN PRESENCIA DE FUERZAS
GRAVITACIONALES CON Y SIN FRICCIN


1. Introduccin
1.1 Las ecuaciones diferenciales de 2 orden y la modelacin matemtica
1.2 Mtodos numricos para la solucin de ecuaciones diferenciales con valor
inicial
1.2.1 Mtodo de Euler
1.2.2 Mtodo de Runge-Kutta
1.2.3 Aplicacin comparativa de un problema simple

2. El algoritmo de Verlet
2.1 Deduccin del Algoritmo clsico de Verlet y sus principales variantes
2.2 Aplicacin y evaluacin del Algoritmo de Verlet para la simulacin del
movimiento planetario
2.3 Navegacin asistida por fuerzas gravitacionales
2.4 Problema de 3 cuerpos

3. Extensin del Algoritmo de Verlet para fuerzas que involucran trminos de
friccin (dependencia con la primera derivada)
3.1 Desarrollo
3.2 Generalizacin a dos o ms dimensiones
3.3 Aplicaciones del Algoritmo Extendido de Verlet
3.3.1 Movimiento de varios cuerpos con interaccin electrosttica en un
medio resistivo.
3.3.2 Ingreso de un meteorito a la atmsfera terrestre.

4. Conclusiones


2
1. INTRODUCCIN

La Computacin Cientfica (CC) ha tenido un gran impulso durante los ltimos aos
que va claramente de la mano con el desarrollo de procesadores ultra rpidos y de
tamaos cada vez ms pequeos. De igual manera la capacidad de almacenaje de las
computadoras parece que no tiene lmite. Entendiendo la CC como una herramienta
general para resolver problemas numricos en distintas disciplinas con un enfoque
cientfico, el auge e importancia de la Ciencia e Ingeniera de la Computacin es ms
que natural. En particular en las reas del conocimiento como la Fsica, Qumica,
Biologa e Ingeniera que intervienen en aplicaciones tecnolgicas la CC da lugar a
nuevas ramas del conocimiento como las Simulaciones en Medicina, Arquitectura,
Fsica, Qumica Computacional entre otras. Desafortunadamente, en pases
desarrollados, la CC tiene aplicaciones hasta en los llamados Juegos de Guerra que se
utilizan para optimizar estrategias de Guerra para aplicar en distintos posibles
escenarios reales. Tal vez una de las aplicaciones ms espectaculares de la CC sea la
simulacin en computadora de explosiones nucleares, para probar nuevas ideas, y as
evitar hacer explosiones reales que contaminaran al planeta. En el caso de Juegos de
Guerra muchos de los desarrollos e innovaciones en cuanto a la creacin de nuevos
algoritmos, tcnicas numricas, programas y hardware permanecen frecuentemente
como secretos de estado que con el tiempo tal vez la comunidad cientfica y de
Ingeniera y aun la misma Sociedad conozcan y disfruten.

La parte medular de sta tesis tiene que ver con el desarrollo de nuevos algoritmos
para la solucin de ecuaciones de movimiento donde las fuerzas tienen trminos que
dependen linealmente y cuadrticamente de las velocidades, como es el caso de
problemas donde hay fuerzas de friccin, los cuales, algunas veces pueden tratarse
mediante algoritmos de optimizacin como el de Relajacin en Energa. El algoritmo
base y que se generaliza en la presente tesis es el algoritmo de Verlet usado en la
tcnica llamada de Dinmica Molecular que se aplica para estudiar el movimiento de
muchas partculas sujetas a interacciones entre si y a campos externos. Ejemplos de


3
estos estudios son la formacin y crecimiento de materiales, estabilidad y respuesta
ptica de cristales lquidos, fatiga de materiales, por mencionar algunos. Ntese que los
ejemplos mencionados tienen aplicaciones tecnolgicas que provienen de la Ciencia de
la Materia Condensada.

Otro aspecto relevante para la Ciencia e Ingeniera de la Computacin es el
concepto que se maneja de simulaciones en la presente tesis. Aparte del anlisis
numrico, propuesta de nuevos algoritmos y desarrollo de programas en ambiente
WINDOWS, la tesis tiene en casi todos los ejemplos usados una visualizacin y una
animacin de la dinmica del fenmeno. Esto es, la simulacin tiene como ingredientes
el anlisis numrico y animaciones de fenmeno a estudiar. Para los ejemplos
presentados es como si se desarrollaran en un Laboratorio Virtual donde las
condiciones y parmetros del problema se cambian a capricho del experimentador.
Los programas as desarrollados son interactivos y pretenden que los puede manejar
cualquier estudiante o investigador que quiera experimentar con los fenmenos
fsicos aqu planteados.

La presentacin de la tesis est organizada de la siguiente manera: La extensin del
Algoritmo de Verlet se presenta en el Cap. 3, mientras que en el Cap. 1 se hace una
introduccin sobre algoritmos clsicos para la solucin de ecuaciones diferenciales de
1er y 2 orden con condiciones iniciales. En el Cap. 2 se desarrolla el algoritmo clsico
de Verlet que se va a modificar. En el transcurso de las exposiciones de cada captulo se
hacen aplicaciones especficas para ilustrar o validar los algoritmos presentados. Se
concluye en el Cap. 4. En los apndices se encuentran copias de los programas de los
ejemplos aqu desarrollados que a continuacin se enlistan:

Dinmica de cargas interactuando en un medio resistivo (1-D) mediante los
mtodos de Euler, Runge-Kutta, Scherer y Verlet Extendido
o 1_d_Euler
o 1_d_Runge


4
o 1_d_Scherer
o 1_d_Verlet
Clculo de rbitas Planetarias mediante el Algoritmo de Verlet
o orbitas
Navegacin Asistida por Fuerzas Gravitacionales
o S_Solar
Problema de Tres Cuerpos
o 3_cuerpos
Dinmica de cargas interactuando en un medio resistivo (2-D) meiante el Algoritmo
de Verlet Extendido y de Optimizacin (Relajacin en Energa)
o relax
Ingreso de un Meteorito a la Atmsfera Terrestre
o ingreso


5
1.1 LAS ECUACIONES DIFERENCIALES DE 2 ORDEN Y LA MODELACIN
MATEMTICA

La importancia del empleo de modelos para el estudio de algn sistema radica en la
posibilidad de trabajar con una representacin alternativa e indirecta de la realidad, es decir,
tener la posibilidad de contar con algo que se comporte, parezca o reaccione como el
sistema que deseamos estudiar, un ejemplo podra ser el uso de ratones en un laboratorio
para probar algn medicamento, o la construccin de maniques con sensores para el
simulacro de un accidente automovilstico. En ambos casos, se busca modelar diferentes
aspectos del cuerpo humano y cada modelo es adecuado para su aplicacin, tambin es
claro que un modelo ser mejor en cuanto ms fidedigna sea la informacin que se obtenga
de l.

El concepto de modelo matemtico tiene, quiz, un nivel de abstraccin mayor que los
ejemplos antes mencionados, ya que se refiere a una ecuacin que contiene la mayor
informacin posible acerca del sistema a estudiar basada en las leyes que rigen su
comportamiento. De este modo, al analizar dicha ecuacin mediante la solucin de sus
incgnitas, la variacin de los posibles parmetros que contenga, la obtencin de su
representacin grfica, etctera, obtendremos conocimiento acerca del sistema original al
cual modelamos.

En el estudio de sistemas de partculas, el empleo de modelos matemticos es
indispensable, ya que uno de los objetivos de la fsica es la prediccin de su
comportamiento. Para ello, se cuentan con las reglas que gobiernan su evolucin, es decir,
los cambios que sufre cuando se modifica alguno de sus parmetros. Dichos cambios
pueden ser representados a travs del concepto matemtico de la derivada, de modo que al
plantear la relacin que sostiene sta con las reglas antes mencionadas, empleando una
ecuacin, se tendr como resultado un modelo matemtico.
La relacin a partir de la cual es posible plantear las ecuaciones de movimiento es la 2 ley
de Newton, la cual es una ecuacin diferencial:


6

2
2
dt
x d
m F = , (1.1.1)

Donde F es una funcin que describe a la fuerza aplicada sobre un cuerpo de masa m que se
encuentra en la posicin x, la cual adems puede depender de la velocidad del cuerpo, o de
las caractersticas del medio en el cual se evoluciona el sistema.

Esta simple ecuacin es la base para los modelos matemticos que describen a los sistemas
fsicos en movimiento, sin embargo, su expresin puede complicarse tanto como sea
necesario para representar a la fuerza que acta sobre los cuerpos que intervengan en el
anlisis. Este hecho nos lleva, en la mayora de los casos no triviales, a la formulacin de
problemas para los cuales es imposible obtener una expresin que prediga la trayectoria del
mvil, es decir, que carecen de solucin analtica, es en estos casos donde es indispensable
el empleo de los mtodos numricos para dar una solucin aproximada a un problema
especfico, definido por sus condiciones iniciales.

La aproximacin numrica a la solucin de estos problemas, llamados de valor inicial,
consiste en obtener una tabulacin de la posicin del mvil correspondiente a una sucesin
de valores del parmetro tiempo, es decir, a partir de una discretizacin del tiempo en
intervalos de longitud h. Para ello se han desarrollado varios mtodos para calcular la
posicin del mvil en un cierto tiempo a partir de las condiciones iniciales del problema. El
desarrollo de estos mtodos abre una amplia gama de aplicaciones dentro del rea de la
Computacin Cientfica al involucrar el empleo de las computadoras para clculos cada vez
ms complejos permitiendo as el desarrollo de programas que permitan al investigador
interaccionar directamente con el modelo matemtico de su objeto de estudio. Lo anterior
requiere no slo tener la solucin numrica de algn problema, sino enriquecer el desarrollo
de las herramientas de software para incrementar la posibilidad de tener simulaciones ms
realistas en lo que se refiere a velocidad de clculo (simulaciones en tiempo real) e incluso
a visualizacin, esto es, tener una representacin en pantalla agradable, que contenga la


7
mayor informacin posible y que refleje fielmente los conceptos involucrados. Es por ello
que es fundamental el desarrollo de nuevos mtodos numricos eficientes que aprovechen
al mximo las ventajas del hardware que se desarrolla a cada momento.

El presente trabajo muestra algunos de los algoritmos usados para la solucin numrica de
ecuaciones diferenciales de segundo grado, as como aplicaciones representativas para la
simulacin de sistemas fsicos. En particular, se muestra que el algoritmo clsico de Verlet,
usado comnmente en problemas de escala microscpica como es el caso de la dinmica
molecular, es til incluso para el clculo hasta de rbitas planetarias, exhibiendo as el gran
campo de aplicacin del mismo.

Es imposible exagerar la importancia de este algoritmo dentro del rea de la computacin
cientfica, propiamente en la fsica computacional, sin embargo, cuando la expresin que
gobierna a la fuerza (m d
2
x/dt
2
) contiene trminos dependientes de la primera derivada,
como ocurre al trabajar con sistemas en medios resistivos, el algoritmo presenta una
dificultad. Aunque en la literatura se muestran resultados obtenidos mediante el Algoritmo
de Verlet para cuando se manejan fuerzas dependientes de la velocidad, sin embargo, el
detalle de la implementacin del algoritmo no es expuesto en forma clara. A continuacin
se muestra el desarrollo errneo en el cual puede caerse.

Consideremos un problema donde F = F(x, v), con las condiciones iniciales x
0
y v
0
,
entonces, el algoritmo de Verlet es:

[ ]
2
1 0 0 0 0
2
1 1
1 1
( , )
2
2 ( , )
1
2
n n n n n
n n n
h
x x v h F x v
m
h
x x x F x v
m
v x x
h

+
+
= +
= +
=
,


donde x
n
= x(t+nh), v
n
= v(t+nh).


8

Entonces, desarrollando las primeras iteraciones:

2
0 0 0 0
0
2
0 0 0
2
( ) ( , )
2
(0)
( ) 2 ( ) ( , )
2
(2 ) 2 ( ) ( ) ( ( ), ( ))
h
x h x v h F x v
m
x x
h
x h x x h F x v
m
h
x h x h x h F x h v h
m
= +
=
= +
= +
,


pero v(h) est dada por:

[ ]
0
1
( ) (2 )
2
v h x h x
h
= ,

de modo que el trmino x(2h) est indeterminado, por lo que sera necesario entonces usar
el clculo de la velocidad en el tiempo anterior, lo cual podra ocasionar inestabilidad en los
resultados. Una forma alternativa presentada por C. Scherer
1
, consiste en calcular la
velocidad por medio del mtodo de Euler, es decir:

1
2
1 1
( , )
2 ( , )
n n n n
n n n n n
v v hF x v
h
x x x F x v
m
+
+
= +
= +
,


de este modo es posible usar la aproximacin de la velocidad para el clculo de la fuerza en
la expresin original de Verlet. Este mtodo se analiza en la seccin correspondiente
comparando su desempeo con el algoritmo alternativo que se propone en el presente
trabajo donde se consideran expresiones para la fuerza que contienen trminos
dependientes de la posicin y trminos dependientes de la velocidad, de la forma:


9

) ( ) ( ) ( t F t F t F
v x
+ = ,

con el cual se pretende no slo enriquecer el campo de aplicacin del algoritmo de Verlet,
sino aumentar el alcance de la computacin cientfica hacia el estudio de los sistemas
dinmicos.


1
http://pcleon.if.ufrgs.br/~leon/metcomp/ode/node10.html


10
1.2 MTODOS NUMRICOS PARA LA SOLUCIN DE ECUACIONES
DIFERENCIALES CON VALOR INICIAL

Como se mencion anteriormente, no todos los problemas de valor inicial pueden
resolverse explcitamente, esto es, frecuentemente es imposible hallar una expresin
matemtica que represente la evolucin del sistema con respecto al tiempo, de modo que es
necesario disponer de mtodos numricos para obtener una aproximacin a la solucin.
Para que esta aproximacin sea til en la mayora de los casos es necesario que tenga una
buena precisin, lo cual puede exigir un gran trabajo computacional, de modo que nuestra
tarea consistir en encontrar mtodos con los cuales se obtenga la mayor la precisin con el
menor nmero de operaciones posible. En este esfuerzo se han desarrollado varios mtodos,
con diferentes caractersticas de precisin y complejidad, de los cuales, mostramos algunos
a continuacin.

1.2.1 EL MTODO DE EULER

El mtodo ms sencillo para la solucin de ecuaciones diferenciales es el llamado Mtodo
de Euler el cual se basa en la aproximacin por diferencias de la derivada, de modo que
tiene un error global relativamente alto, del orden de O(h), su deduccin es como sigue; si
representamos ) (
n
t y como
n
y se tiene
2
:

h
y y
y
n n


+1
(1.2.1)

donde h es el tamao el paso, cuya eleccin depender de la tolerancia al error del
problema particular que se ataque y que analizaremos ms adelante, entonces:

) , (
1 n n n n
t y hf y y + =
+
.

2
J.M. Mathews, K.D. Fink, Mtodos Numricos con MatLab, (Prentice Hall, Madrid, 2000) p. 470


11

De modo que teniendo la informacin del valor inicial ) (
0 0
t y y = es posible desarrollar la
tabulacin para el intervalo deseado.

Dado que los problemas que nos interesa resolver (ecuaciones de movimiento) involucran
a la segunda derivada, es necesario desarrollar el planteamiento para ecuaciones
diferenciales de segundo orden mediante su descomposicin en un sistema simultneo de
ecuaciones diferenciales de primer orden, de modo que:

) , , ( ) ( t x x f t x = (1.2.2)

se puede escribir como:

) , , ( t v x f v
v x
=
=
(1.2.3)

y el esquema del mtodo de Euler para ecuaciones de segundo orden quedara como sigue:

n n n
n n n n
hv x x
v x hf v v
+ =
+ =
+
+
1
1
) , (
(1.2.4)

Como se mostr anteriormente, este mtodo se basa en la integracin aproximada por
diferencias finitas, no obstante, pueden obtenerse mtodos ms precisos y estables como el
mtodo de Runge-Kutta con el cual es posible obtener un planteamiento general, que, en
principio, tendr un error del orden O(h
n
).



12
1.2.2 MTODO DE RUNGE-KUTTA

Si tenemos la ecuacin diferencial ordinaria:

) , ( t y f y = (1.2.5)

podemos integrar en un intervalo [t
n
, t
n+1
] para obtener y
n+1
= y(t
n+1
) a partir de y
n
= y(t
n
):

[ ]

+
+ + +
+ + + =
1
) , ( ) , (
2
1
) , (
1 1 1
n
n
t
t
n n n n n n n
t y f t y f h y dt t y f y y (1.2.6)

notemos que y
n+1
tambin aparece en el lado derecho de la ecuacin como argumento de la
funcin f, por lo que este segundo trmino ser aproximado mediante el mtodo de Euler,
de modo que se tendr
3
:

[ ] ) ,
~
( ) , (
2
) , (
~
1 1 1
1
+ + +
+
+ + =
+ =
n n n n n n
n n n n
t y f t y f
h
y y
t y hf y y
.
(1.2.7)

Donde
1
~
+ n
y es la aproximacin a
1 + n
y por medio del mtodo de Euler; as que podemos
escribir lo anterior de la siguiente forma, obteniendo la forma general del mtodo de
Runge-Kutta de segundo orden:

[ ]
2 1 1
1 1 2
1
2
1
) , (
) , (
k k y y
t k y hf k
t y hf k
n n
n n
n n
+ + =
+ =
=
+
+
.
(1.2.8)


3
S. Nakamura, Mtodos Numricos Aplicados con Software, (Prentice Hall, Mxico, 1992) p. 299


13
Del mismo modo en que se obtena la solucin numrica de ecuaciones diferenciales de
segundo orden mediante un sistema de ecuaciones simultneas de primer orden con el
mtodo de Euler, es posible escribir el mtodo de Runge-Kutta para el sistema

) , , ( t v x f v
v x
=
=
(1.2.9)

como:

) (
2
1
) (
2
1
) , , (
) (
) , , (
) , (
2 1 1
2 1 1
1 1 1 2
1 2
1
1
l l v v
k k x x
t l v k x hf l
l v h k
t v x hf l
t x hv k
n n
n n
n n n
n
n n n
n n
+ + =
+ + =
+ + =
+ =
=
=
+
+
+
.
(1.2.10)


Ahora bien, con la frmula de 1/3 de Simpson para la integral, se obtiene una mejor
precisin dando lugar al mtodo de Runge-Kutta de tercer orden, esto es, la integral

+
+ =
+
1
) , (
1
n
n
t
t
n n
dt t y f y y
,
(1.2.11)
puede expresarse numricamente como:

(

+ + + =
+ +
+ +
+
) ,
~
( ) ,
~
( 4 ) , (
6
1 1
2
1
2
1 1 n n
n n
n n n n
t y f t y f t y f
h
y y (1.2.12)



14
donde
2
1
~
+ n
y y
1
~
+ n
y , son estimaciones que se obtendrn nuevamente del mtodo de Euler, de
modo que el esquema del mtodo quedara as:

) 4 (
6
1
) , 2 (
)
2
,
2
1
(
) , (
3 2 1 1
2 1 3
1 2
1
k k k y y
h t k k y hf k
h
t k y hf k
t y hf k
n n
n n
n n
n n
+ + + =
+ + =
+ + =
=
+
,
(1.2.13)

y la extensin para resolver el sistema

) , , ( t v x f v
v x
=
=
,
(1.2.14)
sera el siguiente:

) , 2 , 2 (
) 2 (
)
2
,
2
1
,
2
1
(
)
2
1
(
) , , (
2 1 2 1 3
2 1 3
1 1 2
1 2
1
1
h t l l v k k x hf l
l l v h k
h
t l v k x hf l
l v h k
t v x hf l
hv k
n n n
n
n n n
n
n n n
n
+ + + =
+ =
+ + + =
+ =
=
=
(1.2.15)

[ ]
[ ]
3 2 1 1
3 2 1 1
4
6
1
4
6
1
k k k x x
l l l v v
n n
n n
+ + + =
+ + + =
+
+
(1.2.16)




15

De manera anloga, se pueden ir agregando trminos a la aproximacin numrica de la
integral y realizar el mismo proceso para encontrar mtodos cada vez ms precisos, incluso,
existe el llamado Mtodo de Runge-Kutta de orden genera
4
l, el cual tiene la siguiente
expresin:


1
1
R
n n r r
r
x x h a k
+
=
= +

,
(1.2.17)

donde


1
( , )
n x
k f t x =
,


y k
2
, k
3
,, k
r
,k
R
estn definidas por la relacin recurrente:


1
,
1
( , )
r
r n r n r s s
s
k f t hp x h q k

=
= + +

. (1.2.18)

Ahora bien, es necesaria la manipulacin algebraica para encontrar los valores de los
coeficientes p, q y a. A continuacin, se desarrollar el Mtodo de Runge-Kutta de cuarto
orden para ejemplificar el desarrollo general.

De la ecuacin (1.2.17) se tiene

{ }
1 1 1 2 2 3 3 4 4 n n
x x h a k a k a k a k
+
= + + + +
,
(1.2.19)

y de (1.2.18):


4
S.C. Chapra, R.P. Canale, Mtodos Numricos Para Ingenieros, (Mc Graw Hill, Mxico, 1989) p. 550


16

{ } ( )
{ } ( )
{ } ( )
1
2 2 2,1 1
3 3 3,1 1 3,2 2
4 4 4,1 1 4,2 2 4,3 3
( , )
,
,
,
n n
n n
n n
n n
k f t x
k f t hp x h q k
k f t hp x h q k q k
k f t hp x h q k q k q k
=
= + +
= + + +
= + + + +
,
(1.2.20)

Obteniendo la expansin en serie de Taylor de orden N=4 para k
2
, k
3
y k
4
, es posible
sustituir estas aproximaciones en la ecuacin (1.2.19) y obtener as una nueva expresin
para x
n+1,
la cual, al comparar trminos con la expansin correspondiente al desarrollo en
serie de la funcin de posicin x, que puede verse como:


2
( ) ( ) ( ) ( , )
2
t
x t t x t x t t x x t

+ = + + + (1.2.21)
o bien:


2
1
( , ) ( , )
2
n n n n n n
h
x x f x t h f x t
+
= + + + (1.2.22)

es posible identificar trminos y llegar al conjunto de ecuaciones lineales siguiente:


( )
( )
( )
2 1 3 2 4 3
2 2 2
2 1 3 2 4 3
3 3 3
2 1 3 2 4 3
3 1 3,2 4 1 4,2 2 4,3
3 1 2 3,2 4 3 1 4,2 2 4,3
2 2 2
3 1 3,2 4 1 4,2 2 4,3
4 1 3,2 4,3
1
2
1
3
1
4
1
6
1
8
1
12
1
24
a p a p a p
a p a p a p
a p a p a p
a p q a p q p q
a p p q a p a q p q
a p q a p q p q
a p q q
+ + =
+ + =
+ + =
+ + =
+ + =
+ + =
=
(1.2.23)


17

y con las condiciones:


1
,
1 1
y 1
r R
r r s r
s r
p q a

= =
= =

(1.2.24)

se tendrn 11 ecuaciones con 13 incgnitas, de modo que debemos incluir dos condiciones
adicionales, por simplicidad se eligen:

1 3,1
1
, y 0
2
p q = = .

Entonces, resolviendo el sistema se tiene que:


2 3
2,1 3,2 4,1 4,2 4,3
1 2 3 4
1
, 1,
2
1 1
, , 0, 0, 1,
2 2
1 1 1 1
, , , ,
6 3 3 6
p p
q q q q q
a a a a
= =
= = = = =
= = = =
(1.2.25)

de modo que el esquema final del mtodo de Runge-Kutta de cuarto orden quedara como
sigue:

( )
1 1 2 3 4
2 2
6
n n
h
x x k k k k
+
= + + + +
,
(1.2.26)

con:


( )
1
2 1
3 2
4 3
( , )
,
2 2
,
2 2
,
n n
n n
n n
n n
k f t x
h h
k f t x k
h h
k f t x k
k f t h x hk
=
| |
= + +
|
\ .
| |
= + +
|
\ .
= + +
.




18
Anlogamente al caso anterior, es posible plantear un sistema de ecuaciones para resolver
ecuaciones diferenciales de segundo orden y obtener un esquema similar al presentado en
las ecuaciones (1.2.14)-(1.2.16).

Con este mtodo se tiene un error global final de orden O(h
4
), y en principio, tomando n
trminos en la serie es posible obtener errores cada vez ms pequeos (O(h
n
)), no obstante
los mtodos que resulten son tambin cada vez ms complicados de programar e involucran
ms operaciones al aumentar significativamente el nmero de llamadas a la funcin, lo cual
se ve reflejado fuertemente en el tiempo de cmputo requerido, lo cual nos lleva a tener un
fuerte compromiso entre precisin y rapidez del clculo, es aqu dnde la introduccin del
algoritmo de Verlet es importante, ya que se tiene una precisin equivalente a la del mtodo
de Runge-Kutta de tercer orden con la ventaja de que se emplean menos llamadas a la
funcin y es muy sencillo de programar, lo cual lo hace ideal para la implementacin de
simulaciones.



19
1.2.3 APLICACIN COMPARATIVA EN UN PROBLEMA SIMPLE

Ahora, planteemos un problema sencillo para aplicar este resultado. Sean dos cargas
elctricas fijas q
1
y q
2
separadas una distancia l, y una carga libre q cuya distancia a la
primera carga es x. Consideremos que es el coeficiente de friccin de q sobre la
superficie. La ecuacin que modela a las fuerzas que intervienen en su movimiento sera
como sigue:

2
2
2
2
2
1
2
1
1
2
2

) (

) (
|
.
|

\
|

(

+ =
dt
dx
dt
dx
r
x r
qq
r
x r
qq
K
dt
x d
m , (1.2.27)

donde K es una constante con las unidades adecuadas, r
1
, r
2
son las distancias de q a q
1
y q
2

respectivamente, y son los coeficientes de friccin lineal y cuadrtica del mvil con la
superficie. La expresin en un sistema de ecuaciones diferenciales es:

2
2
2
2
2
1
2
1
1

) (

) (
v
m
v
m
r
x r
qq
r
x r
qq
m
K
v
v x


(

+ =
=
. (1.2.28)

El mtodo de Euler estara planteado de la siguiente manera:

n n n
n n
n n
n n
hv x x
v
m
v
m
r
x r
qq
r
x r
qq
m
K
h v v
+ =

(

+ + =
+
+
1
2
2
2
2
2
1
2
1
1
1

) (

) (

. (1.2.29)

Es claro que en este caso la inicializacin consiste simplemente en dar valores a x
0
y v
0
.
As, mediante un programa sencillo puede obtenerse la curva de la solucin aproximada
que aparece en la figura siguiente, donde hemos elegido q
1
= q
2,
de modo que la carga
mvil q tiende a estabilizarse en el origen.


20

Mtodo de Euler
-30
-20
-10
0
10
20
30
40
50
60
70
80
0 50 100 150 200 250
Tiempo (u.a.)
P
o
s
i
c
i

n

(
u
.
a
.
)

Comparemos ahora este resultado con el obtenido al emplear el mtodo de Runge-Kutta de
segundo orden aplicando las ecuaciones (1.2.10). Obteniendo as:

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

) (
) (

) (

) (
2 1 1
2 1 1
2
1 1 2
1
2
2
2
1
1
2
1
1
2
1 2
2
2
2
2
2
1
2
1
1
1
1
k k x x
l l v v
l v
m
l v
m
r
k x r
qq
r
k x r
qq
m
K
h l
l v h k
v
m
v
m
r
x r
qq
r
x r
qq
m
K
h l
hv k
n n
n n
n n
n n
n
n n
n n
n
+ + =
+ + =
+ +
(

+
+
+
=
+ =

(

+ =
=
+
+


(1.2.30)



21
Nuevamente, mediante la implementacin del mtodo con las ecuaciones anteriores, es
posible obtener la curva solucin, la cual es cualitativamente idntica a la obtenida
mediante el mtodo de Euler, sin embargo, utilizando el mismo paso (h = 0.1) los valores
de los puntos difieren ligeramente (como se muestra en la figura siguiente) debido a la
mayor precisin del mtodo. Cabe mencionar que es posible mejorar la precisin del
mtodo de Euler mediante la eleccin adecuada del valor de h.


-6
-4
-2
0
2
4
6
100 105 110 115 120 125 130 135 140 145 150
Tiempo (u.a.)
P
o
s
i
c
i

n

(
u
.
a
.
)

Runge-Kutta
Euler



Para el esquema de Runge-Kutta de tercer orden, se tiene:



22
) 4 (
6
1
) 4 (
6
1
) 2 ( ) 2 (
) 2 (

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

)
2
1
(
)
2
1
(
3 2 1 1
3 2 1 1
2
2 1 2 1 2
2 1
2
2
2
1
2 1
2
1
1
3
2 1 3
2
1 1 2
1
2
2
2
1
1
2
1
1
2
1 2
k k k x x
l l l v v
l l v
m
l l v
m
r
k k x r
qq
r
k k x r
qq
m
K
h l
l l v h k
l v
m
l v
m
r
k x r
qq
r
k x r
qq
m
K
h l
l v h k
n n
n n
n n
n n
n
n n
n n
n
+ + + =
+ + + =
+ +
(

+
+
+
=
+ =
+ +
(
(
(
(

+
+
+
=
+ =
+
+




el cual una vez implementado, muestra que los valores en la tabulacin difieren slo en la
tercera cifra decimal respecto al mtodo anterior, de modo que para este ejemplo quiz la
precisin del mtodo de Runge-Kutta de segundo orden sea suficiente, no obstante, los
mtodos Runge-Kutta de ordenes superiores pueden ser tiles para aplicaciones ms
complejas.



23
2. EL ALGORITMO DE VERLET

2.1 DEDUCCIN DEL ALGORITMO CLSICO DE VERLET Y SUS
PRINCIPALES VARIANTES

Este algoritmo para la solucin de ecuaciones diferenciales de 2 orden ha tenido
una historia larga y distinguida desde su aparicin en el estudio de la dinmica de
molculas. Con este algoritmo se han obtenido resultados tericos interesantes en el
crecimiento de pelculas delgadas, fatiga de materiales, prediccin de estructuras estables
en molculas, cristales lquidos y en un sin nmero de aplicaciones a sistemas
microscpicos
5
. Cabe mencionar que, para atacar el problema de la solucin de ecuaciones
diferenciales de segundo orden con los mtodos expuestos en las pginas anteriores, es
necesario plantear un sistema de ecuaciones, lo cual aumenta considerablemente el nmero
de operaciones a realizar en su implementacin en un programa de cmputo, de modo que
el algoritmo de Verlet, al trabajar directamente sobre la segunda derivada, ofrece ventajas
en la mayora de las aplicaciones donde interviene la mecnica clsica, sin embargo, como
se ver ms adelante, tiene limitaciones importantes en cuanto a la dependencia de la fuerza
con la primera derivada, lo cual reduce de manera importante su aplicacin en simulacin
de movimiento en medios resistivos.

El algoritmo de Verlet en su forma clsica se deduce a partir de la expansin en serie de
Taylor de la funcin de posicin x(t) en : ) ( t t x +

+

+ + = +
2
) , ( ) ( ) ( ) (
2
t
t x x t t x t x t t x (2.1.1)
y en : ) ( t t x


5
L. Verlet, Physical Review 159, 98 (1967)



24
+

+ =
2
) , ( ) ( ) ( ) (
2
t
t x x t t x t x t t x (2.1.2)

sumando las Ecs. (2.1.1) y (2.1.2) obtenemos:

) , ( ) ( ) ( 2 ) (
2
t x x h h t x t x h t x + +
,
(2.1.3)

donde hemos representado el incremento en tiempo t por el tamao del paso h. O bien
usando la notacin anterior e introduciendo la ley de Newton
2
2
dt
x d
m F = :

) , ( 2
2
1 1 n n n n n
t x F
m
h
x x x + =
+
.
(2.1.4)

Para su inicializacin, es necesario, adems de la posicin y velocidad iniciales, calcular el
valor correspondiente a x(-h), (o bien x
-h
) el cual se puede obtener del desarrollo en serie de
Taylor "hacia atrs" haciendo t = 0:

) , (
2
0 0
2
0 0 1
t x F
m
h
h v x x + =

.
(2.1.5)

Con lo cual se tiene un mtodo para la solucin numrica de ecuaciones diferenciales de
segundo grado, el cual tiene una forma sencilla y en sus aplicaciones a dinmica molecular
(MD) ha resultado muy confiable pues ofrece gran estabilidad para la energa del sistema.

Una variante del algoritmo de Verlet es el llamado "Algoritmo Leap-Frog"
6
, la cual resulta
de definir la velocidad como:


6
R.W. Hockney, J.W. Eastwood, Computer Simulation Using Particles (McGraw Hill, New Cork, 1981)


25
h
t x h t x h
t v
) ( ) (
2
+
|
.
|

\
|
+ , (2.1.6)
y

h
h t x t x h
t v
) ( ) (
2

|
.
|

\
|
, (2.1.7)

entonces, tomando la diferencia de ambas se tiene:

h
h t x h t x t x h
t v
h
t v
) ( ) ( ) ( 2
2 2
+ + +
= |
.
|

\
|
|
.
|

\
|
+ , (2.1.8)

y el lado derecho de la ecuacin, se puede comparar con la expresin del algoritmo clsico
de Verlet, resultando:

h t x x
h
t v
h
t v ) , (
2 2
= |
.
|

\
|
|
.
|

\
|
+
,
(2.1.9)

entonces

h t x a
h
t v
h
t v ) , (
2 2
+ |
.
|

\
|
= |
.
|

\
|
+
,
(2.1.10)


con este resultado y despejando x(t+h) de la primera definicin se llega al sistema que
describe a la variante Leap-Frog:
. ) , (
2 2
,
2
) ( ) (
h t x a
h
t v
h
t v
h
t hv t x h t x
+
|
.
|

\
|
=
|
.
|

\
|
+
|
.
|

\
|
+ + = +
(2.1.11)


26

Esta variante tiene la ventaja de que permite conocer de manera explcita la velocidad
aunque no en el mismo tiempo en que es calculada la posicin, sin embargo, la velocidad al
tiempo t se puede aproximar como:

(

|
.
|

\
|
+ + |
.
|

\
|
=
2 2 2
1
) (
h
t v
h
t v t v
.
(2.1.12)

La siguiente variante es conocida como "Algoritmo de Verlet con velocidades explcitas", o
simplemente Algoritmo de Verlet de la velocidad
7
el cual tiene la ventaja de permitir el
clculo de la posicin y velocidad al tiempo t. Est dado de la siguiente forma:

) ( ) ( ) ( ) (
2
t a h t hv t x h t x + + = +
[ ] ) ( ) (
2
) ( ) ( h t a t a
h
t v h t v + + + = +
.
(2.1.13)

La primera expresin se obtiene de sustituir la expresin de la velocidad al tiempo t,

h
h t x t x
t v
) ( ) (
) (

= , (2.1.14)

en la expresin del Algoritmo clsico de Verlet. La segunda expresin (para la velocidad),
se puede obtener de aplicar la regla extendida del trapecio para calcular

dt t a t v h t v
h t
t

+
+ = + ) ( ) ( ) ( . (2.1.15)



7
W.C. Swope, H.C. Andersen, P.H. Berens, and K.R. Wilson, J. Chem. Phys. 76, 637 (1982)


27
2.2 APLICACIN Y EVALUACIN DEL ALGORITMO DE VERLET PARA
LA SIMULACIN DEL MOVIMIENTO PLANETARIO

Una aplicacin interesante para el algoritmo de Verlet dadas las dimensiones involucradas,
es el clculo de trayectorias de mviles en presencia de fuerzas gravitacionales, ya que su
empleo se ha enfocado generalmente a sistemas microscpicos. Intentemos pues, como
primer ejercicio recuperar las rbitas planetarias del Sistema Solar.

Para agilizar los clculos y facilitar el manejo de las cantidades involucradas, es necesario
elegir las unidades adecuadas para el problema, en este caso, se manejarn unidades
astronmicas para longitud (1 ua es el radio de la rbita terrestre), aos para el tiempo, y
masas solares (mS) como unidad de masa. Ahora bien, para el clculo de la Constante
Gravitacional G en las unidades elegidas, se emplea la Tercera Ley de Keppler
8
, la cual
relaciona al periodo de un planeta con el radio de su rbita y con la masa del planeta
atrayente:

0
3 2
2
4
GM
a
T

= . (2.2.1)

En este caso tomamos el radio de la rbita terrestre (1 ua) y el periodo de su rbita
alrededor del sol (1 ao), y la masa del Sol (1 mS), y despejamos G:

(

=
mS ao
ua
G
2
3
2
4
.
(2.2.2)

El cual es un valor fcil de manejar, y dada su expresin es posible aprovechar al mximo
la precisin de la mquina al realizar los clculos.


8
M. Alonso, E.J. Finn, Fsica, Vol. I, Mecnica, (Addison-Wesley, Mxico, 1986) p. 416


28
Ahora, debemos calcular las condiciones iniciales (velocidad y posicin) para nuestra
simulacin en base a los datos que aparecen en los textos de enseanza comunes, esto es
periodo (T), excentricidad ( ) y masa. Para facilitar el manejo algebraico definamos la
cantidad como:

GMm =
,
(2.2.3)

donde M

y m son las masas de los planetas que intervienen en el sistema, de modo que M
sera la masa del Sol y m la masa del planeta del cual deseamos obtener su trayectoria, de
modo que en nuestras unidades m
2
4 = .



Tenemos que la energa total del sistema est dada por
9
:


2 2
GmM k
E
a a
= = , (2.2.4)

y despejando a de la ecuacin (2.2.1) y sustituyendo en la anterior se tiene:



29

1
2
3
2
2
4
k
E
T k
m
=
| |
|
\ .
, (2.2.5)
y por lo tanto:

3
1
2
2 2
2
|
|
.
|

\
|
= m
T
E

, (2.2.6)

con esto y la expresin de la excentricidad:

2
2
2
1

m
EL
+ = (2.2.7)
obtenemos:

( )
E
m
L
2
1
2 2

=

, (2.2.8)

y por otro lado, minimizando la expresin analtica de la trayectoria en coordenadas
polares, se llega a lo siguiente:

( ) m
L
r
+
=
1
2
min
, (2.2.9)

con lo cual, introduciendo en esta expresin las cantidades antes calculadas, obtenemos la
posicin inicial para nuestro problema. Por otro lado, expresando la energa total como la
suma de las energas cintica y potencial:


9
M. Alonso, E.J. Finn, Fsica, Vol. I, Mecnica, (Addison-Wesley, Mxico, 1986) p. 427


30
min
2
2
1
r
mv E
y

= (2.2.10)

podemos obtener la velocidad inicial:

|
|
.
|

\
|
+ =
min
0
2
r
E
m
v
y

. (2.2.11)

Ahora bien, la fuerza central que interviene en el sistema est dada por:

r
r
mM
G F
2
=

, (2.2.12)

donde r es el vector que une ambas masas.

Entonces, dado que el sistema es bidimensional, el esquema del algoritmo de Verlet sera
el siguiente:


) ( 2
) cos( 2
2
2
1 1
2
2
1 1

sen
r
GM
h y y y
r
GM
h x x x
n n n
n n n
+ =
+ =
+
+
(2.2.13)

donde es el ngulo que forma r con el eje horizontal. Para la inicializacin del algoritmo
se emplea la ecuacin (2.1.5), de modo que:

) , (
2
) , (
2
0 0
2
0 0 1
0 0
2
0 0 1
y x F
m
h
h v y y
y x F
m
h
h v x x
y
x
+ =
+ =

(2.2.14)



31
con 0
0
=
x
v , 0
0
= y y
min 0
r x = .

En este caso, es claro que el valor de h estar dado por el tamao de intervalos en los cuales
se divida el periodo de la rbita, lo cual ser un factor importante para la precisin del
clculo, esto es, que al hacer divisiones ms finas, podremos obtener mejores resultados,
sin embargo, nuevamente, aparece el compromiso de tener una simulacin gil (en trminos
de velocidad de clculo) o una simulacin precisa, dado que la velocidad de procesamiento
del equipo de cmputo ser siempre una limitacin. No obstante, en esta aplicacin, el
algoritmo de Verlet es sumamente verstil, ya que es posible variar el valor del paso h en
un amplio rango de acuerdo con las caractersticas que se busquen en la aplicacin
particular.

Con los datos anteriores es posible llevar a cabo una implementacin que presenta una
animacin del movimiento planetario y entrega una tabulacin de posicin contra tiempo.
Paralelamente se realiz un planteamiento analtico del problema para evaluar el
desempeo del mtodo numrico:

Dado que al programar el mtodo numrico obtenemos una posicin para cada intervalo de
tiempo nh, es necesario obtener la solucin analtica del problema como una
parametrizacin en el tiempo, lo cual presenta un problema interesante desde el punto de
vista tanto fsico como computacional, como puede verse en el siguiente desarrollo:

Partiendo de la condicin de conservacin del momento angular
10
:

2
mr
L
dt
d
=

;

=
t
dt L d mr
0 0
2

, (2.2.15)


10
M. Alonso, E.J. Finn, Fsica, Vol. I, Mecnica, (Addison-Wesley, Mxico, 1986) p. 428


32
en la cual es posible plantear r en funcin de mediante la ecuacin de una seccin cnica
en coordenadas polares:

cos 1+
=
d
r
,
(2.2.16)

donde d es una constante dada por la distancia del foco a la directriz, y puede obtenerse
mediante la siguiente relacin:

)
1
1 (

+ =
min
r d . (2.2.17)

Sustituyendo la ecuacin de la cnica en la ecuacin (2.2.15) se tiene:

=
+

0
2
2 2
0
) cos 1 (
Lt
d
d m , (2.2.18)
y

2 2
2 2
2
2 2 2
0
3 2
2
( 1) tan
2
2arctan
(1 cos )
1 1 ( 1)
sen
( 1)(1 cos )
d m d
m d
m d





| |

|

\ .
=
`
+



)
+
+

(2.2.19)

entonces, de la ecuacin (2.2.18) se tiene que:

0
) cos 1 )( 1 (
sen
) 1 ( 1 1
2
tan ) 1 (
arctan 2
2
2 3
2 2
2 2
2
=
+
+

|
.
|

\
|

Lt
d m d m


. (2.2.20)


33

Ser necesario ahora encontrar el valor de que satisfaga esta ecuacin para cada tiempo t
n
,
con lo cual quedara resuelto el problema al tener finalmente la parametrizacin ) (
n
t =
y por lo tanto )) ( (
n
t r r = mediante la ecuacin de la seccin cnica.

Dado que la ecuacin anterior carece de solucin analtica, se emple el mtodo de
Newton-Raphson para el clculo de races, el cual produce una sucesin {p
k
} que converge
a la raz p de la funcin f a partir de una aproximacin inicial p
0
mediante la siguiente
relacin iterativa
11
:

) (
) (
1
n
n
n n
p f
p f
p p

=
+
. (2.2.21)

esto es:

2
1
2 2 2
2
2 2 2
( 1) tan
(1 cos ) 2
2arctan
1 1 ( 1)
(1 cos ) sen (1 cos )
( 1)
n
n
n n
n n n
Lt
m d






+
| |

|
+
\ .
=
`



)
+ +
+

. (2.2.22)


Con lo anterior se incluy en el programa un mdulo que realiza este clculo, donde se
especifica una cierta tolerancia para el valor de la raz como criterio de paro en el desarrollo
de la sucesin. As pues, se dar como aproximacin inicial el valor de
n
para calcular
n+1

teniendo en cuenta que = 0 en t = 0. Cabe mencionar que debido a que el proceso para
calcular la raz mediante el mtodo de Newton-Raphson es iterativo, es decir, se calcula un
trmino de la sucesin usando como dato al trmino anterior hasta que ste cumpla con

11
J.M. Mathews, K.D. Fink, Mtodos Numricos con MatLab, (Prentice Hall, Madrid, 2000) p. 77


34
estar dentro de la tolerancia especificada, no es factible tener una idea clara acerca del
nmero de operaciones necesarias para llegar a un resultado.

A continuacin se muestra una grfica donde aparece la distancia entre los puntos
calculados mediante el algoritmo de Verlet y los calculados con el tratamiento analtico
para el planeta Tierra.

0
0.00000005
0.0000001
0.00000015
0.0000002
0.00000025
0.0000003
0.00000035
0.0000004
0.00000045
0.0000005
0 0.1 0.2 0.3 0.4 0.5
Tiempo (Aos Terrestres)
E
r
r
o
r

(

r
b
i
t
a
s

T
e
r
r
e
s
t
r
e
s
)


La tendencia creciente del error en la grfica anterior se debe a que en la ecuacin
trascendente (2.2.20) interviene la funcin ) 2 / tan( , la cual crece indefinidamente para
valores de cercanos a , por lo cual el mtodo de Newton-Raphson se comporta de
manera inestable. No obstante, el valor mximo de la grfica, muestra una discrepancia del
orden de 5x10
-7
rbitas terrestres en el clculo de la posicin, lo cual equivale
aproximadamente a 74.7 Km., representando esta cantidad un 0.6 % del dimetro ecuatorial
de la tierra, de modo que puede considerarse un error aceptable.



35
Ahora veamos que tan til puede ser al algoritmo de Verlet para predecir el tiempo en el
que ocurre algn evento, como puede ser algn equinoccio o solsticio, para ello, es
necesario hacer un clculo analtico directo con los datos correspondientes a la Tierra para
comparar posteriormente con el resultado que arroje el procedimiento numrico. Por
ejemplo mediante la ecuacin (2.2.20) podemos fcilmente obtener t para = /4, lo cual
correspondera al equinoccio de Otoo y se reduce a:

) 1 ( 1
) 1 1 (
1
1
arctan 2
1
2 2
2 2 2
2

+

|
|
.
|

\
|

d m
L
t , (2.2.23)

y toma un valor de 0.2446839 aos. Para obtener este dato empleando el algoritmo Verlet,
simplemente se modific el programa de modo que reporte el tiempo en el cual la
coordenada X del mvil cambie de signo, resultando una diferencia con el clculo anterior
de 1.1002 x 10
-6
aos, lo cual equivale aproximadamente a 35 segundos y a 0.025 minutos
de arco (un minuto de arco = 1/60 grados) empleando un valor para h de 5x10
-6
aos. Es
posible mejorar este resultado disminuyendo el valor de h, sin embargo, esta precisin est
comprometida con el tiempo de ejecucin.

Con lo anterior se ha demostrado que el algoritmo de Verlet es til en aplicaciones que
involucran dimensiones astronmicas ya que los resultados que arroja son equivalentes a
los obtenidos mediante un desarrollo analtico cuyo planteamiento es ms complicado y su
programacin exige un tratamiento numrico ms costoso en pasos de programa y llamadas
a funciones, y por lo tanto en tiempo, que el propio algoritmo de Verlet.



36
2.3 NAVEGACIN ASISTIDA POR FUERZAS GRAVITACIONALES
12


En la seccin anterior se mostr que el algoritmo clsico de Verlet es til para problemas
que involucran dimensiones astronmicas, de modo que ahora tenemos la confianza de
trabajar con l empleando un modelo ms complicado para la fuerza que acta sobre el
mvil, como el llamado Navegacin asistida por fuerzas gravitacionales y que consiste en
lanzar un objeto al espacio de tal forma que se aproveche la interaccin gravitacional con
los cuerpos celestes para modificar su velocidad y trayectoria de acuerdo a una ruta
planeada anteriormente, como se ha hecho con las sondas espaciales (Voyager, Pioner,
etc.). El diseo de este tipo de lanzamientos requieren de un planteamiento sumamente
complejo que involucra un nivel de detalle en el modelo matemtico que escapa de los
alcances del presente trabajo, sin embargo, es posible realizar una simulacin simple del
movimiento planetario en dos dimensiones considerando posiciones reales en el tiempo a
partir de la fecha y hora del lanzamiento. A continuacin se revisar el planteamiento del
problema:

Emplearemos el sistema de unidades elegido para el ejemplo anterior, sin embargo, en este
caso, la simulacin de las rbitas planetarias que se present no es til, ya que se requiere
tener el dato de la posicin de cada planeta del Sistema Solar para una fecha especfica. De
modo que ser necesario basarse en el tipo de soluciones empleadas en los programas que
calculan cartas celestes para fines educativos. Para nuestra simulacin se emple el
algoritmo propuesto por Paul Schlyter
13
, el cual, dado que contempla algunas
simplificaciones tiene una precisin de aproximadamente 2 minutos de arco, y las unidades
que emplea son fcilmente adaptables a las que elegimos.

Con lo anterior, fue posible elaborar un programa que calculara las posiciones de los
planetas para una fecha y hora especfica y a partir de sta actualiza la posicin para los
incrementos en el tiempo adecuados para aplicar el algoritmo de Verlet (del orden de 10
-4


12
V. Barger, M. Olsson, Clasical Mechanics: a Modern Perspective, (McGraw-Hill, New York, 1973) p. 131
13
http://hotel04.ausys.se /pausch/comp/ppcomp.html


37
aos). De este modo, con los datos requeridos, y aplicando el principio de superposicin, es
posible plantear la funcin que representa a la fuerza que actuara sobre un objeto en el
Sistema Solar debida a la atraccin gravitacional de los cuerpos celestes:

=
i
i
i
i
r
r
M
Gm F
2
, (2.3.1)

donde m es la masa del mvil (para tener una idea del orden de magnitud, recordemos que
el Voyager II tiene una masa de 722 Kg. aproximadamente) M
i
es la masa del i-simo
planeta y r
i
es el vector que une a ste con el mvil.

De acuerdo con lo anterior, el esquema del algoritmo de Verlet sera como sigue:

+ =
+ =
+
+
i
i
i
i
n n n
i
i
i
i
n n n
sen
r
M
Gh y y y
r
M
Gh x x x
) ( 2
) cos( 2
2
2
1 1
2
2
1 1

,
(2.3.2)

donde es el ngulo que forma r con el eje horizontal. Los datos de velocidad y posicin
inicial se dan en la inicializacin del algoritmo mediante las siguientes relaciones:

) , (
2
) , (
2
0 0
2
0 0 1
0 0
2
0 0 1
y x F
m
h
h v y y
y x F
m
h
h v x x
y
x
+ =
+ =

.
(2.3.3)

En el caso que nos ocupa, la velocidad y posicin inicial del Voyager estarn relacionados
con la posicin y velocidad de la tierra en el momento del lanzamiento, la idea es
considerar que el proyectil es lanzado despus de estar en rbita en la tierra a una distancia


38
del orden de 30000 Km., y con una velocidad dada en direccin tangencial a la rbita de la
tierra.

As pues, se agreg al programa el desarrollo de Verlet as como algunas opciones en la
visualizacin tales como Zoom in/out y la posibilidad de seguir (es decir, cambiar el
sistema de referencia durante la simulacin) a algn objeto del sistema, ya sea la propia
sonda o a algn planeta.



39
2.4 PROBLEMA DE 3 CUERPOS

Un problema sumamente interesante de la mecnica clsica es el llamado Problema de n
cuerpos, cuyo tratamiento mediante el algoritmo de Verlet fue introducido en el presente
trabajo por sugerencia del Dr. Eduardo Pia, investigador de la Universidad Metropolitana,
consiste en describir la trayectoria que seguiran un nmero arbitrario de partculas aisladas
interaccionando gravitacionalmente entre s. De forma analtica existen avances recientes
en cuanto a las soluciones de sistemas de hasta 3 cuerpos, sin embargo, empleando algn
mtodo numrico eficiente, es posible generalizar la solucin estando limitado el nmero
de cuerpos solamente por la capacidad y velocidad del equipo de cmputo. A continuacin,
emplearemos el algoritmo de Verlet para verificar algunas soluciones analticas.

En la referencia al pie
14
se presenta una solucin particular al problema de 3 cuerpos
demostrando la existencia de una rbita analtica estable con momento angular cero,
momento de inercia constante y un patrn caracterstico con algunas propiedades de
simetra, en la cual las partculas siguen una trayectoria en forma de ocho como puede
verse en la figura. Este resultado es particularmente interesante, ya que anteriormente, la
nica rbita calculada de este tipo era la conocida como Equilibrio Relativo de Lagrange,
en la cual las partculas se mueven sobre un crculo formando un tringulo equiltero.



14
A. Chenciner, and R. Montgomery, Annals of Mathematics, 152 (2000) 881


40


Esta aplicacin puede ser til para estimar un valor de h adecuado, ya que se demuestra
analticamente que el momento de inercia permanece constante durante la evolucin del
sistema, de modo que podemos seguir el valor de este parmetro durante la simulacin
implementada mediante el algoritmo de Verlet, empleando diferentes valores para el paso
h, obteniendo el resultado que se muestra en la figura siguiente:

0 5 10 15 20
1.88
1.90
1.92
1.94
1.96
1.98
2.00
h=0.00001
h=0.0001
h=0.001
M
o
m
e
n
t
o

d
e

I
n
e
r
c
i
a

(
u
.
a
.
)
Tiempo (u.a.)


Podemos observar una clara dependencia del parmetro h con la estabilidad del momento
de inercia, que si bien para valores relativamente altos de h (del orden de 10
-3
) el error
numrico acumulado hace colapsar la simulacin en un tiempo corto, al disminuir en dos
rdenes de magnitud (h = 10
-5
) se tiene una estabilidad aceptable durante la simulacin,
teniendo slo pequeas fluctuaciones peridicas de 0.0005 u.a. que representan alrededor
del 0.025 % valor promedio del momento de inercia.


41
3. EXTENSIN DEL ALGORITMO DE VERLET PARA FUERZAS QUE
INVOLUCRAN TRMINOS DE FRICCIN (DEPENDENCIA CON LA
PRIMERA DERIVADA)

3.1 DESARROLLO

Como se ha expuesto, el algoritmo de Verlet ha demostrado ser til para diversas
aplicaciones, adems de ser eficiente dada sencillez en su implementacin, al nmero de
operaciones a realizar y en llamadas a la funcin que descirbe a la fuerza involucrada en el
sistema que otros mtodos usados comunmente, sin embargo, a diferencia de los mtodos
que se han expuesto en las pginas anteriores, la velocidad no aparece de manera explcita,
y su expresin

h
x x
v
n n
n
2
1 1 +

=
,
(3.1.1)

involucra a la incgnita, por lo cual es necesario realizar el tratamiento algebraico
adecuado.

A continuacin se expondr un desarrollo original mediante el cual se ampla enormemente
el rango de aplicacin del algoritmo de Verlet conservando sus cualidades originales. Esta
extensin nos permite trabajar en problemas en los cuales intervienen fuerzas de friccin y
donde podemos representar a la fuerza total como:

) ( ) ( ) ( t F t F t F
v x
+ = , (3.1.2)

esto es, una componente que depende nicamente de la posicin y otra que depende
nicamente de la velocidad, es claro que en ambas existe una dependencia intrnseca con el
tiempo. Como hemos visto en los ejemplos anteriores, la fuerza de friccin se escribe
como:


42

( )
v v v
v
v
v v
v v v F
v



=
=
=
2
2
) (
.
(3.1.3)

De modo que el algoritmo de Verlet (para una dimensin) se ve como:

|
.
|

\
|
+ =
+
+ =

+
v v
m
v
m
a h x x
h
m
F F
x x x
x
n n n
v x
n n n

2
1
2
1 1
2
2
.
(3.1.4)

Substituyendo la velocidad calculada anteriormente:

2
2 1 1
1 1
2
1 1 1 1
2
2
2 2
x n n
n n n n
n n n n
x x h
x x x a h
m h
x x x x h
m h h

+
+
+ +
| |
= +
|
\ .
| |

|
\ .
,
(3.1.5)

para tener una notacin ms compacta, definamos como:

<
>
=
+
+
0 si
0 si
1 1
1 1
n n
n n
x x
x x

.
(3.1.6)

De este modo conserva la informacin del signo de la velocidad, entonces:



43
[ ]
1 1
2
1
2
1 1 1
2
1
1 1
2
1
2
1 1 1
2
1
2
1 1
2
1 1
2
2
1 1
2 4 2 2
2
2
4 2 2
2
2 2
2
+ + +
+ + +
+ +
+
+ + + =
+ + + =
|
.
|

\
|
|
.
|

\
|
+ =
n n n n n n
x
n n n
n n n n n n
x
n n n
n n n n x
n n n n
x x
m
x x
m
x
m
h
x
m
h
h a x x
x x x x
m
x
m
h
x
m
h
h a x x
h
x x
m
h
h
x x
m
h
h a x x x



.
(3.1.7)

Arreglando los trminos obtenemos una ecuacin de segundo orden para
1 + n
x :

0
4 2
1 2
2 2
1
4
2 2
1 1 1 1
2
1
= +
(

+
(

+ +
+ +
h a
m
x
m
h
x x x
m m
h
x
m
x
x
n n n n n n n

, (3.1.8)

entonces:

A
AC B B
x
n
2
4
2
1

=
+
, (3.1.9)

con:

2 2
1 1
1
4 2
1 2
2 2
1
4
h a x
m
x
m
h
x C
x
m m
h
B
m
A
x
n n n n
n
+
(

+ =
+ =
=

(3.1.10)

Ahora:

1
2
1
2
2 2
2
2
1
4 2
1

|
.
|

\
|
+ +
|
.
|

\
|
+ =
n n
x
m m
h
x
m m
h
B

(3.1.11)



44
)
`

+
(

+ + =

2 2
1 1
4 2
1 2 4 h a x
m
x
m
h
x
m
AC
x
n n n n

(3.1.12)
y
[ ]
2
1
2
2
2 2
2
1 4 h a x x
m m
h
AC B
x
n n n
+ +
|
.
|

\
|
+ =


,


entonces:
[ ]
2
1
2
1 1
2 2
2
1
2 2
2
1 h a x x
m m
h m m
m
h
x x
x
n n n n n
+ + |
.
|

\
|
+ |
.
|

\
|
+ =
+

.
(3.1.13)

Ahora bien, tenemos que discernir cul de los signos es el correcto, para ello, desarrollemos
la raz en serie para 1 << :

2
2
1
1
2
2
1
2
1 2 2
2
1 1 2 2
2
1
2
x
n n n
x
n n n
h
x x a h
m m
h
x x a h
m
h
m
m

| |
( + + +
|

\ .


| |
( = + + +
`
|

\ .
| |

+
|

\ . )
,
(3.1.14)

y entonces podemos aplicar el desarrollo en serie:

( ) +

+ + = +
2
! 2
) 1 (
1 1 x
n n
nx x
n
(3.1.15)



45
[ ] [ ]
[ ]

+ +
|
.
|

\
|
+
+ |
.
|

\
|
+ =
(
(
(
(
(

+ +
|
.
|

\
|
+
+ |
.
|

\
|
+ = + + |
.
|

\
|
+


2
1
2
1
2
2
1
2
2 2
2
1 2
2
1
2 2
2
1
2
1
1
2
1 2 2
2
1
h a x x
m
h
m
m
h
h a x x
m
h
m
m
h
h a x x
m m
h
x
n n n
x
n n n
x
n n n


(3.1.16)

Sustituyendo lo anterior en la expresin para
1 + n
x tenemos:

[ ]
[ ]
2
1 1
2
1 1 1
2 2
2
1
1 2
2
1
2
2
1
2 2
2
1 2
2
1
2 2
2
1
h a x x
m
h
m
m
h m
m
h
x
h a x x
m
h
m
m
h m m
m
h
x x
x
n n n n
x
n n n n n
+
|
.
|

\
|
+

|
.
|

\
|
+
|
.
|

\
|
+

+
|
.
|

\
|
+
+
|
.
|

\
|
+
|
.
|

\
|
+

+

.
(3.1.17)

Si se toma la solucin positiva:

[ ]
2
1 1 1
2 2
2
1
1
h a x x
m
h
x x
x
n n n n n
+
|
.
|

\
|
+
+ =
+

, (3.1.18)

si 0 se recupera la expresin original para el mtodo de Verlet sin friccin:


2
1 1 1
2 2 h a x x x x
x
n n n n n
+ + =
+
,
(3.1.19)




46
mientras que si tomamos la solucin negativa, se llega a:

|
.
|

\
|
+
+
|
.
|

\
|
+ =

+
m
h
h a x x m
m
h
x x
x
n n n
n n
2
1
2 2 2
2
1 2
2
1
1 1

, (3.1.20)

con lo cual no se recupera el comportamiento original, por lo tanto tenemos que la
expresin correcta es:


[ ]

+ + |
.
|

\
|
+ |
.
|

\
|
+ =
+
2
1
2
1 1
2 2
2
1
2
1
2
h a x x
m m
h
m
h m
x x
x
n n n n n

.
(3.1.21)


Lo anterior es vlido para 0 , sin embargo, si se requiere aplicar el modelo lineal para la
fuerza de friccin v F
v
= , se aplica un planteamiento simplificado que se describe ms
adelante.

Con este nuevo algoritmo se atac el mismo problema que se ha manejado hasta ahora, y
como puede verse en la siguiente figura, la diferencia numrica con el resultado obtenido
con el mtodo de Runge-Kutta de tercer orden es mnima (del orden de 6 x 10
-4
en
promedio), comparada con las dimensiones del sistema, donde la separacin entre las
cargas es de 180 u.a. Ntese que esta diferencia tiene mximos relativos en los puntos
donde la partcula pasa por el origen, esto es, donde su velocidad es mxima, y se van
atenuando en la medida en que esta disminuye, asimismo, la diferencia se anula en los
puntos donde la partcula cambia de direccin, es decir, donde su velocidad es cero.



47
-0. 003
-0. 002
-0. 001
0
0. 001
0. 002
0. 003
0. 004
0. 005
0. 006
0. 007
0. 008
0 50 100 150 200 250 300 350
Ti empo ( u. a. )
Diferencia con Runge-Kutta de tercer orden
Posicin / 10000


Con este anlisis podemos concluir que el algoritmo extendido de Verlet tiene al menos la
precisin del mtodo de Runge-Kutta de tercer orden, sin embargo, el nmero de
operaciones necesarias para cada iteracin, es mayor en ste ltimo para un problema tpico
de mecnica clsica del tipo
2
2
) , (
dt
x d
v x mf = , ya que como se describi anteriormente, se
requiere el planteamiento de un sistema dos ecuaciones diferenciales:

) , , ( t v x f v
v x
=
=
,
(3.1.22)

y del esquema:



48
[ ]
[ ]
3 2 1 1
3 2 1 1
2 1 2 1 3
2 1 3
1 1 2
1 2
1
1
4
6
1
4
6
1
) , 2 , 2 (
) 2 (
)
2
,
2
1
,
2
1
(
)
2
1
(
) , , (
k k k x x
l l l v v
h t l l v k k x hf l
l l v h k
h
t l v k x hf l
l v h k
t v x hf l
hv k
n n
n n
n n n
n
n n n
n
n n n
n
+ + + =
+ + + =
+ + + =
+ =
+ + + =
+ =
=
=
+
+
(3.1.23)

de modo que se tiene un total de tres llamadas a la funcin f, y un nmero considerable de
operaciones bsicas.

Otra solucin para manejar fuerzas dependientes de la velocidad es la presentada por
C. Scherer
15
consiste en calcular la velocidad mediante el mtodo de Euler teniendo:


2
1
2 2
1 1
2
x
n n n n n
x
n n n n n n
v v h a v v
m m
x x x h a v v
m m


+
+
(
= +
(

(
= +
(

,
(3.1.24)

de modo que para el clculo de la posicin al tiempo n+1, slo se necesita conocer la
posicin en los dos tiempos anteriores y la velocidad al tiempo anterior. Implementando
este algoritmo para el problema anterior, y nuevamente calculando la diferencia de la
posicin en cada tiempo con lo obtenido del Mtodo de Runge-Kutta de tercer orden, se
obtuvo la grfica siguiente, dnde pueden verse las fluctuaciones de la diferencia, las cuales
son en promedio del orden de 0.9 u.a.

15
http://pcleon.if.ufrgs.br/~leon/metcomp/ode/node10.html


49
0
0.5
1
1.5
2
2.5
3
3.5
4
0 50 100 150 200 250 300 350
Tiempo (u.a.)
D
i
f
e
r
e
n
c
i
a

(
u
.
a
.
)
Diferencia con Runge-Kutta de tercer orden


De lo anterior se tiene que la extensin al algoritmo de Verlet propuesta en el presente
trabajo es mucho ms fiel a los resultados obtenidos con un mtodo tan utilizado como es el
de Runge-Kutta, respecto al expuesto en la Ref. 15, con la ventaja de que nuestro algoritmo
slo requiere una llamada a la funcin que describe a la fuerza involucrada en el sistema.
Esto ltimo es importante, ya que dependiendo de la aplicacin pueden aparecer
expresiones complicadas, y en algunos casos, su pueden no tener una solucin analtica, de
modo que en cada iteracin se tenga que emplear algn mtodo numrico, de modo que el
nmero de llamadas a la funcin puede ser determinante para que la solucin numrica de
un problema sea o no factible.



50
3.2 GENERALIZACIN A DOS O MS DIMENSIONES

El planteamiento anterior demostr ser til y eficiente para problemas que involucran una
dimensin, sin embargo, la extensin a dos y tres dimensiones no es obvia, ya que en el
anlisis aparecen ecuaciones acopladas como se ver a continuacin.

La velocidad en el tiempo t se calcula para cada componente de la siguiente manera:

h
h t y h t y
v
h
h t x h t x
v
y
x
2
) ( ) (
2
) ( ) (
+
=
+
=
(3.2.1)

de modo que
2 2 2
z y x
v v v v v + + = = .

Tenemos ahora que la fuerza en el sistema

v r
F F F + = , (3.2.2)

donde
r
F se refiere al trmino de la fuerza dependiente del vector de posicin
)

( k z j y i x r + + = , y la fuerza de friccin
2
v v F
v
= se vera como:

[ ] [ ]

( )( )

v
x y z
x x y y z z
F v v i v j v k
v v v i v v v j v v v k


= + +
( = + +

,
(3.2.3)

y retomando el desarrollo del algoritmo extendido de Verlet:



51
2 2
( ) ( )
( ) 2 ( ) ( )
r v
x x
F t F t
x t h x t x t h h h
m m
+ = + + , (3.2.4)

esto es:
{ } v h
m
v
h t a h t x t x
h
m
v v
h
m
v
h t a h t x t x h t x
x r
x
x x r
x


+ + =
+ = +
2 2
2 2 2
) ( ) ( ) ( 2
) ( ) ( ) ( 2 ) (
.
(3.2.5)

Entonces, sustituyendo:

[ ]
[ ] [ ] [ ] { }
2 2 2
2
) ( ) ( ) ( ) ( ) ( ) (
) ( ) (
2
) ( ) ( ) ( 2 ) (
h t z h t z h t y h t y h t x h t x
h t x h t x
m
h
h t a h t x t x h t x
r
x
+ + + + +
+ + + = +

.
(3.2.6)

y anlogamente:

[ ]
[ ] [ ] [ ] { }
[ ]
[ ] [ ] [ ] { }
2 2 2
2
2 2 2
2
) ( ) ( ) ( ) ( ) ( ) (
) ( ) (
2
) ( ) ( ) ( 2 ) (
) ( ) ( ) ( ) ( ) ( ) (
) ( ) (
2
) ( ) ( ) ( 2 ) (
h t z h t z h t y h t y h t x h t x
h t z h t z
m
h
h t a h t z t z h t z
h t z h t z h t y h t y h t x h t x
h t y h t y
m
h
h t a h t y t y h t y
r
z
r
y
+ + + + +
+ + + = +
+ + + + +
+ + + = +


.
(3.2.7)

Como puede verse, la solucin de este sistema de ecuaciones involucra trminos acoplados,
de modo que se tendra que resolver una ecuacin de cuarto orden para dos dimensiones y
de sexto orden para tres dimensiones, lo cual hace que la complejidad del algoritmo sea
inaceptable, sin embargo, es posible emplear el modelo para la fuerza de friccin


52
considerando solamente la parte lineal de esta, es decir v F
v
= . En este caso, el
desarrollo es muy simple como se ver a continuacin:

Ya que v F
v
= , entonces se puede dividir en componentes como sigue:

y
v
y
x
v
x
v F
v F

=
=
(3.2.8)

Y se tena de la Ec (3.2.4) que:

2 2
1 1
2 h
m
F
h
m
F
x x x
v
x
x
x
n n n
+ + =
+
,
(3.2.9)

entonces, sustituyendo:

[ ] ) ( ) (
2
) ( ) ( ) ( 2 ) (
2
h t x h t x
m
h
h t a h t x t x h t x
x
+ + = +

,
(3.2.10)

entonces:

0 1
2
) ( ) ( 1
2
) ( ) ( 2
2
=
(

+ + +
(

+
m
h
h t x h t a
m
h
h t x t x
x

, (3.2.11)

y finalmente:

(

+
(

+
+
= +
2
) ( 1
2
) ( ) ( 2
2
2
) ( h t a
m
h
h t x t x
m h
m
h t x
x

. (3.2.12)



53
Es claro que lo anterior se extiende a n dimensiones haciendo lo propio para cada entrada
del vector de posicin obteniendo as un conjunto de ecuaciones no acopladas:

(

+
(

+
+
= +
2
) ( 1
2
) ( ) ( 2
2
2
) ( h t a
m
h
h t x t x
m h
m
h t x
x


2
2
( ) 2 ( ) ( ) 1 ( )
2 2
y
m h
y t h y t y t h a t h
h m m

( (
+ = + +
( (
+


2
2
( ) 2 ( ) ( ) 1 ( )
2 2
z
m h
z t h z t z t h a t h
h m m

( (
+ = + +
( (
+

.

Dada la sencillez de este esquema, es posible introducir perturbaciones en la velocidad
durante la simulacin, teniendo as la posibilidad de enriquecer la simulacin mediante la
inclusin de modelos de motores de propulsin, corrientes de viento, etc. Lo anterior se
logra simplemente retomando las condiciones del sistema al tiempo t, planteando con esta
informacin y el efecto de la perturbacin sobre la velocidad del mvil, nuevas condiciones
para reinicializar el algoritmo sin perder la continuidad de la simulacin.


54
3.3 APLICACINES DEL ALGORITMO EXTENDIDO DE VERLET

3.3.1 MOVIMIENTO DE VARIOS CUERPOS CON INTERACCIN
ELCTROSTTICA EN UN MEDIO RESISTIVO.

Un problema interesante tratado anteriormente con un mtodo alternativo propio por el Dr.
Enrique Cabrera y el Dr. Hctor Riveros
16
del instituto de Fsica de la UNAM, consiste en
un grupo de partculas cargadas elctricamente con carga q que se mueven en un medio
resistivo, y que estn dentro de un crculo formado por un cierto nmero de partculas fijas
cargadas con carga Q y considerando que q y Q tienen el mismo signo.



Entonces, tenemos que la componente de la fuerza dependiente de la posicin es anloga al
caso gravitacional y est dada por:

(
(

+ =

i j n
n
n
j
j
i
r
r
qQ r
r
q K F
1

1
2 2
2
, (3.3.1)


16
Simulacin de nucleacin analgica y digital, H.G. Riveros y Enrique Cabrera, Congreso de la Sociedad
Mexicana de Cristalografa, del 24 al 28 de Noviembre de 1997, SLP, Mxico.



55
donde K es una constate de ajuste de unidades. La fuerza de friccin (dependiente de la
velocidad) tendr los componentes:

v
x x
v
y y
F v
F v

=
=
.
(3.3.2)
De modo que el esquema del algoritmo de Verlet Extendido quedara:

(
(

+ +
(

+
+
= +

i j n
n
j
j
n
r
qQ
r
q
m
Kh
m
h
h t x t x
m h
m
h t x ) cos(
1
) cos(
1
1
2
) ( ) ( 2
2
2
) (
2 2
2
2

(
(

+ +
(

+
+
= +

i j n
n
j
j
n
r
qQ
r
q
m
Kh
m
h
h t y t y
m h
m
h t y ) sen(
1
) sen(
1
1
2
) ( ) ( 2
2
2
) (
2 2
2
2

.
(3.3.3)

As pues, se implement un programa empleando el esquema anterior, el cual realiza una
animacin que representa el movimiento de las partculas interiores desde su posicin
aleatoria inicial hacia su configuracin de mnima energa. En la siguiente figura se muestra
un ejemplo de la configuracin del sistema estabilizado dada por la simulacin.





56
Los resultados obtenidos mediante este programa fueron validados mediante un mtodo
alternativo que llamaremos MER (Mtodo de Relajacin en Energa) para encontrar las
configuraciones de mnima energa, el cual se describe a continuacin:

A cada partcula, de manera secuencial, se le calculan ocho posiciones de prueba
equidistantes de la posicin original, como se muestra en la figura. En cada una de estas
posiciones se calcula la energa potencial del sistema, de este modo, es posible discernir en
cual de ellas esta es menor, eligindola como la nueva posicin de la partcula. Una vez
hecho esto con cada una de las partculas del sistema, se almacena el valor de la energa
potencial para la configuracin obtenida para compararlo con su valor en la siguiente
iteracin, de este modo, cuando la diferencia sea menor que cierto umbral predefinido,
podemos inferir que el sistema se encuentra en su configuracin de mnima energa.



Los resultados de la comparacin del mtodo de Verlet extendido con el MER resultaron
muy satisfactorios, ya que el valor final de la energa potencial no difiere sino hasta la
cuarta o quinta cifra significativa (empleando unidades arbitarias). Cabe mencionar que
aunque ambos mtodos sean consistentes en cuanto a la energa potencial del sistema una
vez en reposo, las trayectorias que siguen las partculas para llegar a la configuracin final
difieren en gran medida, ya que en el caso del MER no se plantea una trayectoria fsica,
sino que sta est dada por la mecnica del algoritmo, sin embargo, usando el algoritmo


57
extendido de Verlet, las trayectorias son las que realmente seguiran las partculas de forma
natural en un experimento realizado fsicamente, ya que stas forman la solucin de la
ecuacin [diferencial] de movimiento.

En el programa se implementan simultneamente ambos mtodos, y en el caso del
algoritmo de Verlet, es posible seleccionar algunos parmetros como el nmero de cargas y
el coeficiente de friccin del medio.


58

3.3.2 INGRESO DE UN METEORITO A LA ATMSFERA TERRESTRE

Un problema interesante que puede tratarse mediante las herramientas que se han venido
desarrollando en el presente trabajo es predecir la trayectoria de un meteorito al ingresar en
la atmsfera terrestre. Lo anterior requiere plantear un modelo de la atmsfera para
proponer una dependencia del coeficiente de friccin con la distancia a la superficie de la
tierra (altura). En la figura siguiente, se muestra una serie de datos experimentales de la
densidad del aire a diferentes alturas, as como un ajuste mediante una exponencial
decreciente.



Por otro lado, sabemos que la fuerza de friccin en un fluido est dada como:

v K F
f
= (3.3.4)



59
y el coeficiente de friccin K depende de la forma del cuerpo, para una esfera, tenemos la
relacin conocida como la ley de Stokes:

R K 6 = , (3.3.5)

donde R es el radio de la esfera. Ahora, el coeficiente de viscosidad depende de la fuerza
de friccin entre las diferentes capas del fluido que se muevan a diferentes velocidades, la
cual depende a su vez de la temperatura. Es claro que en un fenmeno como el que se
pretende simular la temperatura es algo difcil de tratar, debido a que entran en juego
factores tales como la ionizacin del gas, la absorcin de calor del meteorito, etc., de modo
que en esta seccin trabajaremos con un modelo simplificado, tomando un coeficiente de
viscosidad proporcional nicamente a la densidad de la atmsfera, ya que el modelo que
describe completamente a este fenmeno escapa de los propsitos del presente trabajo.

La expresin correspondiente al ajuste de la densidad de la atmsfera es la siguiente:

0.24026 1.46634 exp
12337.90643
A
y


= +
`
)
, (3.3.6)

donde y est dada en metros. El coeficiente de viscosidad del aire a 40C y a nivel del mar
es 1.9 Poises, lo cual, en el sistema MKS equivale a 0.19 kg/(m
.
s), entonces, si
consideramos que la viscosidad ser directamente proporcional a la densidad, podemos
obtener un modelo para la viscosidad normalizando la expresin para
A
de modo que
tome este ltimo valor para distancias muy cercanas a la superficie, as la expresin para
sera

0.0372331 0.227239 exp
12337.90643
y


= +
`
)
, (3.3.7)

entonces el coeficiente de friccin en las unidades propias del sistema MKS (i.e. kg/s) es:


60

( ) 6 0.0372331 0.227239 exp
12337.90643
y
y R
(
= +
`
(
)
, (3.3.8)

con R y y en metros.

Para aplicar lo anterior propongamos un problema en particular; recientemente, los
astrnomos del Instituto Tecnolgico de Massachusetts descubrieron un asteroide de 2.06
km de dimetro en una rbita tal que en su momento se consider que tendra
probabilidades de colisionar con la Tierra el 1 de abril de 2019. A diferencia de la mayora
de los asteroides, los cuales orbitan alrededor del Sol en el plano de los planetas, el
2002NT7 sigue una trayectoria que est inclinada 42 grados, de modo que pasa la mayor
parte del tiempo arriba o abajo del resto del sistema solar, sin embargo, cada 2.3 aos, el
asteroide pasa a travs del sistema solar, cerca de la rbita terrestre. A continuacin
implementaremos una simulacin de este evento de este tipo empleando la expresin
anterior para el coeficiente de friccin en el Algoritmo Extendido de Verlet en un sistema
bidimensional.

La expresin para la fuerza, tomando en cuenta el Principio de Arqumides, sera la
siguiente:

( ) ( )
( )
y A y
x x
F g m V y v
F y v

=
=
, (3.3.9)

donde y es la altura, vx, vy son las componentes de la velocidad del mvil, y (y). De
acuerdo con lo anterior, el esquema del Algoritmo Extendido de Verlet sera el siguiente:



61
2
2 ( )
( ) 2 ( ) ( ) 1
( ) 2 2
2 ( )
( ) 2 ( ) ( ) 1 1
( ) 2 2
A
m y h
x t h x t x t h
y h m m
V m y h
y t h y t y t h h g
y h m m m

(
+ = +
`
(
+
)
( | | (
+ = + +
`
( |
(
+
\ . )
.
(3.3.10)

As, pues, se implement un programa, dnde es posible seleccionar el modelo para la
densidad del aire, por tanto para la friccin, exponencial o constante, pudiendo as
comparar las trayectorias y las velocidades en ambos casos, como se puede apreciar en las
figuras siguientes, donde se consider una velocidad inicial en x de 28.52 km/s. (102,672
km/h) una masa de 1.2 10
13
kg. y un radio de 9000 m.

El programa considera un ingreso tangente a la superficie de la tierra, lo cual equivale a un
tiro horizontal, no obstante el ngulo de ingreso puede ser estimado mediante un
procedimiento anlogo al expuesto en la seccin 2.3, dnde la trayectoria del mvil es
afectada por un cierto nmero de masas en movimiento y atrada gravitacionalmente por
una en particular en un cierto ngulo de entrada, de este modo, puede sofisticarse el
problema al considerar la rotacin de la tierra, de modo que el lugar geomtrico de ingreso
a la atmsfera sea conocido, y a partir del instante en que se considere que se hizo contacto
con la atmsfera, sea posible tomar los datos de ngulo y velocidad, y con estas
condiciones inicializar el programa mencionado dando continuidad a la simulacin. As
pues, sera posible predecir el lugar de colisin sobre la superficie del planeta.

Como en algunas de las aplicaciones anteriores, fue posible comprobar el desempeo del
programa mediante el anlisis de un problema conocido que arroje un resultado calculable
analticamente, en este caso, la velocidad terminal en un medio con densidad constante, la
cual, de acuerdo con el modelo depende tanto de la masa del mvil como con sus
dimensiones, de la siguiente manera:

f
t
m m
v g
K

= , (3.3.11)


62









63
donde m corresponde a la masa del mvil, m
f
a la masa del gas desplazado, g a la
aceleracin de la gravedad, K ser calculado de acuerdo a las ecuaciones (3.3.5) y (3.3.7)
considerando una densidad atmosfrica constante. De acuerdo con lo anterior, se calcul la
velocidad terminal de un objeto esfrico en cada libre de 1m de radio y con una masa de
30 Kg. Dando como resultado un valor de 68.176123 m/s. Implementando la simulacin
mediante el algoritmo de Verlet extendido, bajo las mismas condiciones del clculo, se
llega a una velocidad terminal de 68.10636 m/s., teniendo una diferencia porcentual del
0.01% aproximadamente.



64
3.4 VALIDACIN DEL ALGORITMO EXTENDIDO DE VERLET MEDIANTE
SU APLICACIN EN UN PROBLEMA CON SOLUCIN ANALTICA

Consideremos ahora el problema del oscilador armnico amortiguado, el cual, tiene
en su ecuacin de movimiento un trmino dependiente de la velocidad en forma lineal:


2
2
d x dx
kx b
dt dt
= , (3.4.1)

donde se consider masa unitaria. Esta ecuacin diferencial tiene solucin analtica, la cual
est dada por
17
:


2
2
( ) cos
4
bt
b
x t e a t k

| |
= + |
|
\ .
, (3.4.2)
donde

2
0 0
2
0
1
x
a

,
2
2
0
1
tan
4
b

.

Con las expresiones anteriores, se calcul la posicin del cuerpo para una sucesin de
valores de t, asimismo, se plantearon las soluciones numricas empleando el Mtodo de
Runge-Kutta de 3er Orden, el Mtodo de Verlet Scherer (Ec. 3.1.24), y la Extensin al
Algoritmo de Verlet.

El esquema para el Mtodo de Runge-Kutta de 3er orden para este problema en particular
es el siguiente:


17
V. Barger, M. Olsson, Clasical Mechanics: a Modern Perspective, (McGraw-Hill, New York, 1973) p. 17


65


[ ]
[ ]
( ) ( )
[ ]
[ ]
1
1
2 1
2 1 1
3 1 2
3 1 2 1 2
1 1 2 3
1 1 2 3
1
2
1 1
2 2
2
2 2
1
4
6
1
4 ,
6
n
n n
n
n n
n
n n
n n
n n
k hv
l h kx bv
k h v l
l h k x k b v l
k h v l l
l h k x k k b v l l
v v l l l
x x k k k
+
+
=
=
(
= +
(

( | | | |
= + +
| | (
\ . \ .
= +
= + + (

= + + +
= + + +
(3.4.3)

El esquema para el mtodo de Verlet-Scherer tiene una forma ms sencilla:


[ ]
[ ]
1 1
2
1 1
2 ,
n n n
n n n n
v v h kx bv
x x x h kx bv

+
= +
= +
(3.4.4)

y finalmente, la Extensin al Algoritmo de Verlet:


2
1 1
2
2 1
2 2
n n n n
bh
x x x kx h
bh
+
( | |
= +
| (
+
\ .
. (3.4.5)


Implementando cada uno de los esquemas anteriores, usando los mismos parmetros en
cada uno, incluso para la solucin analtica, se gener la siguiente grfica comparativa,
donde cada recuadro numerado corresponde a una amplificacin mostrada posteriormente:


66


Como se aprecia en figura anterior, todas las soluciones tienen el mismo comportamiento
cualitativo, sin embargo, como puede verse en el recuadro 1, existen diferencias notables.
Observamos que la solucin con VerletScherer y con el Algoritmo Extendido, estn
prcticamente empalmadas al inicio de la simulacin, dando valores ligeramente mayores a
la solucin analtica y aun a Runge-Kutta.





67
En el recuadro 2, se observa que la solucin con Verlet-Scherer se aparta dramticamente
de las dems lneas, coincidiendo stas en un punto.



En el recuadro 3 puede verse la evolucin del sistema al acercarse al equilibrio, podemos
notar que la diferencia de la solucin con Verlet-Scherer difiere cada vez ms, debido,
quiz, a la acumulacin del error en el clculo de la velocidad al aplicar el mtodo de Euler.




68
Es claro, de las ecuaciones (3.4.3)-(3.4.5), que la Extensin al Algoritmo de Verlet tiene
ventajas en cuanto a simplicidad algebraica y computacional, y su desempeo es muy
aceptable al compararlo con un mtodo tan aceptado como es el de Runge-Kutta.


69
4. CONCLUSIONES

Se encontr que el Algoritmo Clsico de Verlet es til para aplicaciones que involucran
dimensiones desde microscpicas hasta astronmicas, las cuales, hasta nuestro
conocimiento, no han sido reportadas. El mtodo clsico de Verlet es tan preciso como el
Mtodo de Runge-Kutta de 3
er
orden adems de que emplea una tercera parte de las
llamadas a la funcin.

Se desarroll un nuevo algoritmo para la solucin de ecuaciones diferenciales de segundo
orden con dependencia con la primera derivada lineal y cuadrticamente, el cual result ser
equivalente en su desempeo a los mtodos ms utilizados, con la ventaja de ser ms
eficiente en cuanto a su simplicidad algebraica, adems de requerir menos localidades de
memoria simultneas en su implementacin. Tambin se evalu una correccin al
algoritmo de Verlet para introducir fuerzas dependientes de la velocidad, propuesta por
C. Scherer [Ref. 15], cuyo desempeo no fue satisfactorio tanto en las posiciones como en
las velocidades comparado con la solucin exacta, de Runge-Kutta y la correcin aqu
propuesta.

Pensamos que la Extensin al Algoritmo de Verlet presentada en el presente trabajo puede
enriquecer el rea de la Computacin Cientfica, as como ampliar las posibilidades de
aplicacin del anlisis numrico dentro de la Fsica Computacional, con las ventajas de
simplicidad y confiabilidad del Algoritmo Clsico de Verlet, siendo lo suficientemente
verstil como para aceptar modelos ms completos de las fuerzas que rigen los fenmenos a
estudiar pudiendo ser considerablemente complejos, de modo que la utilidad del nuevo
algoritmo estar limitada nicamente por el nivel de confiabilidad y complejidad de dicho
modelo.
En resumen:
El algoritmo modificado preserva la esencia del algoritmo clsico de Verlet.
Las llamadas a memoria son esencialmente las mismas.


70
La confiabilidad en la estabilidad de la Energa se preserva a diferencia de los otros
mtodos reportados.
La sencillez de la programacin es la misma.
Otras alternativas al Algoritmo de Verlet par cuando se usan fuerzas dependientes
de la velocidad no son tan confiables.
La aplicacin del Algoritmo Clsico y del modificado se puede hacer para
dimensiones del tamao de molculas hasta dimensiones planetarias.
Las animaciones presentadas son pequeos experimentos muy verstiles en un
Laboratorio Virtual que permiten observar y hacer mediciones directamente de
fenmenos fsicos difciles de implementar en un laboratorio real.

La CC como parte de la Ciencia e Ingeniera de la Computacin es una herramienta que va
a permitir, an ms, el gran desarrollo de las otras Ciencias y de la Tecnologa de los pases
que quieran y sepan aprovecharla.

You might also like