2.4.2.K
a) Biegemoment an den Rändern
Zeigen Sie mit geeigneten Freischnitten, dass für das Schnittmoment \(M(x)\) gilt:
b) Differentialgleichungen
Aufgrund der Differentialgleichungen \(Q'=-q\) und \(M'=Q\) gilt:
(1a) und (1b) sind Aussagen über die Randwerte von \(M(x)\).
Damit lassen sich die Integrationskonstanten \(C_1\) und \(C_2\) berechnen.
Zeigen Sie, dass:
Die Randbedingungen (1a) und (1b) sind die Aussagen: Gleichung (2) ausgewertet bei \(x=0\) und bei \(x=a\) ergibt die Aussagen: Gleichsetzen liefert ein lin. Gleichungssystem bestehend aus zwei Gleichungen zur Berechnung von \(C_1\) und \(C_2\). Lösung:Lösung
c) Gleichgewichtsbedingungen
Einsetzen der Konstanten in (2) liefert:
Probe durch Einsetzen von \(x=0\) und \(x=a\) in diese Funktionsgleichung:
\(x=0\): \(M(0) = -\tfrac12 qa^2 - M_B - a F_B\)
\(x=a\): \(M(a) = - M_B\)
Berechnen Sie \(M(x)\) jetzt auf eine zweite Art: Nämlich durch Freischneiden bei \(x\) und mit den Gleichgewichtsbedingungen.
d) Querverschiebung w
Berechnen Sie die Querverschiebung \(w\). Zeigen Sie, dass:
mit der Abkürzung \(\xi = \tfrac x a\).
Zeigen Sie auch, dass am rechten Rand bei \(\xi=1\) gilt:
e) Funktionsgraph der w-Funktion
Für diese gegebenen Größen:
Zeichnen Sie \(w\) in \(\mathrm{mm}\) (Millimeter) über \(x\) in \(\mathrm{m}\) (Meter) , und zwar:
für verschiedene \(0 \, \tfrac{\mathrm{kN}}{\mathrm{m}} < q < 10 \, \tfrac{\mathrm{kN}}{\mathrm{m}}.\)
für verschiedene \(0 < F_B <10\,\mathrm{kN}\) und
für verschiedene \(0 < M_B <20\,\mathrm{kN}\) und
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, simplify
from sympy import integrate
# 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
cm = m/100
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
# 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
xi = symbols("xi")
a, q, FB, MB, EI = symbols("a, q, Fʙ, Mʙ, EI ")
# Boundary values:
M0 = -half*q*a*a -MB -a*FB
Ma = -MB
# symbolsiables:
x = symbols("x")
C1, C2 = symbols("C1, C2")
# Function M(x) unknown:
M = -half*q*x*x + C1*x + C2
# Find C1, C2:
eq1 = Eq(M.subs(x,0),M0)
eq2 = Eq(M.subs(x,a),Ma)
sol = solve([eq1, eq2],[C1, C2])
C1s, C2s = sol[C1], sol[C2]
# M(x) known:
M = M.subs({C1:C1s, C2:C2s})
M = M.simplify()
pprint("M(x):")
pprint(M)
pprint("\n\nM(x) (alternative):")
M_alt = -FB*(a-x) -MB -half*q*(a-x)**2
M_alt = M_alt.simplify()
pprint(M_alt)
C3, C4 = symbols("C3, C4")
# w'' = - M / EI
wp = - integrate(M / EI, (x, 0, x)) + C3
w = integrate(wp, (x, 0, x)) + C4
# Find C3, C4:
eq1 = Eq( w.subs(x,0), 0)
eq2 = Eq(wp.subs(x,0), 0)
sol = solve([eq1, eq2],[C3, C4])
C3s, C4s = sol[C3], sol[C4]
pprint("\nEI w:")
w = w.subs({C3:C3s, C4:C4s})
tmp = w
tmp = tmp*EI
tmp = tmp.expand()
tmp = tmp.subs({x: xi*a, })
tmp = tmp.collect(q*a**4)
tmp = tmp.collect(FB*a**3)
tmp = tmp.collect(MB*a**2)
EIw = tmp
pprint(tmp)
sub_list = [
(a, 3 *m),
(EI, 200 *GPa * 65*10**6 *mm**4),
]
q_, FB_, MB_ = 10 *kN/m, 10 *kN, 20 *kN*m
pprint("\nEI w / mm at x = 3 m:")
tmp = EIw
tmp = tmp.subs(xi,1)
pprint(tmp)
pprint("\nAt x = 3 m:")
tmp /= EI
w = tmp.subs(sub_list)
pprint("\nwq / mm:")
tmp = w.subs([(q, q_), (FB, 0), (MB, 0)])
printout(tmp, unit=mm, prec=2, sub_list=[])
pprint("\nwFB / mm:")
tmp = w.subs([(q, 0), (FB, FB_), (MB, 0)])
printout(tmp, unit=mm, prec=2, sub_list=[])
pprint("\nwMB / mm:")
tmp = w.subs([(q, 0), (FB, 0), (MB, MB_)])
printout(tmp, unit=mm, prec=2, sub_list=[])
[ ]: einfügen.▶ drücken.