3.1.2.B

Gegeben

../../../../_images/3.1.2.B.png

Symbole:

\[m, g, c, h\]
  • Dargestellt ist der „Zustand 0“.

  • Eine Punktmasse wird aus der Höhe \(h\) über einer entspannten Feder \(c\) losgelassen.

  • Die Punktmasse berührt nach einiger Zeit die Feder und staucht sie dann.

  • \(x\) ist die Verkürzung der Feder

  • \(E\) ist die kinetische Energie, und \(W\) ist die potentielle Energie.

Berechnen Sie die maximale Verkürzung der Feder \(x_1\).

a) „Zustand 0“

Berechnen Sie \(E\) und \(W\) von Masse und Feder im Zustand 0: Die Masse \(m\) ist diesem Zustand in Ruhe - und die Feder \(c\) ist entspannt.

\[\begin{split}E_{m0} &= \dots \\ W_{m0} &= \dots \\ W_{c0} &= \dots\end{split}\]

Lösung

Wenn das Nullniveau auf die Höhe gelegt wird, auf der sich die Masse im Zustand 0 (dem Anfangszustand) befindet, dann ist die potentielle Energie der Masse im Zustand 0:

\[W_{m0} = 0\]

Kinetische Energie und Federenergie im Zustand 0:

\[\begin{split}E_{m0} &= 0 \\ W_{c0} &= 0\end{split}\]

b) „Zustand 1“

Berechnen Sie \(E\) und \(W\) von Masse und Feder im Zustand 1: Die Masse ist in diesem Zustand am tiefsten Punkt - und die Feder ist maximal gestaucht.

\[\begin{split}E_{m1} &= \dots \\ W_{m1} &= \dots \\ W_{c1} &= \dots\end{split}\]

Lösung

\[\begin{split}E_{m1} &= 0 \\ W_{m1} &= -mg(h+x_1) \\ W_{c1} &= \tfrac12 c x_1^2\end{split}\]

wobei \(x_1\) die Verkürzung der Feder im Zustand 1 ist.

c) Energiesatz

Sei \(x_1\) die \(x\)-Position der Punktmasse im Zustand 1 - bzw. die maximale Stauchung der Feder. Berechnen Sie dieses \(x_1\) mit dem Energiesatz.

Lösung

\[\begin{split}\tfrac12 c x_1^2 -mg(h+x_1)&=0 \\ x_1^2 -\tfrac{2 mg (h+x_1)}{c}&=0 \\ x_1^2 -\tfrac{2 mg }{c}x_1-\tfrac{2 mg h}{c}&=0\end{split}\]

Anwendung der p-q-Formel liefert:

\[x_1 = \tfrac{mg}{c} \pm \sqrt{\left(\tfrac{mg}{c}\right)^2+\tfrac{2 mg h}{c}}\]

Auswertung führt auf ein positives und ein negatives \(x_1\). Da die Feder laut Aufgabenstellung gestaucht (und nicht gedehnt) wird, ist \(x_1>0\). Daher ist die gesuchte maximale Stauchung:

\[\begin{split}x_1 &= \tfrac{mg}{c} + \sqrt{\left(\tfrac{mg}{c}\right)^2+\tfrac{2 mg h}{c}} \\ &= \tfrac{mg}{c}\left( 1 + \sqrt{1+\tfrac{2 hc }{mg }}\right)\end{split}\]

d) Maximale Stauchung

Berechnen Sie \(x_1\) für die Größen:

\[\begin{split}m &= 1 \,\mathrm{kg} \\ g &= 10 \,\tfrac{\mathrm m}{\mathrm{s}^2} \\ c &= 40 \tfrac{\mathrm{N}}{\mathrm{m}} \\ h &= 1 \,\mathrm{m}\end{split}\]

Lösung

\[\begin{split}\tfrac{mg}{c} &= \tfrac14 \,\mathrm{kg} \,\tfrac{\mathrm m}{\mathrm{s}^2} \tfrac{\mathrm{m}}{\mathrm{N}} \\ &= \tfrac14 \,\mathrm{m} \\ \\ \tfrac{2hc}{mg} &=\tfrac{2\,\mathrm{m}}{\tfrac14 \mathrm{m}} \\ &= 8\end{split}\]

Damit:

\[\begin{split}x_1 &= \tfrac14 \,\mathrm{m} \left( 1 + \sqrt{1+8}\right) \\ &= \tfrac14 \,\mathrm{m} \left( 1 + 3\right) \\ &= 1 \,\mathrm{m}\end{split}\]

SymPy

Source Code eines Programms dazu:

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

# Printing:
def printout(x, unit=1, prec="nil", sub_list=[]):
    x = x.subs(sub_list)
    x /= unit
    try: 
        x = x.applyfunc(simplify)
    except:
        tmp = x.simplify()
        if tmp != None:
            x = tmp
    if prec != "nil":
        x = iso_round(x, prec)
    pprint(x)
    return

# ---

mass, grav, c, h = symbols("m, g, c, h")

sub_list = [
    ( mass,    1  *kg     ),
    ( grav,   10  *m/s**2 ),
    ( c,      40  *N/m    ),
    ( h,       1  *m      ),
    ]

# state 1:
x1 = symbols("x1", positive=True)
Em = 0
Wm = - mass * grav * (h + x1)
Wc = c*x1**2/2

pprint("\nx1 / m:")
eq = Eq(Em + Wm + Wc, 0)
eq = eq.subs(sub_list)
sol = solve(eq, x1)
tmp = sol[0]
tmp /= m
pprint(tmp)

Programm ausführen? Dazu:

  1. Copy: Source Code in die Zwischenablage kopieren.

  2. Paste: Source Code ins Eingabefeld hinter [ ]: einfügen.

  3. Play: Knopf ▶ drücken.