Doppelpendel Simulation < HochschulPhysik < Physik < Naturwiss. < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:05 Do 11.06.2015 | Autor: | enco909 |
Aufgabe | Ein Doppelpendel mit den Stangenlängen [mm] l_1=l_2=l [/mm] und den Punktmassen [mm] m_1=m_2 [/mm] bewege sich im homogenen Schwerefeld g der Erde. Die Dimensionslosen Ortsvektoren [mm] \vec r_i=(x_i, y_1)^T [/mm] der Massepunkte, ausgedrückt durch
[mm] \vec r_1(t)=\begin{pmatrix} cos(\phi_1(t)) \\ sin(\phi_1(t) \end{pmatrix} [/mm], [mm] \vec r_2(t)= \vec r_1(t) + \begin{pmatrix} cos(\phi_2(t)) \\ sin(\phi_2(t) \end{pmatrix} [/mm] (1)
Die holonomen Zwangsbedingungen des Systems
[mm] \left| \vec r_1 \right|-1=0 [/mm], [mm] \left| \vec r_1 - \vec r_2 \right|-1=0 [/mm] (2)
sind somit vollständig berücksichtigt. Aus der Lagrange-Funktion folgen dann mit [mm] \omega_0^2 = g/l [/mm] die Bewegungsgleichungen
[mm] 2*\ddot \phi_1 + \ddot \phi_2 * \cos(\phi_1 - \phi_2) + \dot \phi_2^2 * \sin(\phi_1 - \phi_2) + 2* \omega_0^2* \sin(\phi_1)=0 [/mm] (3a)
[mm] \ddot \phi_2 + \ddot \phi_1 * \cos(\phi_1 - \phi_2) - \dot \phi_1^2 * \sin(\phi_1 - \phi_2) + \omega_0 * \sin(phi_2)=0 [/mm] (3b)
1.
Überführen Sie die Bewegungsgleichung in ein System aus vier gekoppelten Differentialgleichungen 1. Ordnung, indem Sie formal die Dgln. [mm] \dot \phi_1=v_1 [/mm] und [mm] \dot \phi_2=v_2 [/mm] definieren.
Entkoppeln sie anschließend dieses System insofern, dass Sie ein DGl-System der Form [mm] \dot \vec \xi = \vec F(\vec \xi) [/mm] mit [mm] \vex \xi=(\phi_1, \phi_2, \v_1, \v_2) [/mm] erhalten.
2.
Lösen sie dieses DGl-System numerisch für Pendel mit [mm] \omega_0^2=1 [/mm] mit den Anfangsbedingungen [mm] \phi_1(0)=\phi_2(0)=0 [/mm] und [mm] \dot \phi_1(0)/2=\dot \phi_2(0)=\alpha * (1+\delta)*\omega_0 [/mm] mit den freien Parametern [mm] \alpha [/mm] und [mm] \delta [/mm]. Verwenden sie das Mittelpunkt-Verfahren mit der Schrittweite [mm] \Delta t=10^{-2} [/mm].
3.
Stellen Sie die Schwingung der Massepunkte für [mm] t_{max}=100 [/mm], [mm] \delta=0 [/mm] und [mm] \alpha \in (0.33, 0.66} [/mm] mit gnuplot animiert dar. Benutzen sie hierfür z.B. das Code-Fragment auf der Rückseite. |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich hänge schon bei 1. Zuerst habe ich die DGl in ein System von DGlen 1. Ordnung umgewandelt.
[mm] d/dt \begin{pmatrix} \phi_1 \\ \phi_2 \\ v_1 \\ v_2 \\ \end{pmatrix} = \begin{pmatrix} v_1 \\ - \ddot \phi_2 * \cos(\phi_1 - \phi_2) - v_2^2 * \sin(\phi_1 - \phi_2) - 2 * \omega_0^2 * \sin(\phi1)}/2 \\ v_2 \\ -\ddot \phi_1 * cos (\phi_1-phi_2) + \omega_0^2 * \sin(\phi_2) - v_1^2 * \sin(\phi_1 - \phi_2) \end{pmatrix} [/mm]
Jetzt habe ich aber das Problem, dass ich nicht verstehe, was es mit der Form von dem [mm] \xi [/mm] auf sich hat bzw. was das bedeuten soll. Muss ich jetzt nur die zweiten Ableitungen von [mm] \phi [/mm] eliminieren oder muss ich das System noch andersweitig umformen?
Schonmal danke für jede Hilfe.
|
|
|
|
Hallo enco909,
> Ein Doppelpendel mit den Stangenlängen [mm]l_1=l_2=l[/mm] und den
> Punktmassen [mm]m_1=m_2[/mm] bewege sich im homogenen Schwerefeld g
> der Erde. Die Dimensionslosen Ortsvektoren [mm]\vec r_i=(x_i, y_1)^T[/mm]
> der Massepunkte, ausgedrückt durch
> [mm]\vec r_1(t)=\begin{pmatrix} cos(\phi_1(t)) \\ sin(\phi_1(t) \end{pmatrix} [/mm],
> [mm]\vec r_2(t)= \vec r_1(t) + \begin{pmatrix} cos(\phi_2(t)) \\ sin(\phi_2(t) \end{pmatrix}[/mm]
> (1)
> Die holonomen Zwangsbedingungen des Systems
> [mm]\left| \vec r_1 \right|-1=0 [/mm], [mm]\left| \vec r_1 - \vec r_2 \right|-1=0[/mm]
> (2)
> sind somit vollständig berücksichtigt. Aus der
> Lagrange-Funktion folgen dann mit [mm]\omega_0^2 = g/l[/mm] die
> Bewegungsgleichungen
> [mm]2*\ddot \phi_1 + \ddot \phi_2 * \cos(\phi_1 - \phi_2) + \dot \phi_2^2 * \sin(\phi_1 - \phi_2) + 2* \omega_0^2* \sin(\phi_1)=0[/mm]
> (3a)
> [mm]\ddot \phi_2 + \ddot \phi_1 * \cos(\phi_1 - \phi_2) - \dot \phi_1^2 * \sin(\phi_1 - \phi_2) + \omega_0 * \sin(phi_2)=0[/mm]
> (3b)
>
> 1.
> Überführen Sie die Bewegungsgleichung in ein System aus
> vier gekoppelten Differentialgleichungen 1. Ordnung, indem
> Sie formal die Dgln. [mm]\dot \phi_1=v_1[/mm] und [mm]\dot \phi_2=v_2[/mm]
> definieren.
> Entkoppeln sie anschließend dieses System insofern, dass
> Sie ein DGl-System der Form [mm]\dot \vec \xi = \vec F(\vec \xi)[/mm]
> mit [mm]\vex \xi=(\phi_1, \phi_2, \v_1, \v_2)[/mm] erhalten.
>
> 2.
> Lösen sie dieses DGl-System numerisch für Pendel mit
> [mm]\omega_0^2=1[/mm] mit den Anfangsbedingungen
> [mm]\phi_1(0)=\phi_2(0)=0[/mm] und [mm]\dot \phi_1(0)/2=\dot \phi_2(0)=\alpha * (1+\delta)*\omega_0[/mm]
> mit den freien Parametern [mm]\alpha[/mm] und [mm]\delta [/mm]. Verwenden sie
> das Mittelpunkt-Verfahren mit der Schrittweite [mm]\Delta t=10^{-2} [/mm].
>
> 3.
> Stellen Sie die Schwingung der Massepunkte für
> [mm]t_{max}=100 [/mm], [mm]\delta=0[/mm] und [mm]\alpha \in (0.33, 0.66}[/mm] mit
> gnuplot animiert dar. Benutzen sie hierfür z.B. das
> Code-Fragment auf der Rückseite.
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>
> Ich hänge schon bei 1. Zuerst habe ich die DGl in ein
> System von DGlen 1. Ordnung umgewandelt.
>
> [mm]d/dt \begin{pmatrix} \phi_1 \\ \phi_2 \\ v_1 \\ v_2 \\ \end{pmatrix} = \begin{pmatrix} v_1 \\ - \ddot \phi_2 * \cos(\phi_1 - \phi_2) - v_2^2 * \sin(\phi_1 - \phi_2) - 2 * \omega_0^2 * \sin(\phi1)}/2 \\ v_2 \\ -\ddot \phi_1 * cos (\phi_1-phi_2) + \omega_0^2 * \sin(\phi_2) - v_1^2 * \sin(\phi_1 - \phi_2) \end{pmatrix}[/mm]
>
> Jetzt habe ich aber das Problem, dass ich nicht verstehe,
> was es mit der Form von dem [mm]\xi[/mm] auf sich hat bzw. was das
> bedeuten soll. Muss ich jetzt nur die zweiten Ableitungen
> von [mm]\phi[/mm] eliminieren oder muss ich das System noch
> andersweitig umformen?
>
Aus den Gleichungen (3a) und (3b) sind [mm]\ddot{\phi_{1}}[/mm] und [mm]\ddot{\phi_{2}}[/mm] zu eliminieren.
Setze dann [mm]\dot{v_{1}}=\ddot{\phi_{1}}, \ \dot{v_{2}}=\ddot{\phi_{2}}[/mm].
Dann steht da:
[mm]\pmat{\dot{\phi_{1}} \\ \dot{\phi_{2}} \\ \dot{v_{1}} \\ \dot{v_{2}}}=\pmat{v_{1} \\ v_{2} \\ f\left(\phi_{1}, \ \phi_{2}, \ v_{1}, \ v_{2}) \\ g\left(\phi_{1}, \ \phi_{2}, \ v_{1}, \ v_{2})}[/mm]
> Schonmal danke für jede Hilfe.
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:26 Fr 12.06.2015 | Autor: | enco909 |
Ich habe jetzt als DGl System folgendes raus bekommen:
[mm] \begin{pmatrix} \dot \phi_1 \\ \dot \phi_2 \\ \dot v_1 \\ \dot v_2 \end{pmatrix} = \begin{pmatrix} v_1 \\ v_2 \\ \bruch{-v_1^2 * \sin(\phi_1 - \phi_2)* \cos(\phi_1 - \phi_2)+ \omega_0^2 * \sin(\phi2) * \cos(\phi_1 - \phi_2) + v_2^2 * \sin(\phi_1 - \phi_2)- \omega_0^2 * \sin(\phi_1)}{2-\cos^2(\phi_1-\phi_2)} \\ \bruch{-v_2^2* \sin(\phi_1-\phi2) * \cos(\phi_1 - \phi_2) + \omega_0^2 * \sin( \phi_1)*\cos(\phi_1-\phi_2) + v_1^2 * \sin(\phi_1-\phi_2) - \omega_0^2 * \sin(\phi_2)}{2-\cos^2(\phi_1-\phi_2)} \end{pmatrix} [/mm]
Nun zu meinem nächsten Problem. Ich habe glaube ich nicht ganz verstanden, wie das Mittelpunktverfahren(Runge-Kutta 2. Ordnung) zu benutzen ist. Nach meinem Verständnis müsste es dann so aussehen, wobei dt die Schrittweite ist:
1.
[mm] y_1=\phi_1+0.5*dt*v_1 [/mm]
[mm] y_2=\phi_2+0.5*dt*v_2 [/mm]
[mm] \dot y_1=v_1+0.5*dt*\ddot \phi_1(phi_1, phi_2, v_1, v_2, \omega_0) [/mm]
[mm] \dot y_2=v_1+0.5*dt*\ddot \phi_2(phi_1, phi_2, v_1, v_2, \omega_0) [/mm]
2.
[mm] \ddot y_1 =v_1+0.5*\ddot \phi_1(y_1, y_2, \dot y_1, \dot y_2, \omega0) [/mm]
[mm] \ddot y_2 =v_2+0.5*\ddot \phi_2(y_1, y_2, \dot y_1, \dot y_2, \omega0) [/mm]
3.
[mm] \dot y_{1Neu}=v_1*dt*\ddot y_1 [/mm]
[mm] \dot y_{2Neu}=v_2*dt*\ddot y_2 [/mm]
[mm] y_{1Neu}=v_1*dt*\dot y_1 [/mm]
[mm] y_{2Neu}=v_2*dt*\dot y_2 [/mm]
Hoffe, dass ist so verständlich.
Habe ich das so richtig verpackt oder hab ich irgendwo einen Verständnisfehler drin?
LG enco909
|
|
|
|
|
Hallo enco909,
> Ich habe jetzt als DGl System folgendes raus bekommen:
>
> [mm]\begin{pmatrix} \dot \phi_1 \\ \dot \phi_2 \\ \dot v_1 \\ \dot v_2 \end{pmatrix} = \begin{pmatrix} v_1 \\ v_2 \\ \bruch{-v_1^2 * \sin(\phi_1 - \phi_2)* \cos(\phi_1 - \phi_2)+ \omega_0^2 * \sin(\phi2) * \cos(\phi_1 - \phi_2) + v_2^2 * \sin(\phi_1 - \phi_2)- \omega_0^2 * \sin(\phi_1)}{2-\cos^2(\phi_1-\phi_2)} \\ \bruch{-v_2^2* \sin(\phi_1-\phi2) * \cos(\phi_1 - \phi_2) + \omega_0^2 * \sin( \phi_1)*\cos(\phi_1-\phi_2) + v_1^2 * \sin(\phi_1-\phi_2) - \omega_0^2 * \sin(\phi_2)}{2-\cos^2(\phi_1-\phi_2)} \end{pmatrix}[/mm]
>
> Nun zu meinem nächsten Problem. Ich habe glaube ich nicht
> ganz verstanden, wie das Mittelpunktverfahren(Runge-Kutta
> 2. Ordnung) zu benutzen ist. Nach meinem Verständnis
> müsste es dann so aussehen, wobei dt die Schrittweite
> ist:
>
> 1.
> [mm]y_1=\phi_1+0.5*dt*v_1[/mm]
> [mm]y_2=\phi_2+0.5*dt*v_2[/mm]
> [mm]\dot y_1=v_1+0.5*dt*\ddot \phi_1(phi_1, phi_2, v_1, v_2, \omega_0)[/mm]
>
> [mm]\dot y_2=v_1+0.5*dt*\ddot \phi_2(phi_1, phi_2, v_1, v_2, \omega_0)[/mm]
>
Hier muss es doch lauten:
[mm]\dot y_2=v_{\blue{2}}+0.5*dt*\ddot \phi_2(phi_1, phi_2, v_1, v_2, \omega_0)[/mm]
Dann muss der Wert der rechten Seite an der Stelle
[mm]\left(y_{1}, \ y_{2} , \ \dot{y_{1}}, \ \dot{y_{2}}\right)[/mm] gebildet werden.
Nennen wir diesen Wert [mm]k_{2}[/mm].
Dann ergibt sich der neue Näherungswert zu
[mm]\pmat{\phi_{1Neu} \\ \phi_{2Neu} \\ v_{1Neu} \\ v_{2Neu}}=\pmat{\phi_{1} \\ \phi_{2} \\ v_{1} \\ v_{2}}+dt*k_{2}[/mm]
> 2.
> [mm]\ddot y_1 =v_1+0.5*\ddot \phi_1(y_1, y_2, \dot y_1, \dot y_2, \omega0)[/mm]
>
> [mm]\ddot y_2 =v_2+0.5*\ddot \phi_2(y_1, y_2, \dot y_1, \dot y_2, \omega0)[/mm]
>
> 3.
> [mm]\dot y_{1Neu}=v_1*dt*\ddot y_1[/mm]
> [mm]\dot y_{2Neu}=v_2*dt*\ddot y_2[/mm]
>
> [mm]y_{1Neu}=v_1*dt*\dot y_1[/mm]
> [mm]y_{2Neu}=v_2*dt*\dot y_2[/mm]
>
> Hoffe, dass ist so verständlich.
> Habe ich das so richtig verpackt oder hab ich irgendwo
> einen Verständnisfehler drin?
>
> LG enco909
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 08:46 Sa 13.06.2015 | Autor: | enco909 |
Hallo MathePower,
Ich bin jetzt in meinem Programm an der Stelle, wo ich den Wert der rechten Seite an der Stelle [mm] (\dot y_1, \dot y_2, \ddot y_1, \ddot y_2) [/mm] berechnen muss. Hier stellt sich jetzt für mich die Frage, wie ich den neuen Wert von [mm] v_1 [/mm] bzw. [mm] v_2 [/mm] berechnen soll, weil ich da ja, im Gegensatz zu [mm] /phi_1 [/mm] bzw. [mm] /phi_2 [/mm] keine explizite Gleichung gegeben habe. Meine Idee wäre es, das ganze wie folgt zu machen:
[mm] k_{2 v_1} = v_1 + 0.5 *dt *phi1(\dot y_1, \dot y_2, \ddot y_1, \ddot y_2) [/mm]
[mm] v_2 [/mm] würde ich dann Analog dazu berechnen. Ist das Vorgehen so richtig oder übersehe ich irgendwas?
Grüße enco909
|
|
|
|
|
Hallo enco909,
> Hallo MathePower,
> Ich bin jetzt in meinem Programm an der Stelle, wo ich den
> Wert der rechten Seite an der Stelle [mm](\dot y_1, \dot y_2, \ddot y_1, \ddot y_2)[/mm]
> berechnen muss. Hier stellt sich jetzt für mich die Frage,
> wie ich den neuen Wert von [mm]v_1[/mm] bzw. [mm]v_2[/mm] berechnen soll,
> weil ich da ja, im Gegensatz zu [mm]/phi_1[/mm] bzw. [mm]/phi_2[/mm] keine
> explizite Gleichung gegeben habe. Meine Idee wäre es, das
> ganze wie folgt zu machen:
>
> [mm]k_{2 v_1} = v_1 + 0.5 *dt *phi1(\dot y_1, \dot y_2, \ddot y_1, \ddot y_2)[/mm]
>
> [mm]v_2[/mm] würde ich dann Analog dazu berechnen. Ist das Vorgehen
> so richtig oder übersehe ich irgendwas?
>
Das Vorgehen ist so richtig.
> Grüße enco909
Gruss
MathePower
|
|
|
|