1.5.H

Gegeben

../../../_images/1.5.H.png

Symbole:

\[0 <\alpha< 90^\circ, F > 0, r\]

Größen:

\[\begin{split}\alpha &= 30^\circ \\ F &= 5 \,\mathrm{N} \\ r &= 0{,}2 \,\mathrm{m}\end{split}\]

a) Freischneiden, Lagerreaktionen

Berechnen Sie diese Lagerreaktionen bei A und die Seilkraft unter Verwendung von:

  • zwei Kraft-Gleichgewichtsbedingungen und

  • einer Moment-Gleichgewichtsbedingung.

Rechnen Sie zuerst mit Symbolen. Setzen Sie danach die gegebenen Größen ein, und runden Sie Ihre Ergebnisse auf Rundestellenwert \(0{,}01\).

Lösung

../../../_images/1.5.H_1.png

Lösung mit Symbolen:

\[\begin{split}A_h &= -F s_\alpha \\ A_v &= F (c_\alpha + 1) \\ S &= F\end{split}\]

Lösung mit Größen und gerundet auf Rundestellenwert \(0{,}01\):

\[\begin{split}A_h &= -2{,}5 \,\mathrm{N} \\ A_v &\stackrel{\scriptscriptstyle{0{,}01}}{\approx}9{,}33 \,\mathrm{N} \\ S &= 5 \,\mathrm{N}\end{split}\]

b) Drei äquivalente Aussagen

Beginnen Sie erneut. Berechnen Sie diese Lagerreaktionen und diese Seilkraft jetzt unter Verwendung von:

  • zwei Moment-Gleichgewichtsbedingungen und

  • einer Kraft-Gleichgewichtsbedingung.

Lösung

../../../_images/1.5.H_2.png

Lösung wie oben.

c) Weitere drei äquivalente Aussagen

Beginnen Sie erneut. Berechnen Sie diese Lagerreaktionen und diese Seilkraft jetzt unter Verwendung von drei Moment-Gleichgewichtsbedingungen.

Lösung

../../../_images/1.5.H_3.png

Lösung wie oben.

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

# 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

# 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

def printout_sol(sol, unit=1, unit_str=None, prec="nil", sub_list=[]):
    for s in sol:
        if unit_str:
            print("\n"+str(s) + " / " + unit_str + ":")
        else:
            print("\n"+str(s) + ":")

        x = sol[s]
        x = x.subs(sub_list)
        x /= unit
        try: 
            x = x.applyfunc(simplify)
        except:
            x = x.simplify()
        if prec != "nil":
            x = iso_round(x, prec)
        pprint(x)
    return

# ---

alpha, F, r = symbols("alpha, F, r")

sub_list=[
    ( alpha  , 30 *deg    ),
    ( F      ,  5 *N ),
    ( r      ,  2 *m/10   ),
    ]

Ah, Av, S= symbols("Ah, Av, S")

ca = cos(alpha)
sa = sin(alpha)

pprint("\n--- 1 ---")
eq1 = Eq(0, Ah + S*sa)      # right
eq2 = Eq(0, Av - S*ca - F)  # up
eq3 = Eq(0, r*F - r*S)      # about A

sol = solve([eq1, eq2, eq3], [Ah, Av, S])
printout_sol(sol, unit=1, unit_str=None, prec="nil", sub_list=[])

pprint("\n--- 2 ---")
eq1 = eq1                                   # right
eq2 = eq3                                   # about A
eq3 = Eq(0, r*sa*Ah - r*ca*Av + r*(1+ca)*F) # about B

sol = solve([eq1, eq2, eq3], [Ah, Av, S])
printout_sol(sol, unit=1, unit_str=None, prec="nil", sub_list=[])

pprint("\n--- 3 ---")
eq1 = eq2                                       # about A
eq2 = eq3                                       # about B
eq3 = Eq(0, r*Av - r*(1 + ca)*S*ca - r*sa*S*sa) # about C

sol = solve([eq1, eq2, eq3], [Ah, Av, S])
printout_sol(sol, unit=1, unit_str=None, prec="nil", sub_list=[])

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.