1.6.B
Gegeben
Symbole:
Größen:
Berechnen Sie die Lagerreaktionen und die Stabkräfte. Gehen Sie wie folgt vor.
a) Geometrie
Berechnen Sie \(\alpha, \beta, \gamma\). Und zeigen Sie, dass \(h = a \tfrac{\sqrt3}{2}.\)
b) Lagerreaktionen
Berechnen Sie die Lagerreaktionen
für die gegebenen Symbole und
für die gegebenen Größen - und in \(\mathrm{N}\) (Newton) gerundet auf Rundestellenwert \(0{,}01\).
Lösung für Symbole und Größen:Lösung
c) Stäbe 3 und 4
Berechnen Sie die Stabkräfte \(S_3\) und \(S_4\). Und zwar für die gegebenen Größen und in \(\mathrm{N}\) (Newton) gerundet auf Rundestellenwert \(0{,}01\).
d) Stäbe 1 und 2
Berechnen Sie die Stabkräfte \(S_1, S_2\) durch Knotenschnitt bei D. Und zwar für die gegebenen Größen und in \(\mathrm{N}\) (Newton) und gerundet auf Rundestellenwert \(0{,}01\).
e) Stäbe 5 und 7
Schneiden Sie durch die Stäbe 5, 6 und 7 (Ritterschnitt), und betrachten Sie das untere Teilsystem. Verwenden Sie Moment-Gleichgewichtsbedingungen. Berechnen Sie für die gegebenen Größen - und in \(\mathrm{N}\) (Newton) gerundet auf Rundestellenwert \(0{,}01\):
die Stabkraft \(S_5\) und
die Stabkraft \(S_7\).
f) Stab 6
Berechnen Sie \(S_6\) durch Knotenschnitt bei A. Und zwar für die gegebenen Größen und in \(\mathrm{N}\) (Newton) und gerundet auf Rundestellenwert \(0{,}01\).
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
# ---
prec = 2
a, F = symbols("a, F")
sub_list=[
(a, 2 *m),
(F, 1 *N),
]
# sub_list=[
# (a, 1 *m),
# (F, 3 *N),
# ]
c, s = cos(30 *deg), sin(30 *deg)
Av, Bh, Bv = symbols("Av, Bh, Bv")
h=sqrt(3)*a/2
eq1 = Eq( 0, Bh + 2*F)
eq2 = Eq( 0, Av + Bv - F )
eq3 = Eq( 0, a*Av + (a+h)*2*F + a*F)
eqs = [eq1, eq2, eq3]
sol = solve(eqs, [Av, Bh, Bv])
Av = sol[Av]
Bh = sol[Bh]
Bv = sol[Bv]
pprint("\nAv / N:")
printout(Av, unit=N, prec=prec, sub_list=sub_list)
pprint("\nBh / N:")
printout(Bh, unit=N, prec=prec, sub_list=sub_list)
pprint("\nBv / N:")
printout(Bv, unit=N, prec=prec, sub_list=sub_list)
S1, S2, S3 = symbols("S1, S2, S3")
eq1 = Eq( 0, S3*c - F )
eq2 = Eq( 0, S1*s +S2*c +S3*c )
eq3 = Eq( 0, -S1*c -S2*s +S3*s + 2*F)
eqs = [eq1, eq2, eq3]
sol = solve(eqs, [S1, S2, S3])
S1, S2, S3 = sol[S1], sol[S2], sol[S3]
S4 = -F/sqrt(3)
S5 = - Bv
S7 = Bh - Av
S6 = - 2/sqrt(2) * (Av + S7)
pprint("\nS1, S2, ..., S7 / N:")
i = 1
for S in [S1, S2, S3, S4, S5, S6, S7]:
pprint(i)
printout(S, unit=N, prec=prec, sub_list=sub_list)
i+=1
pprint("\n")
[ ]: einfügen.▶ drücken.