2.1.E
Berechnen Sie die Lagerreaktionen bei A und B. Gehen Sie wie folgt vor:
a) Gleichgewicht
Schneiden Sie die Lager frei, um die Lagerreaktionen sichtbar zu machen. Geben Sie drei Gleichgewichtsbedingungen an. Definieren Sie dabei eine Lagerkraft \(B\) als eine Kraft, die bei B nach links gegen den Stab drückt.
b) Stab-Elastizität
Geben Sie eine Gleichung an, die den Zusammenhang herstellt zwischen:
der horizontalen Verschiebung \(u\) der Balkenecke und
der Lagerkraft \(B\).
Zeigen Sie, dass:
Sie haben damit insgesamt vier Gleichungen für \(A_h, A_v, M_A, B\) bei noch unbekannter Verschiebung \(u\).
c) Balken-Elastizität
Zeigen Sie, dass:
Einsetzen in Biege-Differentialgleichung \(M(x) = - EI w''(x)\) liefert: Wegen der Einspannung oben gelten die Randbedingungen: sodass: Und damit ist: An der Balkenecke ist darum \(u=w(l)\):Lösung
d) Lagerreaktionen und Verschiebung
Berechnen Sie:
alle Lagerreaktionen in \(\mathrm{N}\) (Newton) bzw. in \(\mathrm{Nm}\) (Newtonmeter) und
die Verschiebung \(u\) in \(\mathrm{mm}\) (Millimeter)
für die gegebenen Größen:
Zeigen Sie, dass für diese Größen gilt:
Gleichungssystem bestehend aus fünf Gleichungen für die fünf Unbekannten \(B, u, A_h, A_v, M_A\): Lösung: Einsetzen der gegebenen Größen ergibt die Behauptung.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, exp
# Units:
N = kg*m/s**2
k, M, G = 10**3, 10**6, 10**9
kN = k*N
MN = k*kN
Pa = N/m**2
MPa, GPa = M*Pa, G*Pa
deg = pi/180
half = S(1)/2
mm = m/1000
# 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
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
F, l, EA, EI = symbols('F, l, EA, EI')
sub_list=[
( F , 1 *kN ),
( l , 1 *m ),
( EA , 2000 *MN ),
( EI , 1000 *MN * m*m ),
]
B, u, Ah, Av, MA = symbols('B, u, Ah, Av, MA')
unks = [B, u, Ah, Av, MA]
l3 = l**3
eqns = [
Eq( Ah , -B ),
Eq( Av , -F ),
Eq( MA , -F*l + B*l ),
Eq( u , B*l/EA ),
Eq( u , -( -half*F*l3 + B*l3/3 )/EI ),
]
# Solve equations:
sol = solve(eqns, unks)
pprint(sol)
B, u, Ah, Av, MA = sol[B], sol[u], sol[Ah], sol[Av], sol[MA]
pprint("\n(B, Ah, Av) / N:")
for R in B, Ah, Av:
printout(R, unit=N, prec="nil", sub_list=sub_list)
pprint("\nMA / Nm:")
printout(MA, unit=N*m, prec="nil", sub_list=sub_list)
pprint("\nu / mm:")
printout(u, unit=mm, prec="nil", sub_list=sub_list)
[ ]: einfügen.▶ drücken.