Traté de responder a la Ecuación para la velocidad y la distancia desde el Sol de una nave espacial impulsada por una vela solar, pero me falta algo.
Configuré una solución matemática y obtuve alrededor de 0,4 años para alcanzar la velocidad cero según la ecuación vis-viva. Obviamente cometí un error en las suposiciones porque significa que está en una órbita circular con velocidad cero, lo que significa una distancia infinita, y una distancia infinita en un tiempo finito es mala.
Cuando resuelvo numéricamente, obtengo un número similar de aproximadamente 0,5 años para alcanzar una energía positiva, C3 heliocéntrico, velocidad de escape, etc., y creo que esta simulación.
Pregunta: ¿Por qué mi solución matemática vis-viva se acercó tanto a pesar de estar equivocada? ¿Bajo qué condiciones habría sido una buena aproximación?
Esta respuesta dice:
Dada la aceleración inicial a 1 AU es .
Inclínelo a 45 grados para que el empuje sea tangencial, divídalo por ya que ahora es oblicuo al Sol, y tenga en cuenta la caída con la distancia desde el Sol:
en la dirección progresiva (la misma dirección que la velocidad actual).
Ahora
dónde es el parámetro gravitatorio estándar del Sol . El signo menos aparece porque sabemos que, contrariamente al primer instinto, cuando tenemos una fuerza de aceleración en la dirección prograda, desaceleramos de manera contraria a la intuición en la misma cantidad. Esto también se cita en varias otras publicaciones aquí, buscaré otras respuestas para citar ...
Reescribe y resuelve:
si establecemos en otras palabras, en el tiempo cero nos estamos moviendo a velocidad orbital obtenemos 0.408 años.
Curiosamente, cuando intento simular lo mismo numéricamente, ¡ obtengo un tiempo de escape de 0,515 años! Esto me sorprende por dos razones:
Tardará aproximadamente medio año en escapar, pero aún no tengo la ecuación completa.
Otras lecturas:
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint
AU = 150E+06 * 1000 # meters
GM = 1.327E+20 # m^3/s^2
a0 = 8.17E-04 / np.sqrt(2) # dv/dt at 1 AU
year = 365.2564 * 24 * 3600
coef = ( GM**2 / (4 * a0 * AU**2) )
v0 = np.sqrt(GM/AU)
print('v0: ', v0)
print('coef: ', coef)
t0 = coef / v0**3
print('t0 / year: ', t0 / year)
def deriv(X, t):
x, v = X.reshape(2, -1)
vhat = v / np.sqrt((v**2).sum())
rsq = (x**2).sum()
acc_thrust = vhat * a0 * rsq / AU**2
acc = acc_thrust - GM * x * rsq**-1.5
return np.hstack((v, acc))
X0 = np.array([AU, 0, 0, v0])
time = np.linspace(0, 0.6, 10001) * year # half year
answer, info = ODEint(deriv, X0, time, full_output=True)
print(answer.shape)
x, y, vx, vy = answer.T
r, speed = [np.sqrt((thing**2).sum(axis=0))
for thing in answer.T.reshape(2, 2, -1)]
E = 0.5 * speed**2 - GM/r
E_norm = np.abs(E[0])
i_esc = np.argmax(E>=0)
things = time, r, x, y, speed, E
t_esc, r_esc, x_esc, y_esc, s_esc, E_esc = [thing[i_esc]
for thing in things]
print('t_esc / year: ', t_esc / year)
if True:
plt.figure()
plt.subplot(2, 2, 1)
plt.plot(time/year, r/AU)
plt.plot([t_esc/year], [r_esc/AU], 'ok')
plt.ylabel('r/AU')
plt.xlabel('time (years)')
plt.subplot(2, 2, 2)
plt.plot(time/year, speed/1000)
plt.plot([t_esc/year], [s_esc/1000], 'ok')
plt.ylabel('speed (km/s)')
plt.xlabel('time (years)')
plt.subplot(2, 2, 3)
plt.plot(time/year, E/E_norm)
plt.plot([t_esc/year], [E_esc/E_norm], 'ok')
plt.plot(time/year, np.zeros_like(time), '-k')
plt.ylabel('Energy (norm)')
plt.xlabel('time (years)')
plt.subplot(2, 2, 4)
plt.plot(x/AU, y/AU)
plt.plot([x_esc/AU], [y_esc/AU], 'ok')
plt.plot([0], [0], 'oy')
th = np.linspace(0, 2*np.pi, 201)
plt.plot(np.cos(th), np.sin(th), '-r', linewidth=0.5)
plt.ylim(-1, 1.5)
plt.gca().set_aspect('equal')
plt.xlabel('AU')
plt.ylabel('AU')
plt.show()
Primero, parece tener el siguiente malentendido de los vectores de fuerza de la vela solar:
Inclínelo a 45 grados para que el empuje sea tangencial
El empuje no es tangencial a 45 grados.
De hecho, una vela solar siempre tiene un empuje perpendicular a la vela y, por lo tanto, no puede lograr un empuje perfectamente tangencial al Sol, ya que la sección transversal sería entonces cero.
Tu manejo del ángulo de 45 grados también está mal. La magnitud del vector de empuje escala por , ya que el área de la sección transversal se reduce y la luz mantiene más de su impulso original con un ángulo más grande.
Lo que significa que tienes una componente tangencial de (la mitad de su valor), y un componente radial de (que no ha tenido en cuenta).
Esto tiene un impacto significativo en su próxima parte, que asume una órbita circular. Con aceleración radial, la órbita no puede permanecer circular, lo que invalida el argumento de vis-viva que está haciendo. Otro problema aquí es que el caso especial de vis-viva que está utilizando solo se aplica a la velocidad de las órbitas circulares. Para que esta aproximación tenga sentido, debe garantizar que la órbita se mantenga aproximadamente circular, lo cual es difícil ya que siempre hay un empuje radial de la vela.
Parece que su código también depende de la ecuación diferencial falsa derivada del modelo defectuoso inicial de una vela solar.
Contestar:
¿Por qué mi solución matemática vis-viva se acercó tanto a pesar de estar equivocada?
Probablemente no esté cerca, ya que se compara con un cálculo alternativo que se basa en la misma falla.
asdfex
asdfex
asdfex
UH oh
connor garcia
asdfex