2.1.P
Gegeben
Symbole:
\(l\): Länge des unbelasteten und undeformierten Stabs.
\(E, A, \rho\): E-Modul, Querschnittsfläche und Massendichte.
Berechnen Sie die Verschiebung \(u(l)\) am Stabende. Gehen Sie wie folgt vor:
a) Gleichgewicht
Schneiden Sie frei, sodass die von \(x\) abhängige Stabkraft \(S\) sichtbar wird. Und geben Sie \(S\) abhängig von den gegebenen Symbolen und der Position \(x\) an. Zeigen Sie, dass:
b) Kinematik und Elastizität
Sei \(\varepsilon= \tfrac{{\mathsf d}\,u}{{\mathsf d}\,x}\) die Dehnung und \(\sigma=\tfrac S A=E\varepsilon\) die Spannung, sodass:
Zeigen Sie, dass:
bzw. mit der Masse \(m=\rho A l\):
Einsetzen von \(\sigma =\tfrac S A\) mit dem zuvor berechneten \(S\) aus (1) führt auf: Integration führt auf:Lösung
c) Verschiebung
Berechnen Sie \(u(l)\) in \(\mathrm{m}\) (Meter) für die folgenden Größen:
Runden Sie auf Rundestellenwert \(0{,}001\), und zeigen Sie, dass:
Einsetzen der gegebenen Größen führt auf:Lösung
d) Masse
Für diese Größen: Berechnen Sie die Masse \(m\) des Stabs in \(\mathrm{kg}\) (Kilogramm) und gerundet auf Rundestellenwert \(0{,}1\). Zeigen Sie, dass:
Lösung
e) Spannung
Für diese Größen: Berechnen Sie die größte auftretende Zugspannung \(\sigma\) in \(\mathrm{MPa}\) (Megapascal) und gerundet auf Rundestellenwert \(0{,}1\). Zeigen Sie, dass:
Einsetzen von \(x=0\) in (1) sowie \(S = \sigma A\) 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, 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
# ---
g, l, F, E, A, rho = symbols("g, l, F, E, A, rho")
sub_list = [
( g, 10 *m/s**2 ),
( l, 1000 *m ),
( F, 1000 *N ),
( E, 210 *GPa ),
( A, 10 *mm**2 ),
( rho, 7850 *kg/m**3 ),
]
x = symbols("x")
S = F + rho*A*g*(l-x)
sig = S/A
pprint("\nul:")
ul = 1/E * integrate(sig, (x, 0, l))
printout(ul, unit=1, prec="nil", sub_list=[])
pprint("\nul / m:")
printout(ul, unit=m, prec=3, sub_list=sub_list)
pprint("\nm / kg:")
mass = rho*A*l
printout(mass, unit=kg, prec=1, sub_list=sub_list)
pprint("\nσ / MPa:")
sig0 = sig.subs(x,0)
printout(sig0, unit=MPa, prec=1, sub_list=sub_list)
[ ]: einfügen.▶ drücken.