1.5.F
Gegeben
Symbole:
Größen:
Berechnen Sie die Lagerreaktionen. Gehen Sie wie folgt vor:
a) Freischneiden
Schneiden Sie an den Grenzen zwischen Balken und Lagern. Und tragen Sie Schnittkräfte ein. Geben Sie drei Gleichgewichtsbedingungen an, aus denen Sie die unbekannten Lagerreaktionen berechnen könnten.
b) Lagerreaktionen
Berechnen Sie die unbekannten Lagerreaktionen
für die gegebenen Symbole und
für die gegebenen Größen.
Lösung: für die gegebenen Symbole: für die gegebenen 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, 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
one = S(1)
two = S(2)
a, F = symbols("a, F")
sub_list=[
( a, 1 *m ),
( F, 1 *N ) ,
]
sub_list=[
( a, 1 *m ),
( F, 2 *N ),
]
Ah, Av, Bv = symbols("Ah, Av, Bv")
# Shortcuts:
ca = cos(45*deg)
sa = sin(45*deg)
Fv = sqrt(2)*F*sa
# Equilibrium conditions:
eq1 = Eq(0, Ah)
eq2 = Eq(0, Av + Bv - two*F - 2*Fv)
eq3 = Eq(0, 2*a*Av - 2*a*Bv)
eqns = [eq1, eq2, eq3]
unks = [Ah, Av, Bv]
# Solve:
sol = solve(eqns, unks)
for x in sol:
pprint("\n")
pprint(x)
pprint(sol[x])
[ ]: einfügen.▶ drücken.