Síndrome Kessler - Computacion1
Transcripción
Síndrome Kessler - Computacion1
Síndrome Kessler Elías Barrio y Eva Bernal 7 Febrero 2014 Breve introducción teórica: Basura espacial: Todo objeto artificial sin utilidad que orbita la Tierra: cohetes, satélites viejos, restos de explosiones o restos de cohetes como polvo... La basura espacial se ha convertido en una preocupación cada vez mayor en estos últimos años, puesto que las colisiones a velocidades orbitales pueden ser altamente perjudiciales para el funcionamiento de los satélites y pueden también producir aún más basura espacial en un proceso llamado síndrome de Kessler. Síndrome Kessler (consultor de la NASA Donald J. Kessler) Propone la situación en la que exista tanta basura espacial en la órbita baja terrestre que unos fragmentos colisionen con otros con una frecuencia considerable. Y que esta frecuencia aumentase debido al efecto dominó. Gracias al cual, si dos masas suficientemente grande colisionan crearían una basura adicional como resultado de la colisión. La basura espacial es muy difícil de tratar directamente, debido a las altas velocidades en sus órbitas y el pequeño tamaño de la mayoría de la metralla basura. Eso haría la recuperación y la eliminación extremadamente difícil e improbable. La mayoría de la basura en órbita baja de la tierra sucumbiría eventualmente a la resistencia del aire en la extremadamente tenue alta atmósfera, pero el proceso requeriría cientos o miles de años. PROGRAMA (MATLAB) El programa de simulación del síndrome Kessler estará compuesto por las siguientes funciones llamadas desde el programa principal. A continuación procedemos a explicar el comportamiento de cada una de ellas. Funciones: I. Función start. Input: n = número total de fragmentos que constituyen la basura espacial que vamos a considerar como tiempo inicial. Cuerpo: A cada fragmento en el tiempo inicial, t0, le asigne aleatoriamente el valor de su masa, posición y velocidad. Output: Masa(mass), posición (r0) y velocidad(v0) en t0. II. Función verlet. Input: force = fuerza gravitatoria F = -(GMm/r2) ur. mass= vector que indica la masa de cada fragmento. r0 = posición inicial de cada fragmento. v0= velocidad inicial de cada fragmento. dt = intervalo temporal de integración tmax =tiempo final de integración Output: r : posición en función del tiempo de cada fragmento. III. Función derivative para derivar la posición respecto del tiempo y obtener la velocidad en función del tiempo de cada fragmento. IV. Función collisionChecking. input : masa y posición y velocidad en función del tiempo de cada fragmento. Cuerpo : dividiremos el espacio en celdas y requeriremos que para cada instante y celda compruebe si coinciden dos fragmentos en una celda. En el caso de que no exceda la capacidad de cálculo de 'matlab', consideraremos las celdas tan pequeñas como nuestra definición de colisión. Es decir, la sección eficaz, del choque. Nuestro objetivo será que el programa detecte la primera colisión. output: Por un lado, los fragmentos que no colisionan, mantendrán sus trayectorias y velocidades en función del tiempo además de su masa. Es decir, el ouput de estos fragmentos será igual al input (ya calculado en las funciones anteriores). Por otro lado que devuelva qué fragmentos colisionan, sus velocidades, así como su posición y el instante de tiempo de la colisión. V. Función inelasticCollision. input: Los datos obtenidos en la función ' collisionChecking ' referentes a la colisión. Masas, posiciones, velocidad y tiempo concreto de la colisión. Cuerpo : Queremos que el programa, mediante un criterio de fragmentación (que dependa de la magnitud de la velocidad de cada fragmento) y de la conservación de momento lineal, obtenga los fragmentos (número y masa de cada uno de ellos). Así como sus velocidades después de la colisión. Output: masa (mass), posición (rc2) y velocidad(vc2) de cada fragmento después de la colisión. VI. Llamada desde el programa principal a verlet para obtener las trayectorias en función del tiempo de cada fragmento después de la colisión (del output de la función anterior). VII. Llamada a la función derivative para obtener la velocidad en función del tiempo de cada fragmento. VIII. Unificar arrays de la posición, masa y velocidad de cada fragmento. Por un lado los fragmentos de basura espacial inicial que no han sufrido colisión como los que han surgido a raíz de de ésta. PROGRAMA PRINCIPAL Compilación de las funciones en el mismo orden en que han sido descritas y representación de las trayectorias de los fragmentos. Como el 'síndrome Kessler' estudia el efecto dominó que generan las colisiones, nos gustaría iterar el programa, de forma que los outputs de la función VIII pasen a ser los inputs de la IV sucesivas veces. No hemos especificado problemas o limitaciones que pudieran surgir debido a las limitaciones de 'matlab' ya que requeriremos que el programa realice numerosos cálculos. Una de estas posibles situaciones, sería que nos encontremos con un número demasiado elevado de fragmentos que bloquearían la capacidad de cálculo de Matlab. Intentaremos dar una salida a este posible problema. No se ha desarrollado el cuerpo de las funciones II y III por tratarse de funciones estudiadas durante el transcurso de la asignatura. Primera entrega (21 de Febrero 2014): La entrega del hito parcial será programar las funciones start, verlet y derivative que generan el modelo e integran las trayectorias, e incluso llegar a empezar la función collisionChecking.