Solución numérica de las ecuaciones del movimiento

Las leyes de Kepler describen el movimiento de los planetas en torno del Sol, sin indagar en las causas que producen tal movimiento.

1.-Los planetas describen órbitas elípticas estando el Sol en uno de sus focos.

2.-El vector posición de cualquier planeta con respecto del Sol, barre áreas iguales de la elipse en tiempos iguales.

3.-Los cuadrados de los periodos de revolución son proporcionales a los cubos de los semiejes de la elipse.

Las leyes de Newton, no solamente explican las leyes de Kepler sino que predicen otras trayectorias para los cuerpos celestes: las parábolas y las hipérbolas. En general, un cuerpo bajo la acción de la fuerza de atracción gravitatoria describirá una trayectoria plana que es una cónica.

Como se ha comentado, las propiedades central y conservativa de la fuerza de atracción entre un cuerpo celeste y el Sol, determinan un sistema de dos ecuaciones diferenciales de primer orden, que cuando se expresan en coordenadas polares, conducen a la ecuación de la trayectoria, una cónica.

En esta página, se procede de otro modo: se calculan las componentes de la aceleración a lo largo del eje X y a lo largo del eje Y, dando lugar a un sistema de dos ecuaciones diferenciales de segundo orden que se resuelven por procedimientos numéricos

Solución numérica de las ecuaciones del movimiento

Supongamos que una partícula de masa m (un planeta) es atraída por un cuerpo masivo de masa M (el Sol) Supondremos que la la influencia de la partícula sobre el cuerpo es despreciable permaneciendo en reposo en el origen.

La partícula está sometida a una fuerza atractiva cuya dirección es radial y apuntando hacia el centro del Sol.  El módulo de la fuerza viene dado por la ley de la Gravitación Universal

F=G Mm r 2

Siendo r la distancia entre la partícula y el centro de fuerzas, y x e y su posición respecto del sistema de referencia cuyo origen está situado en el Sol. r= x 2 + y 2

Las componentes de la fuerza son

F x =Fcosθ=F x r F y =Fsinθ=F y r

Aplicando la segunda ley de Newton, y expresando la aceleración como derivada segunda de la posición, tenemos un sistema de dos ecuaciones diferenciales de segundo orden.

m d 2 x d t 2 =G mM r 2 x r m d 2 y d t 2 =G mM r 2 y r

Dadas las condiciones iniciales (posición y velocidad inicial), el sistema de dos ecuaciones diferenciales se puede resolver aplicando un procedimiento numérico como el de Runge-Kutta.

Escalas

Antes de resolver el sistema de ecuaciones diferenciales por procedimientos numéricos, es conveniente prepararlas para que el ordenador no maneje números excesivamente grandes o pequeños.

Establecemos un sistema de unidades en el que la longitud se mide en unidades r0=1.496·1011 m y el tiempo en unidades P=2πr0/v0, el tiempo que tarda en dar una vuelta completa. La ecuación de la dinámica del movimiento circular uniforme

G Mm r 0 2 =m v 0 2 r 0 , v 0 = GM r 0

El sistema de ecuaciones diferenciales se transforma en

d 2 x d t 2 =G M r 2 x r d 2 X d τ 2 r 0 P 2 =GM X ( X 2 + Y 2 ) 3/2 1 r 0 2 d 2 X d τ 2 =4 π 2 X ( X 2 + Y 2 ) 3/2

Lo mismo para la ecuación diferencial en y.

d 2 Y d τ 2 =4 π 2 Y ( X 2 + Y 2 ) 3/2

Volviendo a la notación x e y para la posición y t para el tiempo en el nuevo sistema de unidades. El sistema de ecuaciones diferenciales se escribe

d 2 x d t 2 =4 π 2 x ( x 2 + y 2 ) 3/2 d 2 y d t 2 =4 π 2 y ( x 2 + y 2 ) 3/2

Se resuelve por procedimientos numéricos con las condiciones iniciales siguientes: en el instante t=0, x=x0, y=0, vx=0, vy=v0y.

Principio de conservación de la energía

La energía total de la partícula es una constante del movimiento. La energía de la partícula de masa m en el instante inicial t=0 es

E 0 = 1 2 m v 0 2 GmM r 0

Cuando E0<0 la partícula permanece confinada en el espacio que rodea a los dos cuerpos. Cuando E0≥0 la partícula escapa al infinito

La energía de la partícula en el instante t es igual a

E= 1 2 m( v x 2 + v y 2 ) GmM x 2 + y 2

En el nuevo sistema de unidades establecido

E m = 1 2 V 2 r 0 2 P 2 GM r 0 1 X 2 + Y 2 E m = v 0 2 4 π 2 ( 1 2 V 2 4 π 2 1 X 2 + Y 2 )

Volviendo a la notación previa. Definimos una nueva energía e por unidad de masa en este sistema de unidades

e= 1 2 ( v x 2 + v y 2 )4 π 2 1 x 2 + y 2

El programa interactivo evalúa en cada instante el cociente

| e e 0 e 0 |·100

que denominaremos tanto por ciento de error. Cuando la energía e difiere de e0 de modo que el cociente es mayor que la unidad el programa interactivo se detiene, la trayectoria calculada puede que se desvíe significativamente de la real y esto suele ocurrir cuando la partícula está muy cerca del centro de fuerzas

Ejemplo: Marte

Los datos de Marte son:

La distancia más cercana al Sol (perihelio) es r1=a-c=a-εa=1.382 UA=2.068·1011 m

La distancia más alejada del Sol (afelio) es  r2=a+c=a+εa=1.666 UA=2.492·1011 m

Conocidas las distancias máxima y mínima r1 y r2 calculamos la velocidad en el perihelio v1

v 1 = 2GM r 2 r 1 ( r 1 + r 2 )

v1=26420.7 m/s=5.573 UA/año

Cuando introducimos en el programa interactivo x=1.382 y vy=5.573, obtenemos la trayectoria elíptica de Marte alrededor del Sol y el tiempo que tarda en dar una vuelta completa P=1.86 años.

Actividades

En el programa interactivo, más abajo, se trazarán las trayectorias que describen los cuerpos celestes. Se comprobará la constancia  de la energía, se verificará que el momento angular es constante en las posiciones de máxima proximidad o de máximo alejamiento y por último, se comprobará la tercera ley de Kepler, midiendo el periodo y el semieje mayor de la elipse. Se introducen la posición y la velocidad inicial del cuerpo celeste:

Se pulsa el botón titulado Nuevo y a continuación , se traza la trayectoria del móvil, al mismo tiempo se muestra en la parte izquierda, como van cambiando los valores de la posición y de la velocidad a medida que transcurre el tiempo.

Observaremos que la energía y el momento angular permanecen constantes. En la parte inferior izquierda, se muestra en color azul el tanto por ciento de error. Cuando es mayor que la unidad el programa interactivo se detiene. Los mayores porcentajes de error se obtienen cuando la partícula pasa muy cerca del centro fijo de fuerzas.

Se pulsa el botón titulado pausa || y luego, paso a paso >|, para acercarnos a la posición más alejada, para medir el semieje mayor, la velocidad en dicha posición, el semiperiodo (la mitad del tiempo que tarda el cuerpo celeste en dar una vuelta completa).

Se introduce la velocidad inicial en UA/año de un nuevo cuerpo sin cambiar la posición y se pulsa los botoness Nuevo y . Su trayectoria se traza en un color distinto.

Finalmente, se cambia la posición inicial x y se vuelven a introducir varios valores de la velocidad vy. Cuando se han acumulado varias trayectorias, se pulsa en el botón Borra para limpiar el área de trabajo


La órbita de la Tierra

Conocidos el semieje mayor de la elipse a y la excentricidad ε, calculamos la posición del planeta en el perihelio r1 (posición más cercana al Sol) o r2 en el afelio (posición más alejada), tal como hemos visto al estudiar la órbita elíptica.

Calculamos la velocidad v1 en el perihelio o v2 en el afelio a partir de las propiedades de la fuerza de atracción entre los cuerpos:

En la figura, se muestra un cuerpo que describe una trayectoria elíptica alrededor del centro de fuerzas situado en uno de sus focos. La distancia de máximo acercamiento es r1 y la de máximo alejamiento r2. Las velocidades que lleva el cuerpo en estas dos posiciones extremas son v1 y v2 respectivamente. La constancia del momento angular y de la energía  nos permite relacionar estas cuatro magnitudes.

m r 1 v 1 =m r 2 v 2 1 2 m v 1 2 GmM r 1 = 1 2 m v 2 2 GmM r 2

Conocidos r1 y r2 calculamos v1 y v2.

Se despeja v1 en la primera ecuación y se sustituye en la segunda. Obtenemos

v 2 = 2GM r 1 r 2 ( r 1 + r 2 ) v 1 = 2GM r 2 r 1 ( r 1 + r 2 )

Calculamos r1 y v1 para la Tierra que tiene un semieje mayor a=1.0 UA y una excentricidad ε=0.017. Estos son los valores iniciales para resolver el sistema de dos ecuaciones diferenciales de segundo orden utilizando la función ode45 de MATLAB e interrumpiendo el proceso de cálculo cuando se complete un periodo.

r 1 = d 1+ε r 2 = d 1ε r 1 + r 2 =2a r 1 =a(1ε) v 1 = 2GM r 2 r 1 ( r 1 + r 2 ) = 2GMa(1+ε) a(1ε)·2a = 2πa P 1+ε 1ε

En el sistema de unidades que hemos adoptado a= 1 U.A. y P=1 (un año)

Creamos el script para realizar las siguientes tareas:

  1. Resolvemos mediante ode45 el sistema de dos ecuaciones diferenciales de segundo orden con las condiciones iniciales

  2. Definimos la función stop_tierra que detiene el proceso de integración, fijándonos que en el pimer semiperiodo la ordenda y decrece hasta hacerse cero y a continuación, la ordenada y crece hasta hacerse de nuevo cero cuando completa el periodo. Obtenemos el tiempo de una órbita completa te

  3. Dibujamos la órbita elíptica en color rojo y una trayectoria circular de radio a=1 UA en color azul

  4. Dibujamos en una segunda ventana la posición angular θ en función del tiempo t, utilizando la función MATLAB atan2. Fijarse que atan2 devuelve el ángulo en el intervalo -π a +π, en vez de 0 a 2π. Comparamos esta gráfica con la correspondiente a un movimiento circular uniforme durante un tiempo igual a un periodo te. Dibujamos en la misma ventana (utilizando el comando subplot) la distancia r de la Tierra al Sol en función del tiempo t. La comparamos con la distancia constante al centro a=1 de la órbita circular.

a=1; ex=0.017; P=1;
x0=[a*(1-ex),0,0,2*pi*a*sqrt((1+ex)/(1-ex))/P];
tspan=[0,P];

fg=@(t,x)[x(2);-4*pi^2*x(1)/(sqrt(x(1)*x(1)+x(3)*x(3)))^3; x(4);
-4*pi^2*x(3)/(sqrt(x(1)*x(1)+x(3)*x(3)))^3];
opts=odeset('events',@stop_tierra);
[t,x,te,xe,ie]=ode45(fg,tspan,x0,opts);
te
hold on
plot(x(:,1),x(:,3),'r') %órbita elíptica
ang=linspace(0,2*pi,100); %órbita circular
xx=sin(ang); yy=cos(ang);
plot(xx,yy,'b')
axis equal
ylim([-1.05 1.05])
legend('elíptica', 'circular','location','best')
grid on
xlabel('x')
ylabel('y');
title('órbita de la tierra')
hold off

figure
subplot(2,1,1)
angulo=atan2(x(:,3),x(:,1));
for i=1:length(angulo)
    if angulo(i)<0
        angulo(i)=angulo(i)+2*pi;
    end
end
angulo(length(t))=2*pi+angulo(length(t));
hold on
plot(t,angulo,'r')
angulo_c=(2*pi/te(2))*t;
plot(t,angulo_c,'b')
xlabel('t')
ylabel('angulo');
title('órbita de la Tierra')
legend('elíptica', 'circular','location','best')
hold off

subplot(2,1,2)
r=sqrt(x(:,1).^2+x(:,3).^2);
hold on
plot(t,r,'r')
plot([0,te(2)],[1 1],'b')
xlabel('t')
ylabel('r');
legend('elíptica', 'circular',2)
hold off

Definimos una función denominada stop_tierra para parar el proceso de integración cuando complete un periodo, es decir, cuando la ordenada y que en el código es x(3) sea cero (stopin=1) y sea una función creciente (direction=1).

function [detect,stopin,direction]=stop_tierra(t,x)
    detect=x(3); 
    stopin=1; 
    direction=1; 
end

En la la ventana de comandos corremos el script tierra.

>> tierra
te =
    0.0000
    0.9969

El proceso de integración numérica se detiene cuando el tiempo te es 0.9969 años, muy próximo a P= 1 año.

Debido a la pequeña excentricidad de la Tierra ε=0.017 no se aprecia gran diferencia entre la órbita elíptica y circular y tampoco, en la gráfica de la posición angular en función del tiempo.