Bei dieser Frage geht es um Techniken zur Berechnung von Umlaufbahnen.
Der Github-Beitrag zur dynamischen Stabilität des modifizierten Jool-Systems von Principia (zitiert in dieser Antwort ) sagt:
Principia berechnet die Bahn der Himmelskörper durch Integration der Bewegungsgleichungen1; Wenn das System daher instabil ist, kann es im Spiel zusammenbrechen. Dies ist in der Tat beim Aktiensystem der Fall: Während die Einzelheiten davon abhängen, wie die Kepler-Orbitalelemente von KSP in einen kartesischen Anfangszustand übersetzt werden, mit Principias Interpretation als hierarchische Jacobi-Elemente , bricht das Jool-System innerhalb von 19 Tagen mit einer engen Begegnung zusammen zwischen Vall und Laythe.
Laut Wikipedia :
In der Vektorrechnung ist die Jacobi-Matrix einer vektorwertigen Funktion in mehreren Variablen die Matrix aller ihrer partiellen Ableitungen erster Ordnung. Wenn diese Matrix quadratisch ist, d. h. wenn die Funktion dieselbe Anzahl von Variablen als Eingabe wie die Anzahl von Vektorkomponenten ihrer Ausgabe verwendet, wird ihre Determinante als Jacobi-Determinante bezeichnet. Sowohl die Matrix als auch (falls zutreffend) die Determinante werden in der Literatur oft einfach als Jacobi bezeichnet.
Wenn ich numerische Integration für Probleme mache, mit denen ich gerade konfrontiert bin, habe ich früher die alte scipy.integrate.odeint verwendet , aber ich wechsle zu scipy.integrate.solve_ivp und letztere sagt:
Parameter: fun callable: Rechte Seite des Systems. Die aufrufende Signatur ist fun(t, y). Hier ist t ein Skalar, und es gibt zwei Optionen für das ndarray y: Es kann entweder die Form (n,) haben; dann muss Spaß array_like mit Form (n,) zurückgeben. Alternativ kann es die Form (n, k) haben; dann muss fun ein array_like mit shape (n, k) zurückgeben, dh jede Spalte entspricht einer einzelnen Spalte in y. Die Wahl zwischen den beiden Optionen wird durch ein vektorisiertes Argument bestimmt (siehe unten). Die vektorisierte Implementierung ermöglicht eine schnellere Approximation der Jacobi-Zahl durch endliche Differenzen (erforderlich für steife Löser) .
Update: Ich denke, dass dies ein Hinweis sein könnte; ein hierarchisches System könnte nützlich sein, wenn Wechselwirkungen zwischen Objekten geschätzt werden, die sich umgekehrt mit dem Quadrat der Entfernung ändern; Möglicherweise möchten Sie nur Wechselwirkungen auswerten, wenn sich umlaufende Körper nahe aneinander vorbeibewegen.
Ich habe selbst noch nie einen Jacobi benutzt, aber ich würde das gerne mehr verstehen.
In dem Dokument ist die Steifigkeit des Problems während einer engen Annäherung ein zentrales Thema.
Die in der Wikipedia-Definition gezeigte Matrix sieht flach und nicht hierarchisch aus:
oder wie der Artikel vorschlägt, eine Reihe von transponierten Farbverläufen.
Frage: Was genau bedeutet die "Interpretation als hierarchische Jacobi-Elemente" eines numerischen n-Körper-Simulators ? Wie würde eine Art Hierarchie in einem Jacobi verwendet werden, der von einem n-Körper-Problemlöser verwendet wird? diese oder ähnliches?
Würde dies im Fall eines Schwarms oder einer Konstellation kleiner Erdsatelliten verwendet, deren Gravitationswechselwirkung nicht berücksichtigt wird, oder müssten die Körper auf irgendeine Weise (gravitativ oder ansprechend) miteinander interagieren, bevor diese Hierarchie einen Nutzen hat?
Ich behalte mir das Recht vor, hier völlig falsch zu liegen! Das heißt, ich werfe dies eher in eine Antwort als in einen Kommentar, weil ich hoffe, dass dies das Sprungbrett für eine solide Antwort der Community sein kann.
Ich bezweifle sehr, dass sich der fettgedruckte Text auf die Jacobi-Matrix bezieht (die vermutlich alle Teiltöne erster Ordnung aller Systemvariablen gegeneinander enthält). Angesichts der Tatsache, dass sie sagen, dass sie die Definition von KSP, wo sich Himmelskörper in der Epoche befinden (in Kepler-Elementen angegeben), in eine kartesische Form umwandeln, gehe ich davon aus, dass sie als nächstes das System in einer Hierarchie von Jacobi-Koordinaten definieren, in denen Positionen koordiniert werden relativ zum Schwerpunkt eines n-Körper-Systems für kleine n. (Im fettgedruckten Text verwenden die Autoren den Begriff "Jacobi-Elemente", auf den ich zuvor noch nicht gestoßen bin, aber an anderer Stelle in der Dokumentation verwenden sie die eher standardmäßigen "Jacobi-Koordinaten")
Ich bin mir nicht sicher, ob diese Hierarchie fest codiert oder dynamisch zugewiesen ist, aber ich vermute, dass sie in erster Linie verwendet wird, um Gleitkommafehler bei Positionsberechnungen zwischen nahen Objekten zu reduzieren. Im Gegensatz zu einigen Kommentaren bedeutet dies nicht, dass Principia die n-Körper-Gravitation annähert, indem es nur Massen in der Nähe erlaubt, zu interagieren - wiederum (vermute ich), dies ist nur eine Methode zur Koordinierung von Körpern, während der Gleitkommafehler im Relativen gemildert wird Positionen.
Für eine definitive Antwort schlage ich vor, entweder einen der Leroys anzusprechen , entweder über Github oder in diesem Zwiespalt , in dem die Diskussion über die Entwicklung von Principia stattfindet (ich bin nicht mehr dort, aber Egg war immer freundlich, meine Fragen zu ihrer Anzahl zu beantworten Methoden). Bitte teilen Sie dem SE mit, was Sie finden!
Russell Borogove
äh
ChrisR
äh
Jon Kuster
ChrisR