Simulation chaotischer Masse-Feder-Systeme mit Python 3 (Software)

Martin Vogel ⌂ @, Dortmund / Bochum, Tue, 02.02.2016, 13:23 (vor 2968 Tagen)

Während man bei einfachen Faden- oder Federpendeln gut berechnen kann, welchen Zustand sie zu jedem beliebigen Zeitpunkt haben werden (sonst gäbe es keine mechanischen Uhren), neigt die Kombination von mehreren Pendeln zu einem hochgradig chaotischen Verhalten.

Ein kleines Python-3-Programm, dass unten heruntergeladen werden kann, erlaubt die Konstruktion komplexer Masse-Feder-Systeme, bei denen sich zahlreiche Parameter über Schieberegler beeinflussen lassen.

[image]

Mathematisch steckt kaum etwas dahinter. Auf einen Massepunkt wirken Kräfte, diese bewirken pro Berechnungsschritt eine Beschleunigung, jene verändert die Geschwindigkeit des Massepunkts, wodurch dieser letztlich nach jedem Rechenschritt eine neue Position erhält. Da an den Massepunkten Federn hängen, sorgt die Positionsänderung für eine Dehnung oder Stauchung ihrer Endpunkte, wodurch wieder Kräfte entstehen, die im nächsten Durchlauf wieder auf die Massepunkte wirken und so fort.

Durch diese einfachen Rechnungen entstehen hochkomplexe Bewegungen, welche vom Programm aufgezeichnet werden können.

Wer sich schon immer einmal mit Python 3 beschäftigen wollte, ist herzlich eingeladen, mit dem Programm herumzuspielen und es für seine Zwecke anzupassen.

Kurzanleitung:

Das physikalische Modell besteht aus blauen Lagerpunkten, roten Massepunkten und grauen Stabfedern.
Die Lagerpunkte und die Massepunkte können mit der Maus verschoben werden.
Die Federn folgen dieser Bewegung.

Neue Massepunkte und Lagerpunkte lassen sich mit den Tasten „M“ und „L“ sowie mit der rechten Maustaste erzeugen.
Massepunkte werden mittels einer Feder mit dem nächstliegenden verschieblichen Punkt verbunden, wenn die Gravitation ungleich null ist. Zum schnellen Einschalten der Schwerelosigkeit dient der Button „Antigravity“.

Neue Federn werden durch zweimaliges Drücken der rechten Maustaste oder der Taste „F“ jeweils am Start- und am Zielobjekt angebunden. Unerwünschte Druck- oder Zugspannungen in den Federn, die während des Konstruierens entstehen können, lassen sich mit dem Button „Entspannen“ auf null setzen.

Bei hohen Federsteifigkeiten und geringen Kugelmassen neigt das Modell dazu, in dramatischer Weise aufzuschwingen. Der Dämpfungsregler sollte daher niemals auf einem zu kleinen Wert stehen.

Das Löschen von Objekten ist noch nicht implementiert. Auch das Laden und Speichern von Modellen und Reglerstellungen wird der geneigten Leserin und dem geneigten Leser des Python-3-Quelltextes dieses Programms überlassen.

Viel Spaß damit![image]

Download: [image]ZIP-Archiv_XQGMILX91.zip

--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums

Bücher:
CAD mit BricsCAD
Bauinformatik mit Python


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum