1.5.B
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.
b) Resultierende
Für die gegebenen Symbole: Berechnen den Betrag der Resultierenden der verteilten Kraft. Und zeigen Sie die Position Wirkungslinie der Resultierenden.
Die Wirkungslinie ist im nächsten Aufgabenteil gezeigt.Lösung
c) Lagerreaktionen
d) Ergebnisse für gegebene Größen
Berechnen Sie Lagerreaktionen und Gelenkkräfte für folgende Größen:
Lösung
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.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)
[ ]: einfügen.▶ drücken.