magnetisches Chaospendel

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Chaos_MA
User
Beiträge: 4
Registriert: Mittwoch 23. September 2020, 12:13

Hallo,

für ein Projekt soll ich die Bewegung des magnetischen Chaospendels in Python simulieren.
Bei dem Modell, welches ich verwende, handelt es sich um eine Vereinfachung, bei der die Pendelschnur sehr lang ist.

Leider hänge ich seit Tagen an einer Stelle fest und wollte deshalb in einem Forum Ideen bzw. Lösungsvorschläge sammeln.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Und wo ist die Stelle?
Chaos_MA
User
Beiträge: 4
Registriert: Mittwoch 23. September 2020, 12:13

Ich bekomme es in Python einfach nicht hin, dass sich das Pendel adequat bewegt.
Die zugrundeliegenden Differentialgleichungen werden in einer anderen Datei berechnet und liefern die Position des Pendelkörpers.
Über eine Eingabe werden Parameter für die Simulation und für die Differentialgleichungen voreingestellt.
In einer Weiteren Datei, wird das Pendel gezeichnet.
Es wird dabei bei jeder neuen Position quasi neu gezeichnet.
Alle Dateien befinden sich in einem gemeinsamen Projekt.

Nun besagte Stelle:
damit sich der Pendelkörper dreidimensional bewegt soll/wird dieser durch eine Rotation in die Position gebracht.

Die Rotation durch eine Rotationsmatrix misslingt. Die Koordinaten sind in kartesischen Koordinaten und sollten ursprünglich in Kugelkoordinaten umgewandelt und gedreht werden, mithilfe einer Drehungsmatrix in ebenfalls in Kugelkoordinaten.

Da das aber alles nicht klappt, muss ich einen anderen Weg finden die alten Koordinaten in meiner Zeichnung zu drehen/rotieren/neu zu berechnen und dann das Pendel neu zeichnen, damit eine Bewegung ensteht.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Und wo ist nun die konkrete Frage?
Chaos_MA
User
Beiträge: 4
Registriert: Mittwoch 23. September 2020, 12:13

Meine Frage ist, ob vlt jemand eine Idee hat wie ich das...

"Da das aber alles nicht klappt, muss ich einen anderen Weg finden die alten Koordinaten in meiner Zeichnung zu drehen/rotieren/neu zu berechnen und dann das Pendel neu zeichnen, damit eine Bewegung ensteht."

umsetzten kann.

Meine Idee war letzendlich noch über ein nichtlineares Gleichungssystem bei jedem Rechenschritt die neuen Koordinaten zu berechnen.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Aus Deiner Beschreibung wird nicht klar, was Du da machen willst.
Die Berechnung der Bewegung ist erst einmal völlig unabhängig von der Darstellung der Bewegung.
Wenn ich Dich recht verstanden habe, hast Du das Gleichungssystem bereits gelöst, es bleibt also nur noch die Darstellung.

Die simpelste Darstellung wäre ja 2D von oben. Die Position des Pendels ist einfach ein Kreis.
Wenn man will, kann man die Pole der Magnete auch noch als rote und grüne Kreise darstellen.
Da verstehe ich nicht was Du mit "alte Koordinaten in meiner Zeichnung drehen/rotieren/neu berechnen" meinst.
Chaos_MA
User
Beiträge: 4
Registriert: Mittwoch 23. September 2020, 12:13

Die Darstellungsidee von oben in 2D ist zwar gut, jedoch muss die Bewegung leider in 3D zu sehen sein.

Ich möchte versuchen die Frage anders zu stellen und mich zu präzisieren.
Ich habe den Vektor der aktuellen Position des Pendelkörpers.
Nun muss für jeden Schritt der Bewegung ein nichtlineares LGS gelöst werden um den neuen Vektor mittels einer Rotation oder Ähnlichem darzustellen.

Etwa in der Form: Rxyz * Vektor_alt = Vektor_neu

Ich habe jedoch Probleme dabei das in Python umzusetzen.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Also hast Du Probleme das Gleichungssystem zu lösen.
Hast Du es denn wenigstens schon aufgestellt?
Und wenn ja, wie?
Antworten