Das magnetische Pendel

Im Jahr 1994 wurde in der Zeitschrift Spektrum der Wissenschaft der Artikel "Experimente zum Chaos" [1] veröffentlicht. Das ist mehr als 30 Jahre her, aber der darin beschriebene Versuchsaufbau ist auch heute noch eine der einfachsten Demonstrationen für chaotisches Verhalten. Chaos oder chaotisches Verhalten bedeutet nicht, wie oft angenommen wird, Unberechenbarkeit im Sinne von Zufälligkeit, sondern vielmehr eine starke nichtlineare Abhängigkeit eines Endergebnisses von den Anfangsbedingungen. Kleinste Veränderungen in den Startbedingungen können zu dramatisch unterschiedlichen Ergebnissen führen. Bereits 1963 untersuchte der Mathematiker und Meteorologe Edward Lorenz ein ähnliches Verhalten bei Wettersimulationen. Er schrieb:

„Ein Meteorologe bemerkte, dass wenn die Theorie korrekt wäre, der Flügelschlag einer Möwe ausreichen könnte um den Verlauf des Wetters für immer zu ändern. Diese Kontroverse ist noch nicht endgültig geklärt, doch neueste Forschungsergebnisse scheinen den Möwen Recht zu geben.“

In späteren Vorträgen wurde aus der „Möwe“ der poetischer klingende „Schmetterling“ und der Begriff des Schmetterlingseffekts war geboren.

Der Experimentalaufbau

Ein Magnetpendel hängt über drei Magneten Ein Magnetpendel hängt über drei Magneten. Wird es losgelassen, so bewegt es sich unter dem Einfluss der Anziehungskraft der drei Magnete und der Schwerkraft, die es zu seinem Ruhepunkt zurückzieht.

Der Originalartikel beschreibt eine Simulation, welche die Bewegung eines magnetischen Pendels unter dem Einfluss von Schwerkraft und dreier Magnete simuliert. Würde man den Versuch physisch aufbauen, so sähe das wie im Bild ? aus. Ein magnetisches Pendel ist über drei Magneten aufgehängt. Die Magnete sind stark genug, um das Pendel niemals in der Mitte zur Ruhe kommen zu lassen.

Seine Bewegung wird durch Reibung, Gravitation und magnetische Anziehungskraft beeinflusst. Die Kräfte sind so aufeinander abgestimmt, dass das Pendel infolge des reibungsbedingten Energieverlustes über einem der drei Magnete zum Stillstand kommt. Die Simulation berechnet die Pendelbewegung durch Integration der Bewegungsgleichung des Pendelkörpers.

Färbt man den Startpunkt der Pendelspur mit der Farbe des Magneten ein, über dem das Pendel zum Stillstand kam, und führt die Simulation für eine Vielzahl möglicher Startpunkte auf einem Gitter durch, so erhält man ein dreifarbiges Muster. Es wird deutlich, dass selbst kleine Variationen im Startpunkt nach kurzer Zeit zu großen Änderungen in der Pendelspur führen können. Das Ergebnis (die Farbe des Zielmagneten) wird dadurch schwer vorhersagbar.

Im Jahr 1994 dürfte ein Simulationsdurchlauf auf einem Supercomputer der Zeit Tage gedauert haben. Heute kann man es hochauflösend im Browser in Echtzeit erleben. Das folgende Applet zeigt die Simulation und erlaubt es, die Stärke der Reibung und die Positionen von Pendel und Magneten zu verändern.

In der Nähe der Magnete befinden sich kleine Zonen der Stabilität. Lässt man das Pendel dort los, so wird es über dem nächstgelegenen Magneten zur Ruhe kommen. Je weiter man sich vom Magneten entfernt, desto chaotischer wird die Bewegung. Allerdings nur, wenn die Reibung klein genug ist, denn bei großer Reibung wird das Pendel schnell zur Ruhe kommen beziehungsweise einfach zum nächsten Magneten kriechen.

Weniger Reibung Mehr Reibung

Implementierung der Pendelsimulation

Grafische Darstellung des Experimentalaufbaus Grafische Darstellung des Experimentes (Bild mit freundlicher Genehmigung von Paul Nylander). Farbfunktionen Gegenüberstellung von drei unterschiedlichen Farbfunktionen.

In diesem Abschnitt werde ich das zugrundeliegende numerische Modell vorstellen und zeigen, wie kleine Änderungen in den Anfangsbedingungen der Simulation die Endposition des Pendels stark beeinflussen können. Dies führt in letzter Konsequenz zu einer Unvorhersehbarkeit der Pendelendposition, da bereits kleinste Änderungen am Anfang das Ergebnis dramatisch beeinflussen.

Das klassische Modell geht von einem Pendel aus, das von drei Magneten angezogen wird. Jedem Magneten ist eine Farbe zugeordnet. Die Magnete sind unterhalb des Pendels auf einer Ebene in einem gleichseitigen Dreieck angeordnet. Das Pendel ist mittig darüber aufgehängt. Die Magnete sind stark genug, um das Pendel niemals in der Mitte zur Ruhe kommen zu lassen.

Im Bild rechts ist das Modell schematisch dargestellt. Die Simulation berechnet die Bewegung des Pendels unter dem Einfluss der drei Magnete, der auf das Pendel wirkenden Schwerkraft sowie der Reibungskraft. Infolge von Energieverlusten durch die Reibungskraft wird das Pendel früher oder später über einem der Magnete zur Ruhe kommen. Der Startpunkt des Pendels wird dann mit der Farbe des Magneten eingefärbt, über dem es zur Ruhe kam. Führt man dies für alle Punkte im Simulationsbereich durch, so erhält man ein farbiges Muster aus roten, grünen und blauen Punkten.

Mit der bislang beschriebenen Methode sind allerdings nur dreifarbige Bilder möglich. Es wäre wünschenswert, in den Bildern mehr Farben oder zumindest Schattierungen zu verwenden. Eine Information, die dafür verfügbar ist, ist die Spurlänge. Dafür wird eine Farbfunktion als Funktion der Spurlänge eingeführt. Zur Erleichterung der Skalierung wird die maximale Spurlänge in die Berechnung einbezogen. Prinzipiell kann man beliebige Funktionen verwenden. Die rechts dargestellten Funktionen erzeugen gute Ergebnisse.

Abdunkeln der Farben nach Farbspurlänge Abdunkeln der Farben nach Farbspurlänge

Anfangspositionen, die in längeren Spuren resultieren, werden in dunkleren Schattierungen dargestellt. Die hier zum Download angebotene Version der Pendelsimulation erlaubt die Verwendung beliebiger Farbfunktionen.

Idealisiertes Modell

Wem sich nun die Frage stellt, wie das Pendel mit seinen drei Raumdimensionen und der Bewegung auf einer Kugeloberfläche in ein mathematisches Modell umgesetzt wird, dem sei gesagt: Das ist einfach! Wie heißt es doch so schön? "Was nicht passt, wird passend gemacht." Getreu diesem Grundsatz wird einfach angenommen, das Pendel sei sehr lang. Unter dieser Voraussetzung kann man die Bewegung der Pendelmasse als Bewegung in einer Ebene über den Magneten idealisieren. Für ein langes Pendel mit geringer Auslenkung kann man weiterhin annehmen, die Rücktriebskraft, welche es zum Zentrum zurückzieht, ist proportional zur Auslenkung. Sie verhält sich dem Hookeschen Gesetz entsprechend. Das alles ist äußerst praktisch, denn nun kann man in zwei Dimensionen rechnen, ohne sich um Drehmomente, Rotationswinkel, Kreuzprodukte und Ähnliches Gedanken machen zu müssen.

Vergleich von Pendelrücktriebskraft mit der von den Magneten verursachten Anziehungskraft. Vergleich von Pendelrücktriebskraft mit der von den Magneten verursachten Anziehungskraft.

So viel mehr Aufwand wäre es zugegebenermaßen nicht gewesen, die komplette Physik zu implementieren, aber die Realität hat mal wieder einen entscheidenden Nachteil: Das Ergebnis müsste auf eine Kugeloberfläche abgebildet werden. Das wäre ein wenig unpraktisch, denn im Gegensatz zu Bildern kann man Kugeln weder an die Wand hängen noch als Desktophintergrund verwenden.

Für die Berechnungen wird angenommen, die Magnete üben eine Kraft auf das Pendel aus, die proportional zum inversen Quadrat der Pendelentfernung vom Magneten ist. Dies ist ein typischer Zusammenhang, wie er auch beim Gravitationsgesetz oder beim Coulombschen Gesetz zu beobachten ist. Das ist allerdings nur die halbe Wahrheit, denn dieses Kraftgesetz würde nur gelten, wenn die Kraft von magnetischen Monopolen verursacht würde, und die gibt es nach bisherigem Kenntnisstand nicht. Magnete sind immer Dipole und ein Dipol verursacht eine Kraft, die proportional zu 1/r³ ist. Dies wird hier ignoriert, kann aber vom interessierten Leser im Konfigurationsfile der zum Download angebotenen Version der Pendelsimulation selbst eingestellt werden. Weiterhin werden elektrische Effekte, wie zum Beispiel Induktion und dadurch im Pendel selbst verursachte Magnetfelder vernachlässigt.

Die Bewegungsgleichungen

Die Positionen des Pendels ergeben sich durch zweifache Integration der auf das Pendel wirkenden Gesamtbeschleunigung. Die Beschleunigung folgt unmittelbar aus Newtons zweitem Bewegungsgesetz. Die Kraft, die notwendig ist, um einen Körper zu bewegen oder dessen Bewegung zu ändern, entspricht dem Produkt aus Masse und Beschleunigung. Damit kann die Beschleunigung direkt berechnet werden.

\begin{equation} \nonumber\vec{F} = m \vec{a} \end{equation} \begin{equation} \nonumber\vec{a} = {\vec{F} \over m} \end{equation}

Da die Ausgangsposition und die Initialgeschwindigkeit sich aus den Anfangsbedingungen ergeben, muss nur noch die Gesamtbeschleunigung berechnet werden. Diese ergibt sich aus der Summe der durch die Magnete verursachten Beschleunigungen plus der durch die Pendelrücktriebskraft verursachten Beschleunigung minus der durch die Reibung verursachten Bremswirkung. Aus praktischen Erwägungen wird für alle weiteren Betrachtungen eine Pendelmasse von 1 Masseneinheit angenommen. Es ergeben sich folgende Gleichungen:

Beschleunigung durch die Rücktriebskraft, die auf das Pendel wirkt:

\begin{equation} \nonumber\vec{a}_g = k_g \cdot \vec{r} \end{equation}

Beschleunigung, die durch einen einzelnen Magneten auf das Pendel wirkt:

\begin{equation} \nonumber\vec{a}_m = k_m \cdot \frac{\vec{r}}{|\vec{r}|^3} \end{equation}

Verlangsamung durch Reibung:

\begin{equation} \nonumber \vec{a}_f = -k_f \cdot \vec{v} \end{equation}

Gesamtbeschleunigung des Pendels:

\begin{equation} \nonumber \vec{a}_t = \vec{a}_g + \Big( \sum_{m=1}^3{\vec{a}_m} \Big) - \vec{a}_f \end{equation}

wobei:

  • \(\vec{a}_t\) - Gesamtpendelbeschleunigung
  • \(\vec{a}_g\) - Beschleunigung durch Rücktriebskraft (Gravitation)
  • \(\vec{a}_m\) - Beschleunigung durch Magnet mit Index m
  • \(\vec{a}_f\) - Verlangsamung durch Reibung
  • \(k_f\) - Reibungskonstante
  • \(k_g\) - Stärke der Rücktriebskraft
  • \(k_m\) - Magnetstärke
  • \(\vec{r}\) - Pendelposition

Integration der Pendelspur

Gibt man eine Startposition und eine Startgeschwindigkeit für das Pendel vor, so kann man mit einem passenden Integrationsverfahren die komplette Spur berechnen. Für diese Simulation wird das Beeman-Integrationsschema verwendet. Dieses Schema wird häufig auf Probleme der Molekulardynamik angewendet und ist ein zur Verlet-Integration verwandtes Verfahren. Es ist einfach zu implementieren und sieht in C++ wie folgt aus:

for (int ct=0; ct<m_nMaxSteps && bRunning; ++ct)
{
  // compute new position
  pos[0] += vel[0]*dt + sqr(dt) * (2.0/3.0 * (*acc)[0] - 1.0 / 6.0 * (*acc_p)[0]);
  pos[1] += vel[1]*dt + sqr(dt) * (2.0/3.0 * (*acc)[1] - 1.0 / 6.0 * (*acc_p)[1]);

  (*acc_n) = 0.0;    // reset accelleration

  // Calculate Force, we deal with Forces proportional
  // to the distance or the inverse square of the distance
  for (std::size_t i=0; i<src_num; ++i)
  {
    const Source &src( m_vSources[i] );
    r = pos - src.pos;
    if (src.type==Source::EType::tpLIN)
    {
      // Hooke's law:          _
      //         _             r         _   
      //  m * a = - k * |r| * --- = -k * r
      //                      |r|
      //
      (*acc_n)[0] -= src.mult * r[0];
      (*acc_n)[1] -= src.mult * r[1];
    } 
    else
    {     
      // Magnet Forces: _
      //      _         r
      //  m * a = k * -----
      //               |r³|
      //
      double dist( sqrt( sqr(src.pos[0] - pos[0]) +  
                         sqr(src.pos[1] - pos[1]) + 
                         sqr(m_fHeight) ) );
      (*acc_n)[0] -= (src.mult / (dist*dist*dist)) * r[0]; 
      (*acc_n)[1] -= (src.mult / (dist*dist*dist)) * r[1]; 
    }

    // Check abort condition
    if (ct>m_nMinSteps && abs(r)<src.size && abs(vel)<m_fAbortVel)
    {
      bRunning = false;
      stop_mag = (int)i;
      break;
    }
  }   // for all sources

  // 3.) Friction proportional to velocity
  (*acc_n)[0] -= vel[0] * m_fFriction;
  (*acc_n)[1] -= vel[1] * m_fFriction;    

  // 4.) Beeman integration for velocities
  vel[0] += dt * ( 1.0/3.0 * (*acc_n)[0] + 5.0/6.0 * (*acc)[0] - 1.0/6.0 * (*acc_p)[0] );
  vel[1] += dt * ( 1.0/3.0 * (*acc_n)[1] + 5.0/6.0 * (*acc)[1] - 1.0/6.0 * (*acc_p)[1] );

  // 5.) flip the acc buffer
  tmp = acc_p;
  acc_p = acc;
  acc   = acc_n;
  acc_n = tmp;
}

Download

Zum Kompilieren des Programmarchivs wird Visual Studio benötigt. Eine vorkompilierte Version befindet sich im ZIP-Archiv. Das Programm sollte auch unter Linux mit Wine funktionieren. (Die hier gezeigten Animationen entstanden unter Linux.)

C++-Version herunterladen

Die Funktionsweise der C++-Beispielapplikation ist hier im Detail beschrieben.

Galerie

Abschließend möchte ich einige Bilder präsentieren, die mit dem hier vorgestellten Programm berechnet wurden. Die Simulationen unterscheiden sich durch die Anzahl der Magnete, deren Stärke, Position und des Punktes der Pendelaufhängung.

Gallery Eine Auswahl von Bildern berechnet mit unterschiedlichen Parametern.
Animation, welche die Farbmuster bei 6 rotierenden Magneten zeigt.

Quellenangaben

  1. “Experimente zum Chaos.” Sascha Hilgenfeldt und Hans-Christoph Schulz, Spektrum der Wissenschaft 1, 1994, Seite 72
  2. “Butterfly Effect.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc., Web. Date accessed (01 February 2015).
  3. “Fractals” Internetseite von Paul Nylander, Web.
  4. "The Predictability of Hydrodynamic Flow" Lorenz, Edward N. (1963). Transactions of the New York Academy of Sciences. 25 (4): 409–432.