1.5.B

Gegeben

../../../_images/1.5.B.png

Symbole: \(\alpha, a, F, q\)

Berechnen Sie die Lagerreaktionen. Gehen Sie wie folgt vor.

a) Freikörperbilder

Schneiden Sie frei an den Lagern und am Gelenk G, sodass zwei Teilsysteme entstehen.

Lösung

b) Resultierende

Für die gegebenen Symbole: Berechnen den Betrag der Resultierenden der verteilten Kraft. Und zeigen Sie die Position Wirkungslinie der Resultierenden.

Lösung

\[\begin{split}R &= \tfrac12 3a q \\ &=\tfrac32 qa\end{split}\]

Die Wirkungslinie ist im nächsten Aufgabenteil gezeigt.

c) Lagerreaktionen

Lösung

../../../_images/1.5.B_2.png

Lösung:

\[\begin{split}A_{h} &= - F c_\alpha \\ A_{v} &= \tfrac{F s_\alpha}{2} \\ B_{v} &= \tfrac{5 F s_\alpha}{8} + \tfrac{3 a q}{8} \\ C_{v} &= - \tfrac{F s_\alpha}{8} + \tfrac{9 a q}{8} \\ G_{h} &= 0 \\ G_{v} &= \tfrac{F s_\alpha}{2}\end{split}\]

d) Ergebnisse für gegebene Größen

Berechnen Sie Lagerreaktionen und Gelenkkräfte für folgende Größen:

\[\alpha = 90^\circ \qquad a = 3 \,\mathrm{m} \qquad F = 2 \,\mathrm{N} \qquad q = 2 \tfrac{\mathrm{N}}{\mathrm{m}}\]

Lösung

\[\begin{split}A_{h} &= 0 \,\mathrm{N} \\ A_{v} &= 1 \,\mathrm{N} \\ B_{v} &= \tfrac{7}{2} \,\mathrm{N} = 3{,}5 \,\mathrm{N} \\ C_{v} &= \tfrac{13}{2} \,\mathrm{N} = 6{,}5 \,\mathrm{N} \\ G_{h} &= 0 \,\mathrm{N} \\ G_{v} &= 1 \,\mathrm{N} \\\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

# 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

a, F, alpha, q = symbols("a, F, alpha, q")

sub_list=[
    ( alpha , 90 *deg ),
    ( a     , 3  *m   ),
    ( F     , 2  *N   ),
    ( q     , 2  *N/m ),
    ]

R = S(3)/2*a*q

Ah, Av, Bv, Cv, Gh, Gv = symbols("Ah, Av, Bv, Cv, Gh, Gv")
unks = [Ah, Av, Bv, Cv, Gh, Gv]

# Shortcuts:
ca, sa = cos(alpha), sin(alpha)

# Equilibrium conditions:
eq1 = Eq(0, Ah + F*ca - Gh)
eq2 = Eq(0, Av + Gv - F*sa)
eq3 = Eq(0, 2*a*Gv - a*F*sa)

eq4 = Eq(0, Gh)
eq5 = Eq(0, Bv + Cv - R - Gv)
eq6 = Eq(0, a*Bv + 5*a*Cv - 4*a*R)

# Solve linear system:
eqms = [eq1, eq2, eq3, eq4, eq5, eq6]
sol = solve(eqms, unks)

printout_sol(sol, unit=N, unit_str="N", prec="nil", 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.