1.6.N
a) Geometrie
Zeigen Sie, dass:
Pythagoras: Ebenso wird gezeigt:Lösung
b) Freikörperbilder
Schneiden Sie frei, sodass folgende Kräfte sichtbar werden:
die Lagerreaktionen bei A und B
die Gelenkkräfte bei G und
die drei Stabkräfte
Zeichnen Sie drei Freikörperbilder, in denen diese Kräfte sichtbar sind.
Freischnitte, mit denen alle Lagerreaktionen, Gelenkkräfte und Stabkräfte berechnet werden können. Alternativ lassen sich auch die Lagerreaktionen vorab berechnen an einem Freikörperbild des Gesamtsystems.Lösung
c) Gleichgewichtsbedingungen
Verwenden Sie die Gleichgewichtsbedingungen, um ein Gleichungssystem aufzustellen, was aus acht Gleichungen für die acht Unbekannten (Lagerreaktionen, Gelenkkräfte, Stabkräfte) besteht.
d) Lösung
Lösen Sie das lineare Gleichungssystem. D.h. berechnen Sie die Unbekannten abhängig von den gegebenen Symbolen.
Lösung:Lösung
e) Ergebnisse für Größen
Berechnen Sie die drei Stabkräfte für folgende Größen, und zwar gerundet auf Rundestellenwert \(0{,}1\!:\)
Einsetzen liefert: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, 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:
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
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, 1 *m ),
( q, 2 *N/m ),
]
F1 = 2*q*a
F2 = q*a
R = 2*q*a
Av, Bh, Bv, Gh, Gv, S1, S2, S3 = \
symbols("Av, Bh, Bv, Gh, Gv, S1, S2, S3")
ca = 2/sqrt(5)
sa = 1/sqrt(5)
cb = 1/sqrt(2)
sb = 1/sqrt(2)
# 1:
e1 = Eq( S1*ca, Gh )
e2 = Eq( Av + Gv, F1 + S1*sa )
e3 = Eq( a*Av, a*Gv )
# 2:
e4 = Eq( Gh + Bh, S3*cb )
e5 = Eq( Bv, R + Gv + S2 + S3*sb )
e6 = Eq( 0, a*(R+S2) + 2*a*Gv)
# 3:
e7 = Eq( S1*ca, S3*cb )
e8 = Eq( F2, S2 + S1*sa + S3*sb )
eqs=[e1, e2, e3, e4, e5, e6, e7, e8]
unks = [Av, Bh, Bv, Gh, Gv, S1, S2, S3]
sol = solve(eqs, unks)
printout_sol(sol, unit=1, unit_str=None, prec="nil", sub_list=[])
printout_sol(sol, unit=N, unit_str="N", prec="nil", sub_list=sub_list)
[ ]: einfügen.▶ drücken.