simulación del movimiento de los tres cuerpos en matlab - IME-USP

Anuncio
“UN EXPERIMENTO NUMERICO SOBRE EL PROBLEMA
DE LOS TRES CUERPOS EN Mat Lab 5.1 ”
Lic. Juan Valentín Mendoza Mogollón
Docente del Departamento de Matemáticas
Universidad Nacional de Piura, Perú
juan_valentin_m@hotmail.com
jv_math@hotmail.com
Julio 2004
Resumen. En este trabajo se obtiene la representación formal de las ecuaciones
diferenciales, por aplicación de las leyes de Newton, que gobiernan al
movimiento de tres cuerpos en el plano, vale decir, un solo cuerpo
influenciado por otros dos fijos. Se resuelve este sistema generando un
sistema de primer orden no lineal de cuatro variables dinámicas (dos para la
posición y dos para la velocidad) y, por el método de Runge Kutta se obtiene
una aproximación de las trayectorias que debe seguir el cuerpo en un
movimiento real y con determinadas condiciones iniciales. Por ello se
muestra, también, los programas en Mat Lab 5.1 que permiten visualizar estas
trayectorias en el plano.
Abstrac
In this paper, the formal representation of the differential equations is
obtained, for application of the laws of Newton that govern to the movement
of three bodies in the plane, it is worth to say, a single body influenced for
other two fixed. Solved this system generating a system of first non lineal
order of four dynamic variables (two for the position and two for the speed)
and, for the method of Runge Kutta an approach of the trajectories is obtained,
that should follow the body in a real movement and with certain conditions
initials. For it is shown it, also, the programs in Mat Lab 5.1 that allow to
visualize these trajectories in the plane.
1.
Introducción.
El sistema físico que consiste en las órbitas de dos masas que interactúan por la
aceleración gravitacional puede ser expresado como una ecuación diferencial. Usando
las leyes de movimiento de Newton y la fórmula de la fuerza gravitacional, el
movimiento de estas dos masas puede ser descrito como una función del tiempo.
Decimos que tal sistema es “analíticamente soluble”. Las fórmulas obtenidas
demuestran que las masas siguen órbitas elípticas alrededor del centro combinado de
masa de los dos cuerpos.
Sin embargo, un sistema de tres o más masas interactuando exclusivamente por la
aceleración gravitacional no es “analíticamente soluble”. El así llamado “problema
de los tres cuerpos”, tiene un espacio de estados 18-dimensional, pues, para
1
resolver el sistema se necesita conocer las tres posiciones (x, y, z ) y las tres
velocidades ( x´, y´, z´) para cada masa, es decir, un total de 18, números. Para este
caso no existe una solución explicita del sistema de ecuaciones diferenciales, pero se
pueden utilizar métodos computacionales para aproximar las soluciones de las
ecuaciones que resultan de las leyes de movimiento de Newton y estas
aproximaciones nos dan una idea del comportamiento complicado de las trayectorias
de este sistema.
Por un tiempo no fue conocido que no había tales fórmula explicitas que resuelvan el
sistema. En 1889, por conmemoración del 60 aniversario de nacimiento del Rey
Oscar II de Suecia y Noruega, se convocó al concurso de presentar la mejor
investigación en mecánica celeste que lleve a decidir sobre la estabilidad del sistema
solar, ¿Es estable el sistema solar?. Uno de los puntos relevantes fue el problema de
los tres cuerpos. Henry Poincaré, un profesor de la universidad de Paris, fue
declarado ganador, quien resolvió “cualitativamente ” el problema de los tres cuerpos
y por los métodos y conceptos que aportó a la solución de este problema, los que han
contribuido a darle la forma actual a la teoría de sistemas dinámicos y señalaron el
camino a las investigaciones posteriores.
2.
Materiales y métodos.
En este artículo usaremos el método de Runge Kutta de orden 4 para la solución
numérica de un sistema de ecuaciones. La programación se realiza en el Software
Científico Mat Lab 5.1.
3.
Discusión
Para plantear una solución aproximada del movimiento de los tres cuerpos se efectúa
las siguientes simplificaciones:
I.
Asumiremos que los tres cuerpos se encuentran en movimiento sobre un
plano. Aquí el plano será OXY.
II.
Consideremos, también, que dos de los cuerpos son muy grandes en
comparación con la tercera masa y que está masa no afecta el
movimiento de las otras dos. Podemos imaginar que son dos estrellas y
un pequeño asteroide.
En general las dos estrellas grandes deben viajar en elipses alrededor de su centro
combinado de masa, pero haremos una simplificación adicional: Las dos masas se
encuentran fijas en el plano OXY y que la tercera masa es la única que posee
movimiento.
Sean m1 y m2 las dos masas mayores y m3 la tercera masa con m3 << m1 , m3 << m2 .
Consideremos que m1 esta fija en el origen (0,0) y que m2 está en el punto (a,0) ,
mientras que las coordenadas variables de m3 son ( x, y ) . Inicialmente la masa m3
esta ubicada en el punto ( x 0 , y 0 ) y con una velocidad de salida de ( x´0 , y´0 ) , es decir:
(x(0), y (0) ) = (x0 , y 0 )
.....................................(1.0)
(x´(0), y´(0) ) = ( x´0 , y´0 )
2
m3
(x,y)
F13
F23
Figura 1
(a,0)
(0,0)
m1
Por la ley de Newton:
m2
∑ F = ma
aplicada a m3 se encuentra la ecuación diferencial
que gobierna el movimiento de esta masa, donde las únicas fuerzas que actúan son las
Gm1 m2
gravitacionales: F =
u r . De la figura 1:
r2
F13 + F23 = m3 ( x' ' , y ' ' )
Gm1 m3
Gm2 m3
(0 − x.0 − y ) +
(a − x,0 − y ) = m3 ( x' ' , y ' ' )
2 3/ 2
3/ 2
(x + y )
(a − x )2 + y 2
Expresando esta ecuación por componentes:
Gm2 ( x − a)
− Gm1 x
x' ' =
−
2
2 3/ 2
(x + y ) (x − a )2 + y 2 3 / 2
...............
(1.1)
− Gm1 y
Gm2 y
−
y' ' =
(x 2 + y 2 )3 / 2 (x − a )2 + y 2 3 / 2
Introduciendo las variables u = x' , v = y ' , el sistema (1.1) de segundo orden se
convierte en un sistema no lineal de primer orden:
 x' = u
 y' = v


Gm2 ( x − a)
− Gm1 x
u
'
−
=
.............................. (1.2)
3
/
2

2
2
2
2 3/ 2
(
)
x
y
+
(
)
x
a
y
−
+


− Gm1 y
Gm2 y
−
v' = 2
3
/
2
(x + y 2 ) (x − a )2 + y 2 3 / 2

(
2
)
(
)
(
)
(
)
(
)

− Gm1 x
Gm2 ( x − a )
Gm2 y
− Gm1 y
Si f ( X ) =  u , v,
−
,
−
3
/
2
3
/
2
3
/
2

x2 + y2
x2 + y2
( x − a )2 + y 2
( x − a )2 + y 2

de (1.0), (1.1) y (1.2) se tiene el siguiente teorema:
(
)
(
) (
3
)
(
)
3/ 2

 y


Teorema 1.
Si X = ( x, y, u , v) , el sistema de movimiento de los tres cuerpos, con las
simplificaciones I y II se puede formalizar como un sistema de ecuaciones no
lineales:
X '= f (X )
X (0) = ( x(0), y (0), u (0), v(0)) = ( x0 , y 0 , x' 0 , y ' 0 )
(1.3)
Si definimos q = ( x, y ) , este vector representa la posición y si p = (u, v) , el vector de
velocidades, este representa el momento.
Definición 1.
Un sistema se llama Hamiltoniano si existe una función H : R 2 N → R , llamada
Hamiltoniano o función de energía para la cual se puede representar el sistema por la
ecuaciones de Hamilton:
∂H

 p' = − ∂q

(1.4)

q' = ∂H

∂p
donde p y q son N-dimensionales.
Teorema 2.
El movimiento de los tres cuerpos, con las simplificaciones I y II, es un sistema
Hamiltoniano con función de energía:
− m1G
m2 G
u2 v2
H ( q , p , t ) = H ( x, y , u , v, t ) =
−
+
+ ............(1.5)
1/ 2
1/ 2
2
2
x2 + y2
( x − a )2 + y 2
(
)
(
)
Los sistemas Hamiltonianos son un clásico de los sistemas dinámicos que ocurren en
una gran variedad de fenómenos. Las propiedades especiales de las ecuaciones de
Hamilton les otorgan atributos que difieren cualitativamente y fundamentalmente de
otros sistemas, por ejemplo, los sistemas Hamiltonianos no tienen atractores.
En el caso especial que el Hamiltoniano no tiene dependencia explicita del tiempo,
H = H (q, p) puede ser usado en las ecuaciones de Hamilton para demostrar que,
cuando p y q varían en el tiempo, el valor de H (q(t ), p (t )) permanece constante:
dH dq ∂H dp ∂H ∂H ∂H ∂H ∂H
=
.
+
=
.
−
.
=0
∂p ∂q ∂q ∂p
dt
dt ∂q dt ∂p
Así, como hemos identificado el valor de Hamiltoniano con la energía del sistema,
vemos que la energía es conservada en sistemas independientes del tiempo, es decir,
E = H ( p, q ) = Conste. a través del tiempo.
4
Es claro que no existe una solución explicita del sistema (1.3); sin embargo, se puede
encontrar una solución numérica aproximada de (1.3) para determinadas condiciones
iniciales. El método de resolución es llamado el “método de Runge Kutta de orden 4”
y se enuncia:
Teorema 3.
Una ecuación diferencial en R n de primer orden: X ' = f ( X , t ) , X (t 0 ) = X 0 , se
puede resolver con una aproximación de o(h 4 ) , donde h > 0 es un número real,
definiendo: X (0) = X 0 , t i +1 = t i + h = t 0 + ih y las aproximaciones de X (t i +1 ) por:
1
X (t i +1 ) ≅ X i +1 = X i + (k1 + 2k 2 + 2k 3 + k 4 )
6
donde:
k1 = hf ( X i , t i )
k1
h
, ti + )
2
2
k
h
k 3 = hf ( X i + 2 , t i + )
2
2
k 4 = hf ( X i + k 3 , t i + h)
k 2 = hf ( X i +
4.
Resultados.
Si aplicamos el método de RungeKutta al sistema (1.3) de movimiento de m3 , se
generará una serie de puntos 4-dimensionales que ofrecen una aproximación a las
trayectorias reales del sistema. Las dos primeras coordenadas ( x, y ) de estos puntos
4-dimensionales corresponden a la posición en el plano de m3 y las coordenadas
(u, v) a los valores de la velocidad vectorial en esos puntos.
En el Software Mat Lab se ha realizado la programación del método de Runge Kutta
para el sistema (1.3). Se requiere definir una función “campovectorial.m” que
calcule los valores del campo vectorial f (x) :
function a=campovectorial(x,y,u,v,m1,m2,d)
G=0.00000000000000667;
f1=u;
f2=v;
f3=G*(-(m1*x)/((x^2+y^2)^(3/2))+(m2*(d-x))/(((d-x)^2+y^2)^(3/2)));
f4=-G*((m1*y)/((x^2+y^2)^(3/2))+(m2*y)/(((d-x)^2+y^2)^(3/2)));
a=[f1,f2,f3,f4];
La solución numérica del sistema de ecuaciones que gobiernan el movimiento de las
tres masas se da en el siguiente programa “masas.m” que reproduce el plano de
fase de (1.3) solo para las coordenadas de posición:
5
figure(1);
m2=2.8985e+015; m1=2.2489e+015; a=20; t0=0; t=t0+h;
hold on;
h=0.05; x0=11.6; y0=0.5; u0=-0.8; v0=0.9;
%h=0.05; x0=11.4; y0=1.4; u0=-1.2; v0=-1.2;
%h=0.05; x0=11.4; y0=1.4; u0=-0.5 v0=-1.2;
%h=0.005; x0=32; y0=0.5; u0=-1.6; v0=0.6; %resulta un movimiento de
cuasicometa
%h=0.05; x0=32; y0=0.5; u0=-1.67; v0=0.6;
%h=0.05; x0=-20; y0=0.5; u0=0.0; v0=1.4;
%h=0.5; x0=-20; y0=0.5; u0=0.0; v0=1.55; %resulta un movimiento de cometa
%h=0.05; x0=32; y0=0.5; u0=-1.4; v0=1.2;
%h=0.05; x0=32; y0=0.5; u0=-1.35; v0=1.4;
%h=0.05; x0=32; y0=0.5; u0=-1.53; v0=1.4;
%h=0.05; x0=32; y0=0.5; u0=-1.6; v0=1.4;
plot(0,0,'*r'); plot(20,0,'*r'); plot(x0,y0,'+g');
for i=1:100000,
t=t+h;
k1=h*campovectorial(x0,y0,u0,v0,m1,m2,a);
k2=h*campovectorial(x0+k1(1)/2,y0+k1(2)/2,u0+k1(3)/2,v0+k1(4)/2,m1,m2,
a);
k3=h*campovectorial(x0+k2(1)/2,y0+k2(2)/2,u0+k2(3)/2,v0+k2(4)/2,m1,m2,
a);
k4=h*campovectorial(x0+k3(1),y0+k3(2),u0+k3(3),v0+k3(4),m1,m2,a);
x0=x0+(k1(1)+2*k2(1)+2*k3(1)+k4(1))/6;
y0=y0+(k1(2)+2*k2(2)+2*k3(2)+k4(2))/6;
u0=u0+(k1(3)+2*k2(3)+2*k3(3)+k4(3))/6;
v0=v0+(k1(4)+2*k2(4)+2*k3(4)+k4(4))/6;
plot(x0,y0,'.b');
end
zoom on
Estos dos programas se deben almacenar en archivo C:Matlab/bin, que contiene a
todas las funciones definidas por el usuario. Luego se pueden compilar desde la hoja
de cálculo de Matlab 5.1.
Al compilar este programa en Matlab se obtuvieron los resultados:
Ejemplo 1. Estas trayectorias se
obtienen si los valores iniciales
de la posición de la masa m3 son
(32,0.5) y la velocidad inicial es
(−1.6,0.6)
6
Ejemplo 2. En esta figura se
muestra el movimiento de la
si las condiciones
masa m3
iniciales para la posición son
(11.6,0.5) y para la velocidad
inicial (−0.8,0.9)
Ejemplo 3. Para plotear la
orbita de m3 en este caso se
utilizo la posición inicial
(14.4,1.4) y la velocidad inicial
(−1.2,−1.2)
Ejemplo 4. Para las condiciones
iniciales de este ejemplo, la
masa m3 se comporta como un
cometa alrededor de las masas
m1 y m2 . En este caso se dice
que el sistema es estable
7
Esta figura representa las trayectorias
con un tamaño de paso h=0.005
5.
Esta figura se obtiene con h=0.05, x0=32,
y0=0.5; u0=-1.35; v0=1.4
Conclusiones.
Es evidente que las trayectorias de la masa m3 son diferentes para diferentes
condiciones iniciales y no siguen un comportamiento uniforme con respecto a estas
condiciones iniciales. Se puede concluir que:
a)
El sistema que gobierna el movimiento de la masa m3 , con las
simplificaciones I) y II) se puede simular numéricamente usando el método
de Runge Kutta, para diferentes condiciones iniciales.
b)
Las ecuaciones diferenciales que describen el movimiento de la masa m3 ,
conforman un sistema Hamiltoniano en el cual se conserva la energía, es
decir es un sistema conservativo.
c)
La aproximación del método de Runge Kutta es suficiente para lograr un
desarrollo de las trayectorias que no difieran considerablemente de las
trayectorias reales.
6.
Recomendaciones.
a)
b)
7.
Se recomienda programar las soluciones numéricas de las ecuaciones de
movimiento de los tres cuerpos, sin suponer que dos de ellos están fijos.
Utilizar métodos más exactos, como el método de Neville, para solucionar
sistemas de ecuaciones diferenciales, con la ventaja que es un método más
aproximado que el de Runge Kutta, pero que efectúa más cálculos internos,
lo que aumenta el tiempo de compilación de estos programas
Referencias bibliográficas.
1.
2.
3.
4.
Alligood, K; Sauer, T. and Yorke, J. 1996. “Chaos: An introduction to
dynamical systems”, Editorial Springer, New York, pp 43-50.
Gaponov-Greklov and Rabinovich, M. 1990, “Non linearities in action”,
Novgord-Rusia, Editorial Springer Verlag. Pp 5-30.
Ott, Edward, 1993, “Chaos in dynamical systems”, Cambridge, Editorial
University Press Cambridge, pp 208-213
Verhulst, F, 1996, “Non linear differential equations and dynamical
systems”, Editorial Springer, Utrecht, Rusia, pp 103-105
8
Descargar