Erzwungene Schwingung
Einleitung
Lieber Leser, erzwungene Schwingungen und Resonanz treten in vielen Bereichen in Natur und Technik auf. Die hier zu betrachtenden Zusammenhänge sind zudem recht interessant, so dass viele Darstellungen und Herleitungen existieren. Daher werde ich mich nur am Rande mit Herleitungen hierzu befassen. Dagegen soll die hier zu findende Geogebra-Grafik die Darstellung der Resonanzkurve mit einer Schwingungsbewegung verknüpfen. Dabei wird die Schwingung nicht aus der analytischen Lösung der Differentialgleichung abgeleitet. Ich habe hier den einfacheren Weg gewählt, den Ort des Schwingers rekursiv zu berechnen. Auf die Grafik folgend sind Erläuterungen zur Bedienung und zu einigen Hintergründen zu finden.
Zur Betrachtung erzwungener Schwingungen wird im mechanischen Fall die Null auf der einen Seite der Differentialgleichung für den gedämpften Schwinger durch eine Kraft oder nach Belieben die Beschleunigung ersetzt, so dass die Gleichung inhomogen wird.
(1) | (1) |
Damit ich besonders gut die analytische Lösung für die Zeit nach dem Einschwingen mit der rekursiven Lösung zur dynamischen Veranschaulichung verknüpfen kann, möchte ich F0 geeignet beschreiben: Der dem Hooke'schen Gesetz entsprechende Summand in der Differentialgleichung ist beim freien Schwinger , wobei y der Abstand von Schwinger und Gleichgewichtslage ist. Nun sei die Feder eines Pendels nicht starr befestigt, sondern an einer Vorrichtung, die den Aufhängepunkt mit bewegt. Nach dem Hooke'schen Gesetz ist jetzt die rücktreibende Kraft . Die Gleichung (1) ändert sich so zu
(2) | . | (2) |
So beschreibt eine Lösung der Gleichung (2) für die Zeit nach dem Einschwingen angenähert eine Schwingung mit der Amplitude
(3) | (3) |
und der Phasenverschiebung zwischen Schwinger und Erreger
(4) | . | (4) |
In der App stelle ich den Bereich zwischen der negativen Amplitude und der Amplitude in Abhängigkeit von der Erregerfrequenz durch eine hellblaue Fläche dar. Die Phasenverschiebung kann aus der Lage des grünen Punktes auf dem Kreis links neben dem Diagramm entnommen werden. Die Größen werden zudem auf der linken Seite aufgelistet.
Die dynamische Darstellung der BewegungenIn der App ist der Erreger einfach durch einen roten Punkt dargestellt. Den angeregten Schwinger kennzeichnet ein blauer Kreis. Eine mögliche Feder ist lediglich eine gestrichelte Linie. Der Ort des Systems in der Darstellung richtet sich immer nach der eingestellten Erregerfrequenz f. So kann stets ein guter Vergleich mit der Resonanzkurve stattfinden. Die aktuelle Phasenverschiebung kann an der Lage des Pfeils abgelesen werden. Dieser Pfeil sollte also nach Ablauf der Einschwingzeit auf den grünen Punkt für die berechnete Phasenverschiebung zeigen. Zur Rekursion für die Elongation: Für hinreichend kleine Zeitabschnitte dt können sowohl die Geschwindigkeits- als auch die Ortsänderung als einigermaßen zeitlinear betrachtet werden. Das kann genutzt werden, um aus der aktuellen Geschwindigkeit diejenige zum nächsten Zeitpunkt zu berechnen. Entsprechendes gilt für den Ort. Ausgehend von den Startwerten können die beiden Größen also fortlaufend berechnet werden.
(5) | (5) | |
(6) | (6) |
Zudem wird die jeweils wirkende Beschleunigung benötigt. Sie ergibt sich durch Umbenennen einander entsprechenden Variablen und Umformen der Gleichung (2) zu
(7) | . | (7) |
Die Phasenverschiebung wird hier weggelassen. Sie ergibt sich erst durch den Bewegungsvorgang.
Die Umsetzung der Rekursion in Geogebra:
Ich möchte hier noch auf die Umsetzung der Regressionsrechnung in Geogebra eingehen. Jeder Rechenschritt erfolgt in einem Update-Skript, das ich mit einem versteckten Schieberegler t1 verknüpft habe. Damit erreiche ich, dass die Grafik mit jeder Neuberechnung aktualisiert wird und auch steuerbar bleibt. Im Skript selbst verwende ich die Zeit t, die bei jedem Schritt um dt vergrößert wird. Am Ende einer Periode wird T subtrahiert. Das ist für die Berechnung der Phasenverschiebung wichtig, dazu später. Die Elongation im Skript ist b (hatte sich bei ersten Überlegungen so ergeben). Die Beschleunigung heißt acc. Den Zeitabschnitt dt lasse ich aus der Dauer für einen Rechenschritt exponentiell geglättet bestimmen. Ein schneller Rechner liefert also kleinere dt und ein besseres Darstellungsergebnis. Mit Anhaken des Feldes "Langsam" kann dt daher auch allmählich auf ein Zehntel verringert werden. So nähert sich beispielsweise die durch die Rekursion bestimmte Phasenverschiebung erst dadurch der berechneten hinreichend gut an. Der Skriptcode sieht so aus:
SetzeWert(v,v+acc*dt/1000)
SetzeWert(b,b+v*dt/1000)
Wenn(b>100,SetzeWert(b,100))
SetzeWert(l1,Zeitabfrage())
SetzeWert(ze,l1(1)+l1(2)*1000+l1(3)*60000+l1(4)*36000000)
Wenn(abs(ze-zea)<100,SetzeWert(dt,dt*0.99+0.01/o*abs(ze-zea)))
SetzeWert(zea,ze)
SetzeWert(t,t+dt/1000)
Wenn(t>T,SetzeWert(t,t-T))
Wenn(a==false,StartAnimation(t1,false))
Wenn die Darstellung verlangsamt werden soll, beträgt o = 10, ansonsten ist es 1.
Zur aktuellen Phasenverschiebung:
Die Phasenverschiebung zwischen den beiden Schwingung ist die Differenz der beiden Phasenlagen des Erregers und des Schwingers, also . Für den Erreger ist die Phase gleich dem Argument der Winkelfunktion, also ist . Damit dieser Winkel nicht beliebig wächst und ich beim Erstellen der App die berechneten Werte besser kontrollieren konnte, wird im obigen Skript immer dann t um T verringert, wenn eine Periode vergangen ist. Der Schwinger S schwingt nach gewisser Zeit auch in etwa sinusförmig. So kann seine Phasenlage leicht aus Elongation und Geschwindigkeit berechnet werden. Es sind dann und . Eine Gleichung für den Phasenwinkel erhält man mit dem Quotienten aus Elongation und Geschwindigkeit . Zusammengefasst ergeben die Überlegungen die Gleichung für die aktuelle Phasenverschiebung
(8) | . | (8) |
Während der Animation kann die aktuelle Phasenverschiebung mit der Bewegungsdarstellung verglichen werden.