¿Cómo calcular la velocidad lineal de la órbita del planeta?

Trato de simular un sistema solar con planetas (con masa aleatoria) colocados al azar alrededor de un sol con una masa X × masa solar .

La simulación va bien cuando uso datos reales (sol, tierra, luna, por ejemplo), pero ahora me gustaría simular un sistema generado aleatoriamente.

Mi problema es que no logré calcular la velocidad lineal del planeta.

En internet, solo encontré fórmulas para calcular la velocidad lineal cuando conocemos la velocidad angular, esto significa saber el tiempo que tarda el planeta en hacer una revolución, que no quiero determinar.

Quiero, sabiendo solo la distancia y las dos masas (y la dirección del vector de velocidad), poder calcular el vector de velocidad lineal.

Realmente no tengo más información para proporcionar, si necesita algo, solo pídalo.

La distancia, las dos masas y la dirección del vector velocidad simplemente no determinan la magnitud de la velocidad. Necesitas algo más.
¿Y qué necesito?
Cualquiera de: la velocidad angular, el momento angular, el período (tiempo que se tarda en hacer una revolución), la excentricidad de la órbita, la distancia de aproximación más corta y hay muchos más parámetros posibles.
Lo que dijo @Joe, necesitas una información más. Además, no tengo muy claro si está solicitando una forma de obtener sus condiciones iniciales (lo cual es una buena pregunta), o si está solicitando ecuaciones para actualizar la velocidad en cada paso de tiempo (en cuyo caso usted puede haber tenido un comienzo inestable: calcular la velocidad a partir de sus parámetros, +1 más, por supuesto, es probable que introduzca un error sistemático). Si tuviera que elegir un parámetro adicional para asignar, creo que elegiría la excentricidad (dado su deseo de hacer que las cosas sean aleatorias, parece la forma más aleatoria).
También tiene curiosidad por saber qué tipo de método de integración está utilizando. Esta ( en.wikipedia.org/wiki/Leapfrog_integration ) suele ser mi arma preferida para una simulación rápida y sucia, ya que es bastante buena para conservar energía para ~órbitas periódicas. Hay, por supuesto, muchas otras buenas opciones, y la que elija puede afectar la forma en que desea calcular la velocidad.
@Kyle Necesito la velocidad "inicial", ya puedo actualizar la velocidad usando nbody. Si debo agregar un parámetro, creo que debería ser la excentricidad, ya que seguramente es algo con lo que también jugaré. Por cierto, disculpe la confusión en mi pregunta, tengo algunas dificultades para hacer preguntas técnicas en inglés:/. No dude en sugerir edición
Totalmente de acuerdo con @Kyle. Si desea hacer esto con un código de cuerpo n, consulte también esta pregunta de scicomp . Si no tiene cuidado con su esquema de integración, sus planetas podrían muy bien volar a velocidades superlumínicas después de algunas órbitas. Además, una buena aproximación es ignorar las interacciones planeta-planeta y tratar a la estrella como inamovible, en cuyo caso un código de n-cuerpos es excesivo para este problema.

Respuestas (2)

Como se menciona en los comentarios, necesita una información más para determinar la magnitud de la velocidad.

Dijiste que podrías usar la excentricidad, así que en ese caso puedes usar la fórmula dada aquí y deducir una ecuación cuadrática sobre la velocidad que produce:

v = GRAMO METRO r pecado ( α ) ( 1 ± ϵ ) ,

dónde GRAMO es la constante gravitacional, r es la distancia entre las dos masas, METRO es la masa más grande (supuse aquí que una masa es mucho más grande que la otra), α es el ángulo entre el vector velocidad y el radio, y ϵ es la excentricidad.

Tenga en cuenta que dado que teníamos una ecuación cuadrática, todavía tiene dos opciones para la velocidad, ambas consistentes con la excentricidad dada.

Esto es perfecto ! muchas gracias. Sólo para estar seguro, el α siempre es PI/2 o -PI/2, ¿no?
¡No! α puede ser cualquier cosa de 0 a π / 2 . Recuerde que esto no está restringido a una órbita circular. asumí α es positivo, de lo contrario toma su valor absoluto.

Supongo que quieres tener órbitas estables. Entonces sabes que la fuerza centrífuga es igual a la fuerza gravitacional:

GmM/r² = mv²/r

con G = constante de Newton, r la distancia y m la masa del planeta y M la masa del objeto central. Como conoces la distancia y la masa del objeto central (la masa del planeta se anula) puedes calcular v. v² =GM/r

Esto es solo para una órbita perfectamente circular, y el OP no planteó tal restricción.
Lo siento, esto no me quedó claro.
esa es una de las fórmulas que encontré, pero cuando la aplico, obtuve un resultado extremadamente alto (por ejemplo: para la tierra, el vector fijo es 29.783 y se genera con su fórmula: 941690.7474866967)
@eephyne: tenga en cuenta que uno de los parámetros que mencioné en mi comentario es la excentricidad de la órbita. Cuando usa esta fórmula, se está restringiendo a una órbita circular, lo que significa que toma la excentricidad como cero.
@Joe, lo sé, pero como no encontré nada, estaba probando este
@eephyne: entiendo 1.99 × 10 30 × 6.673 × 10 11 / 1.49 × 10 11 = 29847, que es el valor correcto.
@JohnRennie Acabo de darme cuenta de por qué mi resultado fue incorrecto. Estaba usando 1.49e8 en lugar de 1.49e11 porque uso todos los valores en km pero no cambié mi constante G.
@eephyne: feliz de ver que encontraste tu error. Solo quería agregar que incluso si decides tener una órbita circular y usas esta fórmula, también necesitas que la dirección de la velocidad sea perpendicular al radio, y no sé si tienes esa libertad ya que dijo en su pregunta que la dirección ya estaba determinada.
@Joe, está determinado porque elijo hacer que todo el planeta gire de la misma manera. Por cierto, cuando hablas de excentricidad, si sabes una fórmula, me interesa mucho.
@eephyne: ¿qué quieres decir con "todos los planetas giran de la misma manera"? En cuanto a la fórmula de la excentricidad, la di en la respuesta que acabo de agregar.
@eephyne: para una órbita elíptica, consulte en.wikipedia.org/wiki/Elliptic_orbit y en.wikipedia.org/wiki/Orbit_equation .
Por cierto, @ usuario20071 Pensé que el voto negativo a su respuesta fue duro ya que su respuesta fue correcta y útil, aunque incompleta. He votado a favor para eliminar el voto a la baja.