10. Kapitel
Das Seil: ein System gekoppelter Differentialgleichungen
Große Verbünde von Differentialgleichungen
Das Seil ist eine Kombination von Feder-Masse-Systemen, die mit einem System gekoppelter Differentialgleichungen beschrieben werden kann. Die Aufstellung der Differentialgleichungen für ein umfangreiches System gekoppelter Elemente kann schnell in einem unübersichtlichen Gleichungswust enden, verliert doch die große Anzahl von Elementen, Kräften und Koordinaten schnell an Übersichtlichkeit. Eine systematische Lösung muss gefunden werden!
Das Lösungsprinzip besteht in der Vereinzelung der vielfach auftretenden und
miteinander verbundenen Elemente. Das ermöglicht ein einfaches und vor allem
übersichtliches Aufstellen der Differentialgleichung für jedes der
vereinzelten Elemente. Da nun aber die Elemente miteinander verbunden sind, muss
es noch weitere Bestimmungsgrößen geben, die die Wechselwirkung
zwischen den Elementen beschreiben. Dies sind die sog. Schnittkräfte
oder, bei rotatorischen Systemen, Schnittmomente.
zeigt, wie eine Anordnung, die uns bereits aus
bekannt ist, durch gezielte Schnitte in einzelne
Elemente zerlegt werden kann. Im rechten Teilbild ist zu sehen, dass die obere
Masse von den Federn getrennt wurde. Um aber die Gesamtsituation nicht zu
verändern, treten Anstelle der Federn die vektoriellen Schnittkräfte
Fprevious und Fnext. Damit
kann nun das Kräftegleichgewicht für eine solche Masse aufgestellt werden:
Worin G die Gewichtskraft, FT die
Trägheitskraft und FR die Reibungskraft
bedeuten. Die vektoriellen Schnittkräfte Fprevious
und Fnext errechnen sich aus den jeweiligen
Federspannungen, als dem wirksamen Federweg Δl
multipliziert mit der Federkonstanten n.
Bei einer Anordnung bestehend aus vielen gleichartigen Elementen werden die Schnittkräfte für jede Masse (Knoten) bestimmt und zur Aufstellung einer Differentialgleichung für diese Masse verwendet. In der Gesamtheit handelt es sich wieder um ein System gekoppelter Differentialgleichungen, wobei die Verkopplung über die Schnittkräfte erfolgt.
Ein weiterer Vorteil dieser Methode besteht darin, dass zusätzliche Kräfte, wie etwa der Einfluss von Wind oder der Gravitation, sehr einfach den Schnittkräften hinzugefügt werden können.
Das hier vorgestellte Verfahren der Zerlegung komplexer mechanischer Konstrukte führt direkt auf die finite Elemente Methode. Finit heißt die Methode, weil ein mechanisches Kontinuum in eine endliche Anzahl einfacher Elemente zerlegt wird. Das bedeutet auch, dass die Abmessungen dieser Elemente endlich, also nicht infinitesimal klein sind. Neben der Modellierung des Konstruktes durch diese Elemente sind die Koppelstellen zwischen den Elemente von großer Wichtigkeit. Diese werden durch Randbedingungen beschrieben, deren mathematische Behandlung in Abhängigkeit von der Anzahl der approximierenden Elemente sehr aufwändig werden kann. Dazu sind auch Kenntnisse der Festigkeitslehre erforderlich, die den Rahmen meiner Präsentation sprengen würden. Deshalb ersetzen wir das Kontinuum durch konzentrierte Elemente, die aus Federn, Reibungselementen und Massen bestehen, wobei deren Größen mehr oder weniger geschätzt werden. Um ein Konstrukt modellieren zu können, werden die Massen als Knoten betrachtet. An diese Knoten werden die Federn mittels Gelenken angeschlossen. Gelenk bedeutet, dass zwischen Federn und Massen keine Drehmomente wirken können.
()
Bei einer Anordnung bestehend aus vielen gleichartigen Elementen werden die Schnittkräfte für jede Masse (Knoten) bestimmt und zur Aufstellung einer Differentialgleichung für diese Masse verwendet. In der Gesamtheit handelt es sich wieder um ein System gekoppelter Differentialgleichungen, wobei die Verkopplung über die Schnittkräfte erfolgt.
Ein weiterer Vorteil dieser Methode besteht darin, dass zusätzliche Kräfte, wie etwa der Einfluss von Wind oder der Gravitation, sehr einfach den Schnittkräften hinzugefügt werden können.
Das hier vorgestellte Verfahren der Zerlegung komplexer mechanischer Konstrukte führt direkt auf die finite Elemente Methode. Finit heißt die Methode, weil ein mechanisches Kontinuum in eine endliche Anzahl einfacher Elemente zerlegt wird. Das bedeutet auch, dass die Abmessungen dieser Elemente endlich, also nicht infinitesimal klein sind. Neben der Modellierung des Konstruktes durch diese Elemente sind die Koppelstellen zwischen den Elemente von großer Wichtigkeit. Diese werden durch Randbedingungen beschrieben, deren mathematische Behandlung in Abhängigkeit von der Anzahl der approximierenden Elemente sehr aufwändig werden kann. Dazu sind auch Kenntnisse der Festigkeitslehre erforderlich, die den Rahmen meiner Präsentation sprengen würden. Deshalb ersetzen wir das Kontinuum durch konzentrierte Elemente, die aus Federn, Reibungselementen und Massen bestehen, wobei deren Größen mehr oder weniger geschätzt werden. Um ein Konstrukt modellieren zu können, werden die Massen als Knoten betrachtet. An diese Knoten werden die Federn mittels Gelenken angeschlossen. Gelenk bedeutet, dass zwischen Federn und Massen keine Drehmomente wirken können.
Abb. Auftrennung eines gekoppelten Feder-Masse-Systems
Im Beispielprogramm wird das Prinzip der gekoppelten Federn mit einer größeren Anzahl von Gliedern wiederholt, nur dass die oben erwähnten Schnittkräfte eingeführt werden.
Das hängende Seil
Ein Seil kann nun durch wiederholte Verwendung der Feder-Masse-Anordnung nach generiert werden. An jedem Knoten, mit Ausnahme des letzten Knotens, greift eine Schnittkraft und eine weitere Schnittkraft sowie die Gravitationskraft an. Am letzten Knoten wirken nur die Schnittkraft und die Gravitationskraft .Abb. Hängendes Seil
Massenträgheit und Reibung wirken in bekannter Weise:
Wie schon oben erwähnt, sind die Schnittkräfte proportional der jeweiligen
Federdehnung, so dass daraus ein Paar gekoppelter Differentialgleichungen
abgeleitet werden kann:
Worin die
die Ortsvektoren der jeweiligen Knoten bzw. Massen repräsentieren.
Nun müssen wir die Schnittkräfte in ihre x- bzw. y-Komponenten zerlegen, um je ein partiell wirksames Paar von Differentialgleichungen zu erhalten:
on/off
worin die aktuelle Federlänge der k-ten Feder bezeichnen.
()
(a)
(b)
Nun müssen wir die Schnittkräfte in ihre x- bzw. y-Komponenten zerlegen, um je ein partiell wirksames Paar von Differentialgleichungen zu erhalten:
Ausgehend vom Kräftevektor
und den Koordinaten des Federanfangs
(xi-1, yi-1) und
Federendes (xi, yi) ergibt sich
das Kräftedreieck
Ist die Geometrie so gegeben, können die Berechnungen der Komponenten Fxi bzw. Fyi, ohne die Orientierung des Gesamtkraftvektors explizit zu kennen, erfolgen. Denn
D.h. α würde aus
berechnet werden müssen. Damit
können die gesuchten Komponenten entsprechend berechnet werden:
Allerdings ist aus der Trigonometrie bekannt, dass
Auf unsere Aufgabe übertragen ergibt dies:
worin
die aktuelle Federlänge bedeutet.
Eine alternative Rechenmethode nach dem Dreisatz wird in erläutert.
Ist die Geometrie so gegeben, können die Berechnungen der Komponenten Fxi bzw. Fyi, ohne die Orientierung des Gesamtkraftvektors explizit zu kennen, erfolgen. Denn
Eine alternative Rechenmethode nach dem Dreisatz wird in erläutert.
(a)
(b)
on/off
worin die aktuelle Federlänge der k-ten Feder bezeichnen.
Damit steht endlich je Knoten ein Paar gekoppelter Differentialgleichungen für die x- bzw. y-Komponenten zur Verfügung:
(a)
(b)
Und hier die Implementierung der Differentialgleichungen zur Berechnung der x- und y-Komponenten der Geschwindigkeit des Knotens (f1) bzw. der Komponenten des Knotenortes (f2). Mit der Variablen kActive wird der Knoten erkannt, der z.Z. von der Maus (oder touch) festgehalten wird. Dort sind selbstverständlich die Geschwindigkeitskomponenten gleich Null und der Ort ist identisch mit dem Mausort. Im Programm werden nicht die Kräfte Fxk bzw. Fyk verwendet, sondern die damit verbundenen Beschleunigungen axk bzw. ayk, weil die Normalform der Differentialgleichung stets die Beschleunigungen zu Grunde legt. Vom rechentechnischen her ist es einfacher, die Beschleunigungswerte stets für den jeweils betrachteten Knoten vollständig zu berechnen, auch wenn dadurch der Vorteil actio = reactio-Methode nicht genutzt werden kann. So bleiben die berechneten Beschleunigungen nur innerhalb einer Knotenrechnung gültig und müssen nicht zwischengespeichert werden. Statt der Beschleunigungen axk bzw. ayk genügt dann die Berechnung von ax bzw. ay, die aus den Abständen der Knoten xprevious bzw. yprevious, x bzw. y und xnext bzw. ynext erfolgt.
Besondere Beachtung verdienen die Enden des Seils. Das obere Ende - die Aufhängung - nimmt an der Bewegung nicht teil, die x, y-Koordinate ist fixiert! Im beigefügten Programmbeispiel kann diese Koordinate allerdings mit der Maus verschoben werden, was aber an der Fixierung nichts ändert. Am unteren Ende des Seils fehlt die Rückwirkung vom nächsten Segment, weil es ja nicht vorhanden ist, also gibt es auch keine Kräft aus dieser Richtung. Wegen der Allgemeingültigkeit der Gradientenfunktion werden aber die Koordinaten dieses, nicht vorhanden, Segments aufgerufen. Damit aber der Aufruf der Gradientenfunktion vom Compiler nicht bemängelt wird, wird das Feld der x, y-Koordinaten um jeweils einen Speicherplatz verlängert. Innerhalb der Gradientenfunktion wird dann getestet, ob es sich um das untere Ende des Seils handelt. Ist dies der Fall, wird die Rückwirkung vom nächsten Segment nicht mehr berücksichtigt.
Wegen der Benutzung des leapfrog-Algorithmus zur Lösung der DGl. werden noch die Zwischenergebnisse vx' und vy' benötigt. Diese werden ebenfalls in Vektoren abgelegt.
Wenn auch in den Gln. a) und b) von Kräften die Rede ist, werden in der Implementierung die den Kräften zugeordneten Beschleunigungen verwendet, weil die Normalform der Differentialgleichung stets die Beschleunigungen zu Grunde legt. So wirkt hier also nicht die Windkraft FW sondern die Beschleunigung aW ().
Als Reibungsprinzip wird die STOKESsche Reibung verwendet, weil die Relativgeschwindigkeiten der Knoten klein sind.
Abb. Implementierung der Differentialgleichungen eines Knotens
Das Beispielprogramm zeigt ein ruhend hängendes, unbelastetes Seil. Es wird
durch ein Set von 40 Knoten dargestellt. Das Seil kann an jeder beliebigen Stelle
mit der Maus angefasst und bewegt werden. Schon jetzt kann durch eine Mausaktion
das Seil in Bewegung versetzt werden. Mit dem Button Gravitation
kann die Schwerkraft eingeschaltet werden, in deren Folge sich das Seil streckt.
Mit den Schiebereglern f0 (Eigenfrequenz) und
δ (Dämpfung) kann das zeitliche Verhalten des Seils verändert
werden. Und der Schieberegler Windstärke lässten den Wind
gleichmäßig mit der eingestellten Geschwindigkeit aus der
x-Richtung wehen. Die Stärke des Windes ist an der Windrose zu ersehen.
Ergebnisdiskussion: Na, ein richtiges Seil verhält sich schon etwas anders. Das, was wir hier sehen können, ähnelt mehr einem Gummiseil. Unter dem Einfluss der Schwerkraft dehnt es sich wohl etwas zu stark für ein Hanfseil. Durch eine Erhöhung der Eigenfrequenz f0 kann das Seil fester gemacht werden, aber mehr als ein Kletterseil kommt nicht dabei raus! Wie Du am Beispiel sehen kannst, wird die Anordnung mit steigende Eigenfrequenz f0 immer steifer, also instabiler. Im Extremfall, z.B. einer Kette, sind die verbindenden Federn überhaupt nicht mehr dehnbar. Dann würden die "Feder"-Kräfte unendlich groß werden, was zu einem nicht mehr lösbaren Gleichungssystem führt. Der Grund für Instabilitäten der Lösung liegt prinzipiell in der numerischen Lösung der Differentialgleichungen. Im vorliegenden Programmbeispiel wurde das LeapFrog-Verfahren angewendet. Es stellt einen vernünftigen Kompromiss zwischen Rechenaufwand und Stabilität dar. Verfahren höherer Genauigkeit, wie z.B. das RUNGE-KUTTA-Verfahren treiben den Rechenaufwand enorm in die Höhe, ohne eine überzeugende Steigerung der Stabiltät der Lösung zu zeitigen.
Ein weiterer Grund für die nicht ganz überzeugende Simulation ist darin zu sehen, dass die einzelnen Segmente wohl in Richtung der Schnittkräfte wechselwirken, aber nicht im Winkel zwischen den Segmenten. Dort fehlt noch eine Biegesteifigkeit, die das Verbiegen oder Verformen des Seiles erschwert. Aber trotzdem: eine ganze Reihe von Eigenschaften eines realen Seils kann durch die Simulation nachgebildet werden. So z.B. kann die laufende Welle auf dem Seil demonstriert werden, wenn das Seilende ruckartig bewegt wird. Auch die Reflexion der Welle am freien oder fixierten Ende des Seils kann beobachtet werden. Wie Du beobachten kannst, hängt die Fortpflanzungsgeschwindigkeit der Welle von der eingestellten Eigenfrequenz f0 ab. Je höherer f0 desto schneller läuft die Welle. Und je geringer die Dämpfung δ, desto länger läuft die Welle hin und her!
Ebenfalls gut zu beobachten ist die Wirkung des Seitenwinds, der das Seil aus seiner Ruhelage drückt.