1.5.L
Video
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.
b) Resultierende
Berechnen Sie die Resultierenden der verteilen Last.
Graphische Methode: „Flächen“ Rechnerische Methode: „Integration“ Ergebnis: Ausrechnen liefert:Lösung
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.
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf SymPy
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)
[ ]: einfügen.▶ drücken.