Gelöste Aufgaben/Kv52: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
==Aufgabenstellung== | ==Aufgabenstellung== | ||
<onlyinclude> | <onlyinclude> | ||
[[Datei:Kv52-01.png|alternativtext=|links|mini| | [[Datei:Kv52-01.png|alternativtext=|links|mini|200px|Lageplan]] | ||
Ein starrer Stab ''AB'' (Massenmoment ''J<sub>A</sub>'', Länge ''ℓ<sub>1</sub>'') wird aus dem Winkel ''φ<sub>0</sub>'' im Erdschwerefeld losgelassen und stößt in ''C'' auf einen Anschlag. Der Stoß zwischen Stab und Oberfläche sei ideal-elastisch. | Ein starrer Stab ''AB'' (Massenmoment ''J<sub>A</sub>'', Länge ''ℓ<sub>1</sub>'') wird aus dem Winkel ''φ<sub>0</sub>'' im Erdschwerefeld losgelassen und stößt in ''C'' auf einen Anschlag. Der Stoß zwischen Stab und Oberfläche sei ideal-elastisch. | ||
Zeile 95: | Zeile 95: | ||
Das Freikörperbild | Das Freikörperbild | ||
<table class="wikitable" style="background-color:white;float:left; margin:4px;> | <table class="wikitable" style="background-color:white;float:left; margin:4px;> | ||
<tr><td><br/>[[Datei:Kv52-11.png|alternativtext=|rahmenlos|82x82px]] | <tr><td><br/><br/>[[Datei:Kv52-11.png|alternativtext=|rahmenlos|82x82px]] | ||
</td><td>[[Datei:Kv52-12.png|alternativtext=|rahmenlos|144x144px]] | </td><td>[[Datei:Kv52-12.png|alternativtext=|rahmenlos|144x144px]] | ||
</td></tr> | </td></tr> |
Version vom 26. März 2021, 11:12 Uhr
Aufgabenstellung
Ein starrer Stab AB (Massenmoment JA, Länge ℓ1) wird aus dem Winkel φ0 im Erdschwerefeld losgelassen und stößt in C auf einen Anschlag. Der Stoß zwischen Stab und Oberfläche sei ideal-elastisch.
Gesucht ist die nichtlineare Bewegungsgleichung und die numerische Lösung als Anfangswertproblem. Dabei denken wir uns den Anschlag als elastische Feder, die nur für φ<-π/2 Kontakt zum Stab hat. Die Federkraft ist also Null, solange der Stab die Oberfläche in C nicht berührt und sie ist proportional zur Federkompression w, wenn sich Kugel und Oberfläche berühren.
Lösung mit Maxima
Header
Wir stellen die Bewegungsgleichungen des Systems als System con Differentialgleichungen erster Ordnung auf. Die Nichtlinearität kommt aus den großen Winkeln φ(t) und dem Kontakt mit der Wand.
Mit unterschiedlichen Steifigkeiten für den Kontakt testen wir die Möglichkeiten der numerischen Integration aus.
/*********************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2018-05-14 */
/* ref: Kv52 (TM-C, Labor 5) */
/* description: finds the solution for */
/* the nonlinear IVP */
/*********************************************************/
Declarations
Die System-Parameter sind
- .
Zum Dimensionslos-Machen der Bewegungsgleichungen brauchen wir später eine Bezugszeit tB, die wir mit Hilfe der Eigenfrequenz der zugeordneten linearen Systems so wählen:
- (Achtung: das macht 2π-periodische Lösungen)
Die Eigenkreisfrequenz bei Schwingungen um φ =- π/2 herum ist
Außerdem wählen wir eine dimensionslose Federsteifigkeit κ, so dass
- Für den nichtlinearen Kontakt wählen wir eine Kennlinie wie in Kw23 zu
Und so wie rechts im Bild sieht sie dann aus:
/* declarations */
assume(g>0, l[1]>0, l[2]>0, m>0);
/* parameter */
params: [k = kappa*m*g/l[2], /*spring stiffness*/
l[2] = 3/4*l[1],
t[B] = 1/omega[0] , /*reference time*/
omega[0] = sqrt((m*g*l[1]/2)/J[A]),
J[A] = m*l[1]^2/3,
kappa= 1000]; /*dim'less spring stiffness*/
/**** define nonlinear spring characteristic ***/
C(u,epsilon) := if u <- epsilon then
0
elseif u< epsilon then
1/2*(u+epsilon)^2
else
u;
plot2d(K(u,0.5),[u,-1,1],
[ylabel,"K/1->"], [xlabel,"u/1->"],
[legend, "contact characteristic, ε=0.5"]);
Equilibrium Conditions
Die Gleichgewichtsbeziehungen erhalten wir aus einem Momentengleichgewicht um den Punkt A.
Das Freikörperbild
liefert die Bewegungsgleichung
Die Kontaktkraft konstruieren wir mit Hilfe der nichtlinearen Kennlinie C und
zu
- .
Mit der dimensionslosen Zeit
finden wir als Bewegungsgleichung des Systems
- .
/********************************/
/* define ODE in dim'less coordinate h */
dgl : J[A]*'diff(phi,t,2)-k*l[2]^2*C(-%pi/2-phi,1/100)+m*g*l[1]/2*cos(phi) = 0;
dgl : subst(['diff(phi,t,2)='diff(phi,tau,2)/t[B]^2],dgl);
dgl : expand(solve(dgl, 'diff(phi,tau,2)))[1];
dgl : expand(subst(params,dgl));
Solving
Umschreiben in ein Differentialgleichungssystem erster Ordnung - wie wir es für die numerische Lösung brauchen - liefert
- .
Mit den Anfangsbedingungen
und einer Lösungsroutine nach dem Runge-Kutta-Verfahren 4.ter Ordnung liefert das numerische Ergebnis.
/********************************/
/* numerical solution of IVP */
times : subst([t0 = 0, tmax = 10, dt = 0.01],
[t, t0, tmax, dt]);
dgl1stOrder : subst(params,[omega,float(expand(rhs(dgl)))]);
stateVabs : [phi,omega];
initiVals : [0,0];
ivs : rk(dgl1stOrder, stateVabs, initiVals, times)$
Post-Processing
Wir tragen hier die Ergebnisse zweier Simulationsrechnungen auf:
... in dieser Spalte den Referenzfall für | ... und hier für |
---|---|
zunächst im Zeitbereich | |
und dann im Phasenraum: | |
Im Referenzfall erhalten wir - wie erhofft - eine periodische Lösung: die Phasenkurve ist geschlossen. Schon für eine um den Faktur 10 größere Steifigkeit des Anschlags jedoch weicht die Lösung sichtbar von einer periodischen ab. Das klassische Problem von numerischen Integrationsroutinen wird hier sichtbar.
/********************************/
/* plot time functions */
T : makelist(ivs[j][1],j,1,length(ivs))$
P : makelist(ivs[j][2],j,1,length(ivs))$
O : makelist(ivs[j][3],j,1,length(ivs))$
plot2d([discrete, T, P],
[title, sconcat("start @: ",string(initiVals))],
[xlabel,"τ/1->"], [ylabel,"φ/1->"]);
/* phase plot */
plot2d([discrete,P,O], [legend, false], /*[x,-1,10],*/
[ylabel,"φ'/1->"], [xlabel,"φ/1->"]);
Links
- ...
Literature
- ...