Tags: Video

1.5.L

Video

Gegeben

../../../_images/1.5.L.png

Symbole:

\[a, q\]

Berechnen Sie die Lagerreaktionen und die Gelenkkräfte. Gehen Sie wie folgt vor:

a) Freischnitte

Schneiden Sie frei, sodass Sie zwei Starrkörper erhalten. Und sodass vier unbekannte Lagerreaktionen und zwei unbekannte Gelenkkräfte sichtbar werden.

Lösung

b) Resultierende

Berechnen Sie die Resultierenden der verteilen Last.

Lösung

../../../_images/1.5.L_3z.png

Graphische Methode: „Flächen“

../../../_images/1.5.L_4z.png

Rechnerische Methode: „Integration“

Ergebnis:

\[\begin{split}(q_1, q_2, q_3 ) &= \left( \tfrac13 q \left( \tfrac x a \right), \tfrac23 q \left( \tfrac{x}{2a} \right), \tfrac13 q \right) \\ (R_1, R_2, R_3 ) &= \left( \int_{x=0}^{a} q_1 \, {\mathsf d}x, \int_{x=0}^{2a} q_2 \, {\mathsf d}x, \int_{x=0}^{2a} q_3 \, {\mathsf d}x \right) \\ (M_1, M_2, M_3) &= \left( \int_{x=0}^{a} x q_1 \, {\mathsf d}x, \int_{x=0}^{2a} x q_2 \, {\mathsf d}x, \int_{x=0}^{2a} x q_3 \, {\mathsf d}x \right) \\ (x_1, x_2, x_3) &= \left( \tfrac{M_1}{R_1}, \tfrac{M_2}{R_2}, \tfrac{M_3}{R_3} \right)\end{split}\]

Ausrechnen liefert:

\[\begin{split}(x_1, x_2, x_3) &= \left( \tfrac2 3 a, \tfrac4 3 a, a \right) \\ (R_1, R_2, R_3 ) &= \left( \tfrac16 q a, \tfrac23 q a, \tfrac23 q a \right)\end{split}\]

c) Berechnen der Lagerreaktionen

Zeichnen Sie die Resultierenden in Ihrer Freischnittskizze an den korrekten Positionen ein. Und berechnen Sie dann die sechs unbekannten Lagerreaktionen und Gelenkkräfte für die gegebenen Symbole.

Lösung

../../../_images/1.5.L_5z.png

Lösung des linearen Gleichungssystem:

\begin{align*} A_h &= \tfrac{2}{3} a q \\ A_v &= \tfrac{13}{18} a q \\ B_h &= - \tfrac{2}{3} a q \\ B_v &= \tfrac{7}{9} a q \\ G_h &= - \tfrac{2}{3} a q \\ G_v &= \tfrac{5}{9} a q \end{align*}

SymPy

Source Code eines Programms dazu:

from sympy import symbols, solve, Eq, pprint, integrate

# 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

def print_dict(sol, unit=1, unit_str=None, prec="nil", sub_list=[]):
    # Sort:
    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)

a, q0 = symbols("a, q0")
Ah, Av, Bh, Bv, Gh, Gv = symbols("Ah, Av, Bh, Bv, Gh, Gv")

x = symbols("x")

q1 = q0/3   * x/a
q2 = 2*q0/3 * x/(2*a)
q3 = q0/3

# Resultants:
R1 = integrate( q1, (x, 0,   a) )
R2 = integrate( q2, (x, 0, 2*a) )
R3 = integrate( q3, (x, 0, 2*a) )

x1 = integrate( x*q1, (x, 0,   a) ) / R1
x2 = integrate( x*q2, (x, 0, 2*a) ) / R2
x3 = integrate( x*q3, (x, 0, 2*a) ) / R3

pprint("\nx1, R1:")
pprint(x1)
pprint(R1)
pprint("\nx2, R2:")
pprint(x2)
pprint(R2)
pprint("\nx3, R3:")
pprint(x3)
pprint(R3)

eq1 = Eq(  0, Ah + Gh             )
eq2 = Eq(  0, R1 + Gv - Av        )
eq3 = Eq(  0, 2*R1/3 + Gv + Gh    )
eq4 = Eq(  0, Bh - Gh             )
eq5 = Eq(  0, R2 + R3 - Gv - Bv   )
eq6 = Eq(  0, 2*Gv - R3 - 2*R2/3  )

eqns = [eq1, eq2, eq3, eq4, eq5, eq6]
unks = [Ah, Av, Bh, Bv, Gh, Gv]

pprint("\nSolution:")
sol = solve(eqns, unks)
print_dict(sol)

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.