Magnetpendel símulieren?



  • Ich versuche derzeit, die Schwingung eines Pendels zu simulieren, dessen Schwingung von drei Magneten beeinflusst wird. Das Verhalten des Pendels soll ja bekanntlich chaotisch sein. Ich muss dabei ein Differenzialgleichungsystem zweiten Grades mit zwei Unbekannten lösen. Welche numerische Verfahren sind besonders dafür geeignet?



  • Forme die DGL erstmal in ein System erster Ordnung um. Die meisten (alle?) numerischen Verfahren zum Lösen von DGLs gehen von solchen Systemen aus.
    Danach kannst du z.b. ein Runge-Kutta-Verfahren drauf los lassen: http://de.wikipedia.org/wiki/Runge-Kutta



  • Ich hab' jetzt das Runge-Kutta Verfahren mit adaptiven Schrittweiten benutzt, aber die Ergebnisse sind nicht immer zufriedenstellend. In meiner Simulation gibt es viele Startpunkte, wo der Pendel an keinen der Magnete stehen bleibt, sondern zu seiner Ruhelage zurückgekehrt. Dies darf doch eigentlich nicht passieren, da der Magnetpendel ja ein chaotisches Verhalten zeigen soll. Kann es sein, dass meine numerische Lösungen der DGL-Systeme nicht genau genug waren?



  • Gut auskennen tu ich mich damit nicht, aber ich rate mal etwas rum: Hast du mal geschaut, ob es in deinem Modell vielleicht einen Fehler gibt? Wi/womit hast du den Runge-Kutta implementiert? Hast du dir mal Gedanken über Stabilität und anziehende/abstoßende Fixpunkte gemacht?



  • Also, ich hab' noch mal die Formeln der DGL-Systems überprüft, die scheinen fehlerfrei zu sein. Ich verwende das Runge-Kutta-Verfahren 4. Grades mit der Schrittweitensteuerung vom Fehlberg. Die relativen Fehlertoleranz hab' ich auf 10e-8 gesetzt.
    Für Gebiete, die fern von der Ruheposition des Pendels liegen, funktioniert die Simulation. Aber für Punkte, die nahe der Ruheposition liegen, kehrt der Pendel immer zur Ruheposition zurück. Ich glaub' nicht, das dieses Verhalten richtig ist, denn selbst in der Nähe der Ruheposition soll dder Pendel sich chaotisch verhalten. Kann der Fehler vielleicht daran liegen, weil das Runge-Kutta Verfahren nich stabil genug für dieses DGL-System ist? Soll ich dann eventuell eine anderes Verfahren benutzen.



  • Am Verfahren liegts sicher nicht. Wenn überhaupt an der Implementierung oder daran, dass das System instabil ist.
    Ich würde allerdings drauf Tippen, dass dein System einen anziehenden Fixpunkt hat.

    Zeig doch mal das System her.



  • cpp_lover schrieb:

    Ich hab' jetzt das Runge-Kutta Verfahren mit adaptiven Schrittweiten benutzt, aber die Ergebnisse sind nicht immer zufriedenstellend. In meiner Simulation gibt es viele Startpunkte, wo der Pendel an keinen der Magnete stehen bleibt, sondern zu seiner Ruhelage zurückgekehrt. Dies darf doch eigentlich nicht passieren, da der Magnetpendel ja ein chaotisches Verhalten zeigen soll.

    Doch, das passiert genau dann, wenn Du die Dämpfung vergessen hast. Hast Du einen Luftwiderstand mit berücksichtigt, der das Pendel abbremst?

    cpp_lover schrieb:

    Kann es sein, dass meine numerische Lösungen der DGL-Systeme nicht genau genug waren?

    Wenn in Deinem Model das Pendel ohne jede Dämpfung genau zur Ruhelage zurückkehrt, dann ist das Verfahren supergenau.

    Gruß
    Werner



  • Ich hab' die Gravitation(G), die Reibung(R) und die Stärke der Magnete(M) in meiner Simulation mit eingebaut. Mein DGL-System sieht folgendermaßen aus:
    x''=-R*x'+M*(Gesamtkraft der Magnete auf x)-Gx
    y''=-R*y'+M*(Gesamtkraft der Magnete auf y)-G
    y

    Bei hoher Gravitationsfaktor und niedriger Magnetstärke gibt es bedeutend mehr Startpunkte, die zur Ruhelage führen. Ich muss schon die Magnetstärke auf 500 und die Gravitation auf 0.003 setzen, damit die meisten Startpunkte zu einen der Magneten führen. Die Reibung hat da weniger Einfluss auf das Verhalten des Pendels.


Log in to reply