1.6.I

Gegeben

../../../_images/1.6.I.png

Symbole:

\[a, q\]

Größen:

\[\begin{split}a &= 2 \,\mathrm{m}\\ q &= 1 \, \tfrac{\mathrm{N}}{\mathrm{m}}\end{split}\]

a) Freikörperbilder

Schneiden Sie frei, sodass alle Lagerreaktionen und die Gelenkkräfte bei G sichtbar werden.

Lösung

b) Gleichgewichtsbedingungen

Geben Sie sechs Gleichgewichtsbedingungen an, aus denen Sie die sechs Unbekannten (Lagerreaktionen und Gelenkkräfte) berechnen können.

Lösung

c) Lagerreaktionen und Gelenkkräfte

Berechnen Sie die gesuchten Lagerreaktionen und Gelenkkräfte - für die gegebenen Symbole.

Lösung

../../../_images/1.6.I_2.png

Lösung:

\[\begin{split}A_{v} &= - a q \\ B_{v} &= 2 a q \\ C_{h} &= 0 \\ C_{v} &= a q \\ G_{h} &= 0 \\ G_{v} &= - a q\end{split}\]

d) Stäbe 1 und 2

Berechnen Sie die Kräfte \(S_1\) und \(S_2\) in den Stäben 1 und 2:

  • für die gegebenen Symbole und

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

Lösung

../../../_images/1.6.I_3.png

Damit und mit der bereits bekannten Lagerreaktion \(A_v\):

\[\begin{split}S_{1} &= 2 a q \\ S_{2} &= - \sqrt{3} a q\end{split}\]

Für die gegebenen Größen:

\[\begin{split}S_{1} &= 4 \,\mathrm{N} \\ S_{2} &= - 2 \sqrt{3} \,\mathrm{N} \\ &\stackrel{\scriptscriptstyle{0{,}01}}{\approx}-3{,}46 \,\mathrm{N}\end{split}\]

e) Stab 3

Berechnen Sie die Kraft \(S_3\) im Stab 3:

  • für die gegebenen Symbole und

  • für die gegebenen Größen

Lösung

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:
        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, q = symbols("a, q")

sub_list=[
    (a, 2 *m),
    (q, 1 *N/m),
    ]

Gh, Gv, Av, Bv, Cv, Ch = symbols("Gh, Gv, Av, Bv, Cv, Ch")

R=2*a*q

# 1:
eq1 = Eq(0, Gh)
eq2 = Eq(0, Av + Bv + Gv)
eq3 = Eq(0, a*Bv + 2*a*Av)

# 2:
eq4 = Eq(0, Gh + Ch)
eq5 = Eq(0, R + Gv - Cv)
eq6 = Eq(0, 2*a*Gv + a*R)

eqns = [eq1, eq2, eq3, eq4, eq5, eq6]
unks = [Gh, Gv, Av, Bv, Cv, Ch]
sol = solve(eqns, unks)
print_dict(sol)

# cos(alpha), sin(alpha):
ca, sa = sqrt(3)/2, half

S1, S2, S3 = symbols("S1, S2, S3")
Av = sol[Av]
Bv = sol[Bv]

eqns=[
    Eq(S1*ca + S2, 0),
    Eq(S1*sa + Av, 0),
    Eq(S3 + Bv, 0),
    ]
unks = [S1, S2, S3]
sol = solve(eqns, unks)
print_dict(sol)
print_dict(sol, unit=N, unit_str="N", prec=2, 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.