Warum kam meine vis-viva-Mathematiklösung so nahe, obwohl sie falsch war? Unter welchen Bedingungen wäre es eine gute Annäherung gewesen?

Ich habe versucht, die Gleichung für Geschwindigkeit und Entfernung von der Sonne eines mit Sonnensegeln angetriebenen Raumfahrzeugs zu beantworten , aber mir fehlt etwas.

Ich habe eine mathematische Lösung erstellt und ungefähr 0,4 Jahre gebraucht, um die Nullgeschwindigkeit basierend auf der Vis-Viva-Gleichung zu erreichen. Ich habe offensichtlich einige Fehler in Annahmen gemacht, weil es bedeutet, dass es sich in einer kreisförmigen Umlaufbahn mit Nullgeschwindigkeit befindet, was unendliche Entfernung bedeutet, und unendliche Entfernung zu endlicher Zeit ist schlecht.

Wenn ich numerisch löse, bekomme ich eine ähnliche Zahl von etwa 0,5 Jahren, um eine positive Energie, heliozentrisches C3, Fluchtgeschwindigkeit usw. zu erreichen, und diese Simulation, glaube ich.

Frage: Warum kam meine vis-viva-Mathematiklösung so nahe, obwohl sie falsch war? Unter welchen Bedingungen wäre es eine gute Annäherung gewesen?


Diese Antwort sagt:

Mathematik

Gegeben ist eine Anfangsbeschleunigung bei 1 AU 8.17 × 10 4 M / S 2 .

Neigen Sie es um 45 Grad, um den Schub tangential zu machen, dividieren Sie durch 2 da es jetzt schräg zur Sonne steht und den Abfall mit der Entfernung von der Sonne berücksichtigt:

A 0 = 5.78 × 10 4 M / S 2

A ( R ) = A 0 A U 2 R 2

in der prograden Richtung (gleiche Richtung wie die aktuelle Geschwindigkeit).

Vis-Viva-Gleichung :

v 2 = G M R

Jetzt

D v D T = A 0 A U 2 G M 2 v 4

Wo G M ist der Standard-Gravitationsparameter der Sonne 1.327 × 10 20 M 3 / S 2 . Das Minuszeichen kommt ins Spiel, weil wir wissen, dass wir entgegen unserem ersten Instinkt, wenn wir eine Beschleunigungskraft in Vorwärtsrichtung haben, wir entgegen der Intuition um den gleichen Betrag verlangsamen . Dies wird auch in mehreren anderen Beiträgen hier zitiert, ich werde nach anderen Antworten suchen, die ich zitieren kann ...

Umschreiben und lösen:

D T D v = G M 2 A 0 A U 2 v 4

T ( v ) = T 0 G M 2 4 A 0 A U 2 v 3

Wenn wir setzen T ( v 0 ) = 0 mit anderen Worten, zum Zeitpunkt Null bewegen wir uns mit Umlaufgeschwindigkeit v 0 = G M / A U wir erhalten 0,408 Jahre.

Numerisch

Interessanterweise erhalte ich, wenn ich versuche, dasselbe numerisch zu simulieren, eine Fluchtzeit von 0,515 Jahren! Das überrascht mich aus zwei Gründen:

  1. Die Geschwindigkeit erreicht niemals Null, was bedeutet, dass die obige Mathematik falsch ist!
  2. Und doch ist es ziemlich nah!

Abschluss

Es wird ungefähr ein halbes Jahr dauern, um zu entkommen, aber ich habe noch nicht die vollständige Gleichung.

Weiterlesen:

Sonnensegel entkommen

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()
"Neige es um 45 Grad, um den Schub tangential zu machen" - tangential zu was? Senkrecht zur Richtung zur Sonne? Das ist nicht möglich.
Warum nehmen Sie an, dass es eine Verzögerung gibt, wenn Sie prograd beschleunigen?
Drittes Problem: Diese Vis-Viva-Gleichung gilt nur für eine perfekt kreisförmige Umlaufbahn. Nach jedem Stoß in eine beliebige Richtung ist es nicht mehr gültig.
@asdfex schreibe es als Antwort auf!
@asdfex Die Vis-Viva-Gleichung funktioniert auch für stark elliptische Umlaufbahnen, wenn Sie die allgemeine Form verwenden, solange sie nicht stoßen.
@ConnorGarcia Ja, aber nur in komplizierterer Form, nicht in der hier verwendeten reduzierten.

Antworten (1)

Erstens scheinen Sie das folgende Missverständnis der Kraftvektoren der Sonnensegel zu haben:

Neigen Sie es um 45 Grad, um den Schub tangential zu machen

Der Schub ist bei 45 Grad nicht tangential.

falsche Vektoren

Tatsächlich hat ein Sonnensegel immer einen Schub senkrecht zum Segel und kann daher keinen Schub erreichen, der perfekt tangential zur Sonne ist, da der Querschnitt dann Null wäre.

Ihr Umgang mit dem 45-Grad-Winkel ist auch ausgeschaltet. Die Größe des Schubvektors skaliert um cos 2 ( θ ) , da sowohl die Querschnittsfläche schrumpft als auch das Licht bei einem größeren Winkel mehr von seinem ursprünglichen Impuls behält.

Das heißt, Sie haben eine Tangentialkomponente von cos 2 ( θ ) Sünde ( θ ) (die Hälfte Ihres Wertes) und eine radiale Komponente von cos 3 ( θ ) (was Sie nicht berücksichtigt haben).

Dies hat erhebliche Auswirkungen auf Ihr nächstes Teil, das eine kreisförmige Umlaufbahn annimmt. Bei radialer Beschleunigung kann die Umlaufbahn nicht kreisförmig bleiben, was das von Ihnen vorgebrachte vis-viva-Argument entkräftet. Ein weiteres Problem hier ist, dass der Sonderfall von vis-viva, den Sie verwenden, nur für die Geschwindigkeit von Kreisbahnen gilt. Damit diese Annäherung sinnvoll ist, müssten Sie sicherstellen, dass die Umlaufbahn ungefähr kreisförmig bleibt, was schwierig ist, da das Segel immer einen radialen Schub ausübt.

Ihr Code sieht so aus, als ob er auch von der falschen Differentialgleichung abhängt, die aus dem anfänglich fehlerhaften Modell eines Sonnensegels abgeleitet wurde.

Antworten:

Warum kam meine vis-viva-Mathematiklösung so nahe, obwohl sie falsch war?

Es ist wahrscheinlich nicht nah dran, da es mit einer alternativen Berechnung verglichen wird, die auf genau demselben Fehler basiert.

"tangential zum Segel" - ich glaube, Sie meinen senkrecht.