1.6.K

Gegeben

../../../_images/1.6.K.png

Symbole:

\[a, F\]

Größen:

\[\begin{split}a&= 3 \,\mathrm{m}\\ F&= 5 \,\mathrm{N}\end{split}\]

a) Geometrie

Zeigen Sie, dass:

\[\begin{split}c_\alpha &= \tfrac{2\sqrt 5}{5} &\qquad c_\beta &= \tfrac{\sqrt 2}{2} \\ s_\alpha &= \tfrac{\sqrt 5}{5} &\qquad s_\beta &= \tfrac{\sqrt 2}{2}\end{split}\]

Lösung

b) Knotenschnitt und Stabkräfte

  • Schneiden Sie frei am oberen Knoten, um die Stabkräfte \(S_1\) und \(S_2\) sichtbar zu machen.

  • Geben Sie zwei Gleichgewichtsbedingungen an, aus denen sich \(S_1\) und \(S_2\) Berechnen lassen.

  • Berechnen Sie \(S_1\) und \(S_1\).

Und zwar:

  • für die gegebenen Symbolen und

  • für die gegebenen Größen und gerundet auf Rundestellenwert \(0{,}01\).

Lösung

../../../_images/1.6.K_2.png

Lösung für die gegebenen Symbole:

\[\begin{split}S_{1} &= - \tfrac{\sqrt{5}}{3}F \\ S_{2} &= - \tfrac{\sqrt{2}}{3} F\end{split}\]

Lösung für die gegebenen Größen und gerundet:

\[\begin{split}S_1 &= - \tfrac{5 \sqrt{5}}{3} \,\mathrm{N} \\ &\stackrel{\scriptscriptstyle{0{,}01}}{\approx} -3{,}73 \,\mathrm{N} \\ S_2 &= - \tfrac{5 \sqrt{2}}{3} \,\mathrm{N} \\ &\stackrel{\scriptscriptstyle{0{,}01}}{\approx} -2{,}36 \,\mathrm{N} \\\end{split}\]

c) Lagerreaktionen

Berechnen Sie die Lagerreaktionen bei A und B:

  • für die gegebenen Symbolen und

  • für die gegebenen Größen und gerundet auf Rundestellenwert \(0{,}01\).

Lösung

Die Stabkräfte wirken in entgegengesetzter Richtung auf die Lager.

../../../_images/1.6.K_3.png

Lösung nach Einsetzen der zuvor berechneten Stabkräfte:

\begin{align*} A_{h} &= \tfrac{1}{3}F \stackrel{\scriptscriptstyle{0{,}01}}{\approx} 1{,}67 \,\mathrm{N} \\ A_{v} &= \tfrac{2}{3}F \stackrel{\scriptscriptstyle{0{,}01}}{\approx} 3{,}33 \,\mathrm{N} \\ B_{h} &= \tfrac{1}{3}F \stackrel{\scriptscriptstyle{0{,}01}}{\approx} 1{,}67 \,\mathrm{N} \\ B_{v} &= \tfrac{1}{3}F \stackrel{\scriptscriptstyle{0{,}01}}{\approx} 1{,}67 \,\mathrm{N} \end{align*}

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

# 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 print_dict(sol, unit=1, unit_str=None, prec="nil", sub_list=[]):
    tmp = {str(k): v for k, v in sol.items()}
    tmp = sorted(tmp.items())
    for k, v in tmp:
        if unit_str:
            print("\n"+str(k) + " / " + unit_str + ":")
        else:
            print("\n"+str(k) + ":")
        v = v.subs(sub_list)
        v /= unit
        try: 
            v = v.applyfunc(simplify)
        except:
            v = v.simplify()
        if prec != "nil":
            v = iso_round(v, prec)
        pprint(v)

prec = 2
a, F = symbols("a, F")
S1, S2 = symbols("S1, S2")

sub_list=[
    (a, 3 *m),
    (F, 5 *N)
    ]

pprint("\nS1 and S2:")

ca = 2/sqrt(5)
sa = 1/sqrt(5)
cb = 1/sqrt(2)
sb = 1/sqrt(2)

eq1 = Eq(0, -S1*sa + S2*sb)
eq2 = Eq(0, F + S1*ca + S2*cb)
eqs = [eq1, eq2]
sol = solve(eqs, [S1, S2])
S1 = sol[S1]
S2 = sol[S2]

pprint(S1)
pprint(S2)

pprint("\nS1 and S2 / N:")
printout(S1, unit=N, prec=prec, sub_list=sub_list)
printout(S2, unit=N, prec=prec, sub_list=sub_list)

Ah, Av, Bh, Bv = symbols("Ah, Av, Bh, Bv")
eq1 = Eq(Ah, -S1*sa)
eq2 = Eq(Av, -S1*ca)
eq3 = Eq(Bh, -S2*sb)
eq4 = Eq(Bv, -S2*cb)

eqs = [eq1, eq2, eq3, eq4]

pprint("\nSupport Reactions / N:")
sol = solve(eqs, [Ah, Av, Bh, Bv])
print_dict(sol, unit=N, unit_str="N", prec=prec, sub_list=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.