Forum der Vereinigung der Sternfreunde

Forum of the German Amateur Astronomy Association
Aktuelle Zeit: 11. Januar 2026, 22:29:49 PM

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: 19. April 2022, 09:13:45 AM 
Offline
Meister
Benutzeravatar

Registriert: 20. Januar 2013, 20:03:54 PM
Beiträge: 1978
Wohnort: Leipzig
Dateianhang:
L1-L3.jpg
L1-L3.jpg [ 22.63 KiB | 4259 mal betrachtet ]
Die Astronomen haben sich seit langem der Frage zugewandt, ob es im Dreikörperproblem allgemeine Lösungen zumindest für stark vereinfachte Konstellationen gibt. Joseph-Louis de Lagrange hat fünf solche Lösungen abgegeben: In den nach im benannten Stabilitätspunkten L1-L5 bewegen sich Körper synchron mit dem Planeten um die Sonne. Bedeutung haben diese Punkte vor allem in der Umgebung des Jupiters.
Im ersten Teil der kleinen Serie habe ich an Python-Programm angegeben, mit denen man die Lage der Punkte L1 bsi L3 aus der Analyse der Umlaufzeiten und Schwerebeschleunigungen berechnen kann. Hierzu kommt das sog. Halbierungsverfahren zum Einsatz.

Hier das Programm:
Code:
# Programm Lagrange1-3.py : Berechnung der Orte der Lagrange-Punkte
from math import *
def sq(x): return x*x

G = 6.67408e-11

# Sonne - Jupiter
m1=1.988475415966536e+30 # Masse Sonne
m2=1.898568695e+27 # Masse Jupiter
r=7.7835e11 # Abstand für Kreisbahn


x1=-m2*r/(m1+m2) # Koordinate ...
x2=m1*r/(m1+m2)  # ...vom Schwerpunkt
omega=sqrt(G*(m1+m2)/r/r/r) 
v1=omega*x1 # Bahngeschwindigkeit
v2=omega*x2
print("x1=",x1,"v1=", v1)
print("x2=",x2,"v2=",v2)


def beschl(xL,x1,x2): # effektive Beschleunigung
    a1=G*m1/sq(xL-x1)*(x1-xL)/abs(x1-xL)
    a2=G*m2/sq(xL-x2)*(x2-xL)/abs(x2-xL)
    aw=sq(omega)*xL
    a=a1+a2+aw
    return a

for L in range(1,4): # alle drei Lagrangepunkte
    if (1==L): xL1=0.001*x2;xL2=0.9999999*x2
    if (2==L): xL1=1.0001*x2; xL2=2*x2
    if (3==L): xL1=-2*x2; xL2=-1.0001*x1

    # Berechnung des Lagrangepunktes mit dem Halbierungsverfahren
    a1=beschl(xL1,x1,x2)
    a2=beschl(xL2,x1,x2)
    for i in range(60):
        xL=(xL1+xL2)/2
        aL=beschl(xL,x1,x2)
        if (aL>0): xL2=xL;a2=aL
        else: xL1=xL; a1=aL
    print("L",L,": xL=",xL, "vL=", omega*xL)
name=input("Fertig?")


_________________
Uwe Pilz, Fachgruppen Kometen und Astrophysik/Algorithmen.
Oft benutzte Instrumente: Fujinon 16x70 FMT-SX-2, TMB Apo 105/650, Skywatcher Evostar 120/900 ED, Ninja Dobson 320/1440, Smartscope Dwarf-3


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de