Aufgaben

Lösung zu Aufgabe 13.4

Programm

Da die Stäbe eine Steifigkeit von $S=1000\,\textrm{N}$ besitzen, und $l_0=0{,}1\,\textrm{m}$ lang sind, müssen wir die beiden äußeren Punkte jeweils um $\Delta x = 0{,}01\,\textrm{m}$ nach außen schieben um eine Spannung von $100\,\textrm{N}$ zu bewirken. Das ganz unten abgedruckte Programm erzeugt die folgende Animation:

Link    Zur fertigen Animation.

Man erkennt, dass die horizontale Schwingung eine Schwingungsfrequenz von $22{,}51\,\text{Hz}$ besitzt und die vertikale Schwingung eine Frequenz von $6{,}79\,\text{Hz}$.

Analytische Lösung für kleine horizontale Auslenkungen

Eine Schwingung in horizontaler Richtung entspricht einem einfachen Masse-Feder-Pendel. Ein einzelner Stab hat eine Federkonstante von: \[ D= \frac{S}{l_0} = \frac{1000\,\textrm{N}}{0{,}1\,\textrm{m}} = 10^4\,\textrm{N/m} \] Da die mittlere Masse von links und von rechts mit einem Stab gehalten wird, ergibt sich somit für die Schwingungsfrequenz: \[ f = \frac{1}{2\pi} \sqrt{\frac{2D}{m}} = \frac{1}{2\pi} \sqrt{\frac{2\cdot 10^4\,\textrm{N/m}}{1\,\textrm{kg}}} = 22{,}51\,\textrm{Hz} \]

Analytische Lösung für kleine vertikale Auslenkungen

Der Stab soll eine entspannte Länge $l_0$ und eine Steifigkeit $S$ haben. Wir nehmen an, dass die beiden äußeren Punkte jeweils um die Strecke $\Delta x$ nach außen geschoben wurden. Wenn der mittlere Punkt um $y$ in der vertikalen Richtung ausgelenkt wurde, so schließt jeder Stab mit der x-Achse einen Winkel $\alpha$ ein, wie im Bild dargestellt ist.

Für die momentane Länge des Stabes gilt somit: \[ \tag{1} l = \sqrt{(l_0+\Delta x)^2 + y^2} \] Die Kraft, mit der der Stab gespannt ist, ergibt sich aus dem hookeschen Gesetz: \[ \tag{2} F_{\text{Stab}} = S \frac{l - l_0}{l_0} = S \left( \frac{l}{l_0} -1\right) \] Auf den mittleren Massenpunkt wirkt die Kraft vom linken und vom rechten Stab. Während sich die $x$-Komponenten der Kraft aufheben, addieren sich die $y$-Komponenten: \[ F_y = -2 F_{\text{Stab}} \sin(\alpha) = -2 F_{\text{Stab}} \frac{y}{l} \] Durch Einsetzen der Gleichung (2) für die Spannkraft der Stäbe ergibt sich damit: \[ F_y = - 2 S \left(\frac{1}{l_0} - \frac{1}{l}\right) y \] Wir setzen nun die Gleichung (1) für die Länge $l$ ein und erhalten: \[ \tag{3} F_y = - 2 S \left(\frac{1}{l_0} - \frac{1}{\sqrt{(l_0+\Delta x)^2 + y^2}}\right) y \]

Um die Schwingungsfrequenz für kleine Auslenkungen zu bestimmen, entwickeln wir Gleichung (3) in eine Taylorreihe um $y=0$. Dazu müssen wir in der Klammer lediglich $y=0$ einsetzen und erhalten: \[ F_y = - 2 S \left(\frac{1}{l_0} - \frac{1}{l_0+\Delta x}\right) y + \mathcal{O}(y^2)\] Dies bedeutet, dass sich das System für kleine Auslenkungen wir ein Masse-Feder-Pendel mit einer Federkonstante $D$ von \[ D = 2 S \left(\frac{1}{l_0} - \frac{1}{l_0+\Delta x}\right)\] verhält. Mit den Gegebenen Werten $l_0 = 0{,}1\,\textrm{m}$, $\Delta x=0{,}01\,\textrm{m}$ und $S=1000\,\textrm{N}$ ergibt sich eine Federkonstante von: \[ D = 1818{,}2\,\textrm{N/m} \] Für eine Masse vn $m=1\,\textrm{kg}$ ergibt sich daraus eine Schwingungsfrequenz von: \[ f = \frac{1}{2\pi}\sqrt{\frac{D}{m}} = 6{,}79\,\textrm{Hz} \] Dieses Ergebnis stimmt mit der Berechnung des Programms überein.

Download    OOsim/Loesungen/eigenmode_vorspannung_100N.py

"""Eigenmoden eines ganz einfachen vorgespannten Stabwerks."""

import numpy as np
import matplotlib.pyplot as plt
import stabwerke

# Erstelle das Stabwerk.
punkte = np.array([[-0.1, 0.0], [0.0, 0.0],  [0.1, 0.0]])
indizes_stuetz = [0, 2]
staebe = np.array([[0, 1], [1, 2]])
steifigkeiten = np.array([1e3, 1e3])
massen = np.array([0.0, 1.0, 0.0])
stabw_lin = stabwerke.StabwerkElastischLin(
    punkte, indizes_stuetz, staebe,
    steifigkeiten=steifigkeiten, punktmassen=massen)

# Schalte die Schwerkraft aus.
stabw_lin.g_vector[:] = 0

# Verschiebe die beiden äußeren Punkte um 1 cm.
stabw_lin.punkte[0, 0] += -1e-2
stabw_lin.punkte[2, 0] += +1e-2

# Da wir die beiden Punkte symmetrisch verschoben haben, ist
# das System im statischen Gleichgewicht. Wir können daher darauf
# verzichten an dieser Stellen nach der Gleichgewichtsposition
# zu suchen.
# stabw_lin.suche_gleichgewichtsposition()

# Erzeuge eine Figure und zwei Axes.
fig = plt.figure(figsize=(5, 5))
fig.set_tight_layout(True)

ax1 = fig.add_subplot(2, 1, 1)
ax1.set_xlim(-0.12, 0.12)
ax1.set_ylim(-0.05, 0.05)
ax1.tick_params(labelbottom=False)
ax1.set_ylabel('$y$ [m]')
ax1.set_aspect('equal')
ax1.grid()

ax2 = fig.add_subplot(2, 1, 2, sharex=ax1, sharey=ax1)
ax2.set_xlabel('$x$ [m]')
ax2.set_ylabel('$y$ [m]')
ax2.set_aspect('equal')
ax2.grid()

# Stelle die Eigenmoden animiert dar.
animationen = []
for i, ax in enumerate([ax1, ax2]):
    freq = stabw_lin.eigenmoden()[0][i]
    ax.set_title(f'$f$ = {freq:.2f} Hz')
    p = stabwerke.AnimationEigenmode(ax, stabw_lin, eigenmode=i,
                                     amplitude=0.02, cmap='jet',
                                     arrows=False, annot=False)
    animationen.append(p)

plt.show()