Tags: Video Web-App

1.5.K

aus Gross et al. [GEW08] Aufgabe 5.14

Video

Gegeben

../../../_images/1.5.K.png

Symbole: \(a, F, q\)

Berechnen Sie die Lagerreaktionen bei A und B und die Kräfte im Gelenk G. Gehen Sie wie folgt vor.

a) Freischneiden

Schneiden Sie:

  • bei G durch das Gelenk, an der Grenze zwischen linkem und rechtem Balken

  • bei A, an der Grenze zwischen linkem Balken und Lager bei A

  • bei B, an der Grenze zwischen rechtem Balken und Lager bei B

Zeichnen Sie zwei Freikörperbilder: Eins für den Balken links - und eins für den Balken rechts.

Lösung

b) Resultierende und Gleichgewichtsbedingungen

Berechnen Sie die Resultierende der verteilten Kraft. Und geben Sie für beide Körper drei Gleichgewichtsbedingungen an. Nummerieren Sie die Gleichungen, und zählen Sie die Unbekannten. Zeigen Sie, dass Sie 6 Gleichungen für 6 Unbekannte haben.

Lösung

c) Lösen des Gleichungssystems

Lösen Sie das Lineare Gleichungssystem bestehend aus 6 Gleichungen für 6 Unbekannte. Berechnen Sie die 6 Unbekannten für die gegebenen Symbole.

Lösung

Lösung für die 6 Unbekannten \(A_h, A_v, M_A, B_v, G_h, G_v\):

\begin{align*} A_{h} &= 0 \\ A_{v} &= - F \\ B_{v} &= 2 F + 2 a q \\ G_{h} &= 0 \\ G_{v} &= F \\ M_A &= F a \end{align*}

d) Lösung für gegebene Größen

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

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

Lösung

\[\begin{split}A_{h} &= 0 \\ A_{v} &= -1 \, \mathrm{N} \\ B_{v} &= 4 \, \mathrm{N} \\ G_{h} &= 0 \\ G_{v} &= 1 \, \mathrm{N} \\ M_A &= 1 \, \mathrm{Nm}\end{split}\]

e) Nur Lagerreaktionen

Zeigen Sie eine Möglichkeit, mit geeigneten Freischnitten und Gleichgewichtsbedingungen die Lagerreaktionen zu berechnen, ohne die Gelenkkräfte berechnen zu müssen.

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
from operator import itemgetter

# 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 print_dict(sol, unit=1, unit_str=None, prec="nil", sub_list=[]):
    # Sorting:
    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, q = symbols("a, F, q")

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

pprint("Solution 1:")
# 6 Unknowns:
Ah,Av,Bv,Gh,Gv,MA = symbols("Ah,Av,Bv,Gh,Gv,MA")
unks = [Ah,Av,Bv,Gh,Gv,MA]

# 6 Equations / Equilibrium Conditions:
R = 2*a*q
eq1 = Eq(  Gh, 0                   )
eq2 = Eq(  - Bv + F + Gv + R, 0    )
eq3 = Eq(  2*a*F + a*(-Bv + R), 0  )
eq4 = Eq(  Ah + Gh, 0              )
eq5 = Eq(  Av + Gv , 0             )
eq6 = Eq(  Gv*a - MA, 0            )

eqns = [eq1, eq2, eq3, eq4, eq5, eq6]

sol = solve(eqns, unks)
print(sol)
print_dict(sol, unit=N, unit_str="N", prec="nil", sub_list=sub_list)

pprint("\nSolution 2:")
# 4 Unknowns:
Ah, Av, Bv, MA= symbols("Ah, Av, Bv, MA")
unks = [Ah, Av, Bv, MA]

# 4 Equations:
eq1 = Eq(  2*F*a + a*(-Bv + R), 0       )
eq2 = Eq(  Ah, 0                        )
eq3 = Eq(  Av + Bv - R - F, 0           )
eq4 = Eq(  2*a*Bv -2*a*R -3*a*F - MA, 0 )

eqns = [eq1, eq2, eq3, eq4]

sol = solve(eqns, unks)
print(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.