1.6.G

Gegeben

../../../_images/img1.png

Symbole: \(a, F, G\)

  • Am Knoten D ist ein Seil angebracht.

  • Die Gelenke haben keine räumliche Ausdehnung, sodass gilt: \(\alpha=45^\circ.\)

  • Der Kontakt zwischen den Gelenken und dem über die Gelenke gelegten Seil ist reibungslos.

a) Lagerreaktionen

Berechnen Sie die Lagerreaktionen.

Lösung

../../../_images/img_11.png

Lösung:

\[\begin{split}A_{h} &= - F \\ A_{v} &= - \tfrac{F}{2} + \tfrac{G}{2} \\ B_{v} &= \tfrac{F}{2} + \tfrac{G}{2}\end{split}\]

b) Stäbe 4, 5 und 7

Berechnen Sie \(S_4, S_5, S_7\). Schneiden Sie dazu in einem Freischnitt durch alle drei Stäbe.

Lösung

../../../_images/img_21.png

Lösung:

\[\begin{split}S_{4} &= - \sqrt{2} B_{v} + G \\ S_{5} &= B_{v} - \tfrac{\sqrt{2} G}{2} \\ S_{7} &= F - G - \tfrac{\sqrt{2} G}{2}\end{split}\]

c) Spezialfall

Berechnen Sie \(S_4, S_5, S_7\) für folgende Größen:

\[F = G = 1 \, \mathrm{N}\]

Lösung

\[\begin{split}S_{4} &= \left(1 - \sqrt{2} \right)\,\mathrm{N}\\ S_{5} &= \left(1 -\tfrac{\sqrt 2}{2}\right)\,\mathrm{N}\\ S_{7} &= - \tfrac{\sqrt{2}}{2} \,\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, 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

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)

a, F, G = symbols("a, F, G")
Ah, Av, Bv = symbols('Ah, Av, Bv')

sub_list = [
    (F, 1 *N),
    (G, 1 *N),
    ]

eqns = [
    Eq( 0, Ah + F                       ),
    Eq( 0, Av + Bv - G                  ),
    Eq( 0, - G * a + Bv * 2 * a - F * a ),
    ]

unks = [Bv, Ah, Av]
sol = solve(eqns, unks)
pprint(sol)

S4, S5, S7  = symbols('S4, S5, S7')

Bv = sol[Bv]
c = sqrt(2)/2

eqns = [
    Eq( 0, -G - S7 - S5 - S4*c + F - G*c ),
    Eq( 0, -G*c + S4*c + Bv              ),
    Eq( 0, a*S4*c + a*S5                 ),
    ]

unks=[S4, S5, S7]
sol = solve(eqns, unks)
pprint(sol)
print_dict(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.