1.6.I
Gegeben
Symbole:
Größen:
a) Freikörperbilder
Schneiden Sie frei, sodass alle Lagerreaktionen und die Gelenkkräfte bei G sichtbar werden.
b) Gleichgewichtsbedingungen
Geben Sie sechs Gleichgewichtsbedingungen an, aus denen Sie die sechs Unbekannten (Lagerreaktionen und Gelenkkräfte) berechnen können.
c) Lagerreaktionen und Gelenkkräfte
Berechnen Sie die gesuchten Lagerreaktionen und Gelenkkräfte - für die gegebenen Symbole.
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\)
Damit und mit der bereits bekannten Lagerreaktion \(A_v\): Für die gegebenen Größen:Lösung
e) Stab 3
Berechnen Sie die Kraft \(S_3\) im Stab 3:
für die gegebenen Symbole und
für die gegebenen Größen
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, 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)
[ ]: einfügen.▶ drücken.