tinowagner.com // Blog

Dies und das.
  • Blog
  • Projekte
  • Impressum

Untermenü

  • Archiv
  • Kategorien

    • Allgemein
    • Bilder
    • Fundstücke
    • OS & Apps
      • Gimp
      • Linux
      • Mac
    • Physik
    • Programmieren
      • Web-Dev
    • Sprache
  • Neueste Beiträge

    • 750 frames of chaos
    • Magnetic pendulum, the OpenCL way.
    • Asus DH Remote: Crafting an OS X driver
    • Das Magnetpendel
    • Powerbook und Lower Memory Slot
  • Neueste Kommentare

    • Tino Wagner bei Möge es doppel-pendeln!
    • Anna bei Möge es doppel-pendeln!
    • Grandeau bei Das Magnetpendel
    • Tino Wagner bei Das Magnetpendel
    • Grandeau bei Das Magnetpendel
  • Blogroll

    • Nicole Schönfelder
  • Meta

    • Anmelden
    • Feed der Einträge
    • Kommentare-Feed
    • WordPress.org

Das Magnetpendel 2009-07-13

Screenshot des Magnetpendels

Screenshot des Magnetpendels

Beispiel für eine berechnete Karte

Beispiel für eine berechnete Karte

Als Projektarbeit für Computational Physics habe ich ein Magnetpendel programmiert. Geschrieben in Python mit wxWidgets und Pyglet, parallelisiert mit IPython.

  • Präsentation des Projekts: PDF (Kurzfassung, 1 MB), PDF (Langfassung mit weiteren Fraktalen, 14 MB)
  • Dokumentation: hier
  • Quelltext

Tags: Magnetpendel, Physik, Python
Kategorie Physik, Programmieren | 4 Kommentare »

Powerbook und Lower Memory Slot 2008-08-29

Das muß doch nun wirklich nicht sein. Mein Powerbook G4 15" mit 1,5 GHz, hergestellt im Dezember 2004, mag mich nicht mehr. Oder zumindest den Arbeitsspeicher.

Letzter Sonntag. Safari bleibt plötzlich hängen und läßt sich auch nicht sofort beenden. Ich versuche das Problem durch einen Neustart zu beheben. Nach ein paar Minuten erneuter Freeze. Neustart. Was ist los? Die Vermutung fällt auf den Arbeitsspeicher. Ich teste mit Rember. Aha: bricht schon zu Beginn ab, Fehler beim Reservieren des Speichers. iPhoto läßt sich auch nicht starten. Am Abend versuche ich den kaputten Speicher zu entfernen. Ein Riegel raus. Absturz. Riegel getauscht, Mac OS X startet nicht. Nach dem Ladebildschirm schaltet sich das Book ab. Start im Single-User-Mode mit Apfel+s. fsck berichtet von Fehlern im Dateisystem, die sich nicht reparieren lassen. Da haben die Freezes wohl Spuren hinterlassen. Kann aber Mac OS X starten, indem ich aus dem Single-User-Mode heraus weiterlaufen lasse.

Montag. Erwacht nicht aus dem Ruhezustand. Das Lämpchen hört auf zu pulsieren und nichts tut sich. Fehler wird erst mal ignoriert. Abends wieder das gleiche Problem. Aber nun läßt sich der Mac auch nicht mehr anschalten. Schlafleuchte blinkt, dreimaliges Tuten. Das heißt, es kann keinen nutzbaren Speicher in den Slots finden. Der zweite Riegel also auch kaputt? Ich baue nun wieder den Speicher ein, mit dem das Powerbook ausgeliefert wurde. Zweimal 256 MB. Startet wieder.

Dienstag. Aktualisiere mein Time-Machine-Backup. Das letzte war schon einen Monat alt. Sind ja Semesterferien und man trägt seine Backup-Festplatte ja auch nicht von Ort zu Ort. (Komischerweise passieren Datenverluste ja immer dann, wenn man kein Backup gemacht hat …) Analyse der gesicherten Daten ergibt: alles okay, bis auf die iTunes-Library. Die ist kaputt. Bestelle bei Cyberport ein neues Gigabyte.

Mittwoch. Will Mac OS X via Time Machine neu installieren. Dummerweise sagt die Installations-DVD, daß zu wenig Speicher dafür verfügbar ist. Es stecken aber 512 MB drin, die auch angezeigt werden, wenn ich mit der Tiger-DVD starte. Ich baue den Originalspeicher wieder aus und stecke 1 GB Speicher zurück in den oberen Slot. Unterer Slot bleibt leer. Kann nun die Leopard-DVD booten und das Backup zurückspielen. Keine Abstürze. Alles läuft wie am Schnürchen. Am Ende habe ich wieder ein lauffähiges System. Time Machine ist schon eine tolle Sache. Ich hole den Speicher bei Cyberport im Laden ab. Komme aber nicht mehr dazu, ihn einzubauen.

Donnerstag. Zweites GB kommt dazu. Memtest bzw. Rember läuft ohne Probleme durch. Alles durchgestanden?

Freitag. Mauszeiger bewegt sich 11:30 Uhr nicht mehr. Beim Neustart fehlt der Startton. Es wird nur noch 1 GB Speicher erkannt.

Tja. Und damit bin ich wohl Opfer eines Serienfehlers geworden. Der untere Speicherslot ist kaputt (oder tut zumindest so…). Es gibt auch eine Petition, die Apple auffordert, defekte Logic Boards zu reparieren. Apple hat zwar bis zum Juli 2008 eine kostenlose Reparatur angeboten, aber nur für bestimmte Seriennummernbereiche, die Powerbooks von Januar bis Mai 2005 einschließen. Meins und die mehr als 4200 Powerbooks der Petitions-Unterzeichner sind da nicht dabei. 

Daß nach dem Absturz nur noch 1 GB übrig war, ist wohl dadurch zu erklären, daß der Speicher im unteren Slot als defekt abgestempelt wird. Tauscht man die Speicherriegel wieder untereinander aus, werden beim nächsten Start wieder volle 2 GB angezeigt.

Memtest / Rember bringen das System dann erfolgreich zum Freeze und nach dem Neustart bleibt nur der obere Riegel übrig.

Das Ausbleiben des Starttons erklärt sich dann durch den fehlgeschlagenen Power-On-Self-Test:

Selbsttest beim Einschalten:

  Zuletzt ausgeführt: 29.08.08 15:45
  Ergebnis: Fehlgeschlagen
  Fehlerart: Speicher
  Speicher-Steckplätze: SODIMM0/J25LOWER
 

Nun bleibt mir wohl nichts anderes übrig, als mich mit 1 GB Speicher zufriedenzugeben. Toll 🙁

Tags: Lower Memory Slot, Powerbook
Kategorie Allgemein, Mac | 1 Kommentar »

Möge es doppel-pendeln! 2008-04-02

Die Semesterferien neigen sich dem Ende zu, und nach all der Prüfungszeit wollte ich mal wieder was programmieren. Doch was? Nun, ich glaube ein Physikstudent sollte zumindest einmal in seinem Leben eine _Simulation eines Doppelpendels_ programmieren 😉 Es ist nicht nur schön anzusehen, sondern auch als wohl einfachstes "chaotisches System":http://de.wikipedia.org/wiki/Chaos ein physikalisch interessanter Fall.

Die Herleitung der Bewegungsgleichungen ist dank zwei Semestern theoretischer Physik und "Lagrange II":http://de.wikipedia.org/wiki/Lagrange-Formalismus nicht schwer, wird aber auch bei "Eric Weisstein's World Of Physics":http://scienceworld.wolfram.com/physics/DoublePendulum.html sehr schön beschrieben. 

Die dort hergeleiteten Gleichungen sind

\(\)

\(\)

mit \(\)  als Gesamtmasse.

Bleibt noch das Problem sie zu lösen. Analytisch ist das aber ohne Näherung nicht möglich. (Schon das einfache Fadenpendel läßt sich analytisch nur für kleine Winkel exakt lösen!)

Also numerisch.

Angefangen mit "Python":http://www.python.org/ und dem Rechenpaket "SciPy":http://scipy.org/ habe ich also ein Einfach- und ein Doppelpendel nebeneinander aufgehängt. (Für die Grafkausgabe OpenGL und "Pyglet":http://www,pyglet.org/)

Das gekoppelte Differentialgleichungssystem 2. Ordnung muß man hierbei zur numerischen Lösung in ein Differentialgleichungssystem 1. Ordnung umformen, damit die Integrationsroutinen aus SciPy anwendbar sind. Aber das ist zum Glück immer möglich.

Weil es aber langweilig ist, eine fertige Funktion zu nutzen, habe ich auch diese Routinen noch umgesetzt. Genauer gesagt drei verschiedene: das "Euler-Verfahren":http://de.wikipedia.org/wiki/Explizites_Euler-Verfahren, das "klassische Runge-Kutta-Verfahren":http://de.wikipedia.org/wiki/Klassisches_Runge-Kutta-Verfahren mit fester Schrittweite und das Runge-Kutta-Verfahren nach "Dormand und Prince":http://en.wikipedia.org/wiki/Dormand-Prince mit einer sich anpassenden Schrittweite, wie es in "Numerical Recipes":http://www.nrbook.com/ beschrieben ist.

Doppelpendel

Lange Rede, kurzer Sinn. Den Python-Code gibt's hier: "klick":http://www.tinowagner.com/projekte/double_pendulum-r25.zip. Ausführen mit "python -O simulation.py".

Zur Ausführung wird, wie gesagt, weiterhin das Modul "Pyglet":http://pyglet.org/download.html benötigt. In _ode.py_ findet sich die Implementation der ODE-Integrationsroutinen. Um die Pendelparameter zu ändern, liefere ich eine einfaches und schnell zusammengeschustertes Widget-Toolkit mit, das das Unterfenster erzeugt.

Da ich aber auch mal wieder was mit Java machen wollte, habe ich das Doppelpendel noch mit Java, "NetBeans":http://www.netbeans.org/ und "JOGL":https://jogl.dev.java.net/ (OpenGL-Binding für Java) umgesetzt. "umgesetzt" heißt hierbei, daß ich den Code nahezu 1:1 von meinem ursprünglichen Python-Code übersetzt habe. Die Java-Simulation läuft etwas schneller und dank Java Web Start kann ich hier auch einen Link bieten, um sich das ganze sofort anzuschauen.

Den Quelltext gibt's natürlich auch.

Tags: Java, ODE, Pendel, Physik, Python
Kategorie Physik, Programmieren | 7 Kommentare »

« Vorherige Einträge
Nächste Einträge »

tinowagner.com // Blog is proudly powered by WordPress | WPD
Beiträge (RSS) und Kommentare (RSS)