3.3.G
Video
Simulation
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf Handschriftliche Lösung
SymPy
from sympy.physics.units import kg, m, s
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve, sqrt, exp, simplify
a = symbols("a", positive=True)
w1 = symbols("ω₁")
# Equations (1) to (4):
# Shortcut:
xi = sqrt(15)/2
# Unknowns:
vB, vC = symbols("vʙ, vᴄ")
w2, w3 = symbols("ω₂, ω₃")
eq1 = Eq( vB , w1*a )
eq2 = Eq( vC , w3*2*a )
eq3 = Eq( - vC * xi/2, - w2*xi*a )
eq4 = Eq( - vC / 4 , - vB + w2/2*a )
unks = [vB, vC, w2, w3]
eqns = [eq1, eq2, eq3, eq4]
print("\nEqns. (1)-(4):")
sol = solve(eqns, unks)
for s in sol:
pprint("\n")
tmp = str(s)+":"
pprint(tmp)
pprint(sol[s])
# Equations (5) to (10):
# Shortcuts
w2, w3 = sol[w2], sol[w3]
xi2, xi3 = w2*w2, w3*w3
# Unknowns:
aBx, aBy = symbols("aʙx, aʙy")
aCx, aCy = symbols("aᴄx, aᴄy")
w2p, w3p = symbols("ω₂', ω₃'")
eq5 = Eq( aBx, -w1*w1*a )
eq6 = Eq( aBy, 0 )
eq7 = Eq( aCx, - w3p*xi*a + xi3*a/2 )
eq8 = Eq( aCy, - w3p*a/2 - xi3*xi*a )
eq9 = Eq( aCx, aBx - w2p*xi*a - xi2*a/2 )
eq10 = Eq( aCy, aBy + w2p*a/2 - xi2*xi*a )
unks = [aBx, aBy, aCx, aCy, w2p, w3p]
eqns = [eq5, eq6, eq7, eq8, eq9, eq10]
print("\nEqns. (5)-(10):")
sol = solve(eqns, unks)
for s in sol:
pprint("\n")
tmp = str(s)+":"
pprint(tmp)
pprint(sol[s])
[ ]: einfügen.▶ drücken.
Gegeben
Symbole:
Es geht um ein bewegliches System, das aus drei Starrkörpern besteht.
Im betrachteten Zeitpunkt ist das System in der dargestellten Lage.
\(\omega_1\) ist die Winkelgeschwindigkeit von 1, Zählrichtung \(\circlearrowright\)
\(\omega_2\) ist die Winkelgeschwindigkeit von 2, Zählrichtung \(\circlearrowleft\)
\(\omega_3\) ist die Winkelgeschwindigkeit von 3, Zählrichtung \(\circlearrowleft\)
a) Momentanpole
Kennzeichnen Sie die Positionen der Momentanpole der Starrkörper 1, 2 und 3:
Starrkörper Momentanpol 1 A 2 D 3 D Der MP von 1 ist bei A, weil 1 bei A drehbar gelagert (angepinnt) ist. Der MP von 3 ist bei D, weil 3 bei D drehbar gelagert (angepinnt) ist. Der MP von 2 wird berechnet aus den Richtungen der Geschwindigkeiten zweier verschiedener Teilchen auf 2. Diese Teilchen sind:
1. ein Teilchen bei B und
2. ein Teilchen bei C. Zu 1. zeichnet man eine Gerade bei B, die senkrecht ist zur Geschwindigkeitsrichtung des Teilchens bei B ist. Und zu 2. zeichnet man eine Gerade bei C, die senkrecht ist zur Geschwindigkeitsrichtung des Teilchens bei C. Diese beiden Geraden schneiden sich in einem Punkt - nämlich in D. Und darum ist D der MP von 2. Der gekrümmte Pfeil für \(\omega_3\) und \(\omega_2\) ist bei D eingetragen, weil D Momentanpol beider Starrkörper ist.Lösung
Details
b) Winkelgeschwindigkeiten & Winkelbeschleunigungen
Betrachtung der Starrkörper:
Körper |
Winkelgeschwindigkeitsv. |
Winkelbeschleunigungsv. |
|---|---|---|
1 |
\(\boldsymbol \omega_1\) |
\(\dot{\boldsymbol \omega_1}\) |
2 |
\(\boldsymbol \omega_2\) |
\(\dot{\boldsymbol \omega_2}\) |
3 |
\(\boldsymbol \omega_3\) |
\(\dot{\boldsymbol \omega_3}\) |
Komponenten dieser Vektoren:
Körper |
Winkelgeschwindigkeitsv.-Komp. |
Winkelbeschleunigungsv.-Komp. |
|---|---|---|
1 |
\(\left(\omega_{1x}, \omega_{1y}, \omega_{1z}\right)\) |
\(\left(\dot{\omega_{1x}}, \dot{\omega_{1y}}, \dot{\omega_{1z}}\right)\) |
2 |
\(\left(\omega_{2x}, \omega_{2y}, \omega_{2z}\right)\) |
\(\left(\dot{\omega_{2x}}, \dot{\omega_{2y}}, \dot{\omega_{2z}}\right)\) |
3 |
\(\left(\omega_{3x}, \omega_{3y}, \omega_{3z}\right)\) |
\(\left(\dot{\omega_{3x}}, \dot{\omega_{3y}}, \dot{\omega_{3z}}\right)\) |
Für jeden Körper gibt es formal 6 Vektor-Komponenten: 3 für die Winkelgeschwindigkeit und 3 für die Winkelbeschleunigung. In 2D sind aber jeweils zwei Komponenten null. Und für die jeweils dritte (hier die \(z\)-Komponente) wird:
mit einem Pfeil die Zählrichtung definiert und
eine Bezeichnung definiert (hier \(\omega_1, \omega_2, \omega_3\) bzw. \(\dot \omega_1, \dot \omega_2, \dot \omega_3\)).
Tragen Sie die fehlenden Werte ein:
Und notieren Sie die vier Unbekannten, die berechnet werden müssen.
4 unbekannte Winkelgeschwindigkeitsv.-Komponenten: \(\left(\omega_2, \dot{\omega_2}\right)\) \(\left(\omega_3, \dot{\omega_3}\right)\)Lösung
c) Geschwindigkeiten & Beschleunigungen
Betrachtung der Teilchen:
Teilchen |
Geschwindigkeitsvektor |
Beschleunigungsvektor |
|---|---|---|
A |
\(\boldsymbol v_A\) |
\(\boldsymbol a_A\) |
B |
\(\boldsymbol v_B\) |
\(\boldsymbol a_B\) |
C |
\(\boldsymbol v_C\) |
\(\boldsymbol a_C\) |
D |
\(\boldsymbol v_D\) |
\(\boldsymbol a_D\) |
Teilchen |
Geschwindigkeitsv.-Komp. |
Beschleunigungsv.-Komp. |
|---|---|---|
A |
\(\left(v_{Ax}, v_{Ay}, v_{Az}\right)\) |
\(\left(a_{Ax}, a_{Ay}, a_{Az}\right)\) |
B |
\(\left(v_{Bx}, v_{By}, v_{Bz}\right)\) |
\(\left(a_{Bx}, a_{By}, a_{Bz}\right)\) |
C |
\(\left(v_{Cx}, v_{Cy}, v_{Cz}\right)\) |
\(\left(a_{Cx}, a_{Cy}, a_{Cz}\right)\) |
D |
\(\left(v_{Dx}, v_{Dy}, v_{Dz}\right)\) |
\(\left(a_{Dx}, a_{Dy}, a_{Dz}\right)\) |
Die \(z\)-Komponenten aller Vektoren null. Und Teilchen bei A und B sind angepinnt, sodass deren Geschwindigkeit und Beschleunigung gleich null ist. Es bleiben die Teilchen B und C. Da es hier um eine Bewegung in der \((x,y)\)-Ebene gibt, sind alle \(z\)-Komponenten gleich Null,
Es bleiben acht Symbole, die berechnet werden müssen - bzw. ausgedrückt abhängig von den gegebenen Symbolen. Geben Sie diese acht Unbekannten an.
Teilchen Geschwindigkeitsv.-Komp. Beschleunigungsv.-Komp. A \(\left(v_{Ax}, v_{Ay}, v_{Az}\right)=\left(0,0,0\right)\) \(\left(a_{Ax}, a_{Ay}, a_{Az}\right)=\left(0,0,0\right)\) B \(\left(v_{Bx}, v_{By}, v_{Bz}\right)=\left(v_{Bx},v_{By},0\right)\) \(\left(a_{Bx}, a_{By}, a_{Bz}\right)=\left(a_{Bx},a_{By},0\right)\) C \(\left(v_{Cx}, v_{Cy}, v_{Cz}\right)=\left(v_{Cx},v_{Cy},0\right)\) \(\left(a_{Cx}, a_{Cy}, a_{Cz}\right)=\left(a_{Cx}, a_{Cy},0\right)\) D \(\left(v_{Dx}, v_{Dy}, v_{Dz}\right)=\left(0,0,0\right)\) \(\left(a_{Dx}, a_{Dy}, a_{Dz}\right)=\left(0,0,0\right)\) 8 unbekannte Geschwindigkeits- und Beschleunigungsv.-Komponenten: \(\left(v_{Bx}, v_{By}\right), \left(a_{Bx}, a_{By}\right)\) \(\left(v_{Cx}, v_{Cy}\right), \left(a_{Cx}, a_{Cy}\right)\) Insgesamt gibt es 12 Unbekannte. Und ab hier werden diese 12 Unbekannten berechnet: Winkelgeschwindigkeiten und Geschwindigkeiten: \(\omega_2, \omega_3, \left(v_{Bx}, v_{By}\right), \left(v_{Cx}, v_{Cy}\right)\) Winkelbeschleunigungen und Beschleunigungen: \(\dot{\omega_2}, \dot{\omega_3}, \left(a_{Bx}, a_{By}\right), \left(a_{Cx}, a_{Cy}\right)\)Lösung
d) \(\left(v_{Bx}, v_{By}\right)\) und \(\left(a_{Bx}, a_{By}\right)\)
Verwenden Sie die Formeln aus Starrkörper-Kinematik 2D für Starrkörper 1, um die \((x,y,z)\)-Komponenten des Geschwindigkeitsvektors und Beschleunigungsvektors eines Teilchens bei B zu berechnen. Zeigen Sie, dass:
Körper Winkelgeschwindigkeit Teilchen 1 Teilchen 2 1 \(\boldsymbol \omega_1\) A B Laut Aufgabenstellung ist \(\boldsymbol v_A= \boldsymbol a_A=\dot{\boldsymbol \omega_1}= \boldsymbol 0\). Außerdem ist \(v_{Bz}=a_{Bz}=0\) sowie: Dies führt auf: Die ersten beiden Zeilen von (1a) sind zwei Gleichungen zur Berechnung der zwei Unbekannten \(v_{Bx}, v_{By}\). Die ersten beiden Zeilen von (1b) sind zwei Gleichungen zur Berechnung der zwei Unbekannten \(a_{Bx}, a_{By}\). Umformen und Auflösen nach den Unbekannten führt auf: Ab hier ist die Geschwindigkeit und Beschleunigung von B bekannt. Verbleibende 8 unbekannte Komponenten: Winkelgeschwindigkeiten und Geschwindigkeiten: \(\omega_2, \omega_3, \left(v_{Cx}, v_{Cy}\right)\) Winkelbeschleunigungen und Beschleunigungen: \(\dot{\omega_2}, \dot{\omega_3}, \left(a_{Cx}, a_{Cy}\right)\)Lösung
e) Verbleibende Unbekannte
Verwenden Sie die Formeln aus Starrkörper-Kinematik 2D für Starrkörper 2 und 3. Berechnen Sie Geschwindigkeit und Beschleunigung von C und die Winkelgeschwindigkeiten und Winkelbeschleunigungen der Starrkörper 2 und 3. Zeigen Sie, dass:
Und zeigen Sie, dass:
Körper Winkelgeschwindigkeit Teilchen 1 Teilchen 2 2 \(\boldsymbol \omega_2\) B C 3 \(\boldsymbol \omega_3\) D C Laut Aufgabenstellung ist \(\boldsymbol v_B, \boldsymbol a_B, \boldsymbol v_D=\boldsymbol a_D=\boldsymbol 0\). Außerdem ist: wobei als Abkürzung definiert wurde: Einsetzen liefert: Die jeweils ersten beiden Zeilen von (2a) und (3a) sind vier Gleichungen zur Berechnung der vier Unbekannten Winkelgeschwindigkeiten und Geschwindigkeiten \(\omega_2, \omega_3, \left(v_{Cx}, v_{Cy}\right)\).
Umformen dieser Gleichungen führt auf: Auflösen nach den 4 Unbekannten führt auf: Lösung von Hand: \(v_{Cx}\) und \(v_{Cy}\) eliminieren durch Gleichsetzen von (2a‘‘) und (3a‘) führt auf: Umformen führt auf zwei Gleichungen, aus denen man sehr leicht \(\omega_2\) und \(\omega_3\) berechnen kann. Ohne die dritte Zeile ergibt das: sodass die Lösung ist: Und damit lassen sich leicht \(v_{Cx}\) und \(v_{Cy}\) berechnen. Die jeweils ersten beiden von (2b) und (3b) sind vier Gleichungen zur Berechnung der vier unbekannten Winkelbeschleunigungen und Beschleunigungen \(\dot{\omega_{2}}, \dot{\omega_{3}}, \left(a_{Cx}, a_{Cy}\right)\). Umformen und Auflösen nach den Unbekannten liefert: Lösung von Hand: (2b) und (3b) sind 4 Gleichungen zur Berechnung der vier Unbekannten \(\dot{\omega_{2}}, \dot{\omega_{3}}, \left(a_{Cx}, a_{Cy}\right)\): Eliminieren von \(a_{Cx}\) und \(a_{Cy}\) 2 liefert Gleichungen zur Berechnung der 2 Unbekannten \(\dot{\omega_{2}}, \dot{\omega_{3}}\):Lösung
Details
Details
f) Ergebnis für Größen
Berechnen Sie die \((x,y,z)\)-Komponenten der Geschwindigkeit eines Teilchens bei C für folgende Größen:
Zeigen Sie, dass:
Einsetzen der gegebenen Größen liefert die angegebenen Komponenten.Lösung
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf SymPy
from sympy.physics.units import kg, m, s
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve, sqrt, exp, simplify
# Units:
N = kg*m/s**2
k, M, G = 10**3, 10**6, 10**9
kN = k*N
Pa = N/m**2
MPa, GPa = M*Pa, G*Pa
deg = pi/180
half = S(1)/2
cm = m/100
mm = m/1000
# Rounding:
def iso_round(x, pv):
try:
x = float(x)
tmp = round(x, pv)
except TypeError:
x = x.evalf()
from functools import partial
func = partial(round, ndigits = pv)
tmp = x.applyfunc(func)
return tmp
a = symbols("a", positive=True)
w1 = symbols("omega1")
w2z, w3z = symbols("w2z, w3z")
a2z, a3z = symbols("alpha2, alpha3")
vBx, vBy = symbols("vBx, vBy")
aBx, aBy = symbols("aBx, aBy")
vCx, vCy = symbols("vCx, vCy")
aCx, aCy = symbols("aCx, aCy")
sub_list=[
( a, 1 *m ),
( w1, pi *1/s ),
]
w1 = Matrix([0,0,-w1])
w2 = Matrix([0,0, w2z])
w3 = Matrix([0,0, w3z])
a1 = Matrix([0, 0, 0])
a2 = Matrix([0,0,a2z])
a3 = Matrix([0,0,a3z])
vA = Matrix([0, 0, 0])
aA = Matrix([0, 0, 0])
vB = Matrix([vBx, vBy, 0])
aB = Matrix([aBx, aBy, 0])
vC = Matrix([vCx, vCy, 0])
aC = Matrix([aCx, aCy, 0])
vD = Matrix([0, 0, 0])
aD = Matrix([0, 0, 0])
dAB = Matrix([a, 0, 0])
h = sqrt( (2*a)**2 - (a/2)**2 )
dBC = Matrix([ a/2, h, 0])
dDC = Matrix([-a/2, h, 0])
pprint("\nvB and aB:")
eq1a = Eq( vB, vA + w1.cross(dAB) )
eq1b = Eq( aB, aA + a1.cross(dAB) + w1.cross(w1.cross(dAB)) )
sol = solve([eq1a, eq1b], [vBx, vBy, aBx, aBy])
vBx, vBy = sol[vBx], sol[vBy]
aBx, aBy = sol[aBx], sol[aBy]
vB = Matrix([vBx, vBy, 0])
aB = Matrix([aBx, aBy, 0])
pprint(vB)
pprint(aB)
pprint("\nvC aC, w2, w3:")
eq2a = Eq( vC, vB + w2.cross(dBC) )
eq3a = Eq( vC, vD + w3.cross(dDC) )
sol = solve([eq2a, eq3a], [vCx, vCy, w2z, w3z], dict=True)
sol = sol[0]
pprint(sol)
vCx, vCy = sol[vCx], sol[vCy]
w2z, w3z = sol[w2z], sol[w3z]
vC = Matrix([vCx, vCy, 0])
w2 = Matrix([0,0, w2z])
w3 = Matrix([0,0, w3z])
eq2b = Eq( aC, aB + a2.cross(dBC) + w2.cross(w2.cross(dBC)) )
eq3b = Eq( aC, aD + a3.cross(dDC) + w3.cross(w3.cross(dDC)) )
pprint("\n(2b):")
pprint(eq2b)
pprint("\n(3b):")
pprint(eq3b)
sol = solve([eq2b, eq3b], [aCx, aCy, a2z, a3z], dict=True)
sol = sol[0]
pprint(sol)
aCx, aCy = sol[aCx], sol[aCy]
a2z, a3z = sol[a2z], sol[a3z]
aC = Matrix([aCx, aCy, 0])
a2 = Matrix([0,0,a2z])
a3 = Matrix([0,0,a3z])
pprint(vC)
pprint(aC)
pprint(w2)
pprint(w3)
pprint("\na2 and a3:")
pprint(a2)
pprint(a3)
pprint("\nvC / (m/s):")
tmp = vC.subs(sub_list)
tmp /= m/s
tmp = iso_round(tmp, 2)
pprint(tmp)
[ ]: einfügen.▶ drücken.