2.1.J
Gegeben
Symbole:
\(l\): Länge des undeformierten Stabs
\(F\): Von außen aufgebrachte Kraft
\(E\): E-Modul
\(A\): Querschnittsfläche.
Gesucht:
\(u\): Verschiebung des rechten Stab-Endes nach rechts.
\(\Delta l\): (Genäherte) Stabverlängerung.
\(S\): Stabkraft.
Hinter jeder nummerierten Gleichung in Klammern: Gleichungsnummer und darin enthaltene neue Unbekannte. Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf Vollständige Lösung mit 2·k + 2·s + r = 9 Gleichungen und Unbekannten auf einer Seite
SymPy
from sympy import symbols, Matrix, Eq, solve, pprint
# Given Symbols:
l, F, EA = symbols("l, F, EA")
# Unknowns:
S, dl, u1x, u1y, u2x, u2y, R1x, R1y, R2y = symbols("S, dl, u1x, u1y, u2x, u2y, R1x, R1y, R2y")
# Nodal Displacements:
u1 = Matrix([u1x, u1y])
u2 = Matrix([u2x, u2y])
# Nodal External Forces:
F1 = Matrix([R1x, R1y])
F2 = Matrix([F, R2y])
e = Matrix([1, 0])
Zero = Matrix([0, 0])
eq_1 = Eq(S, EA * dl/l )
eq_2 = Eq(dl, e.dot(u2 - u1))
eq_34 = Eq(F1 + S*e, Zero)
eq_56 = Eq(F2 - S*e, Zero)
eq_7 = Eq(u1x, 0)
eq_8 = Eq(u1y, 0)
eq_9 = Eq(u2y, 0)
eqns = [eq_1, eq_2, eq_34, eq_56, eq_7, eq_8, eq_9]
unks = [S, dl, u1x, u1y, u2x, u2y, R1x, R1y, R2y]
sol = solve(eqns, unks)
pprint(sol)
[ ]: einfügen.▶ drücken.
Hinter jeder nummerierten Gleichung in Klammern: Gleichungsnummer und darin enthaltene neue Unbekannte.Unvollständige Lösung mit 2·k + 2·s - r = 3 Gleichungen und Unbekannten auf einer Seite
a) Gleichgewicht
Schneiden Sie den rechten Knoten frei, sodass die Stabkraft \(S\) sichtbar wird. Notieren Sie eine Gleichgewichtsbedingung, in der \(S\) als einzige Unbekannte erscheint.
b) Kinematik: Einheitsvektor und Stabverlängerung
Berechnen Sie die \((x,y)\)-Komponenten eines nach rechts zeigenden Einheitsvektors \(\boldsymbol e\):
Berechnen Sie damit die (genäherte) Stabverlängerung \(\Delta l\). Zeigen Sie, dass:
\((x,y)\)-Komponenten des Einheitsvektors und (genäherte) Stabverlängerung.Lösung
c) Elastizität
Verwenden Sie das Hookesche Gesetz. Drücken Sie damit \(S\) aus abhängig von \(\Delta l\).
Lösung
d) Gleichungssystem und Lösung für Symbole
Berechnen Sie \(S, \Delta l, u\) für die gegebenen Symbole.
Lösung
e) Lösung für Größen
Berechnen Sie:
\(u\) in \(\mathrm{mm}\) (Millimeter) und gerundet auf Rundestellenwert \(0{,}0001\) für ein Gummiband:
\begin{align*} l &= 10 \, \mathrm{cm} \\ F &= 2{,}5 \, \mathrm{N} \\ E &= 0{,}05 \, \mathrm{GPa} \\ A &= 10 \,\mathrm{cm} \cdot 0{,}06 \, \mathrm{mm} \end{align*}\(u\) in \(\mathrm{m}\) (Meter) und gerundet auf Rundestellenwert \(0{,}0001\) für ein Stahlseil:
\[\begin{split}l &= 1000 \, \mathrm{m} \\ F &= 10 \, \mathrm{kN} \\ E &= 200 \, \mathrm{GPa} \\ A &= 20 \, \mathrm{mm}^2\end{split}\]
Einsetzen der gegebenen Größen in die Formel für die Verlängerung \(u\) liefert: Gummiband: Stahlseil:Lösung
f) Verzerrung und Spannung
Berechnen Sie die Verzerrung \(\varepsilon\) gerundet auf Rundestellenwert \(0{,}0001\):
und die Zugspannung \(\sigma\) in \(\mathrm{MPa}\) (Megapascal) gerundet auf Rundestellenwert \(0{,}0001\):
für das Gummiband und
für das Stahlseil.
Gummiband: Stahlseil: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
# 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
l, F, E, A = symbols("l, F, E, A")
u, dl, S = symbols("u, dl, S")
sub_list_rubber = [
( l, 10 *cm ),
( F, 25*N/10 ),
( E, 5*GPa/100 ),
( A, 10 *cm *0.06*mm ),
]
sub_list_steel = [
( l, 1000 *m ),
( F, 10 *kN ),
( E, 200 *GPa ),
( A, 20 *mm**2 )
]
eq1 = Eq(dl, u)
eq2 = Eq(S, F)
eq3 = Eq(S, E*A/l*dl)
sol = solve([eq1, eq2, eq3], [u, dl, S])
pprint(sol)
u = sol[u]
pprint("\nDisplacement:")
pprint("Rubber:")
pprint("u / mm:")
printout(u, unit=mm, prec=4, sub_list=sub_list_rubber)
pprint("\nSteel:")
pprint("u / m:")
printout(u, unit=m, prec=4, sub_list=sub_list_steel)
pprint("\nStrain and Stress:")
pprint("Rubber:")
pprint("eps / 1:")
printout(u/l, unit=1, prec=4, sub_list=sub_list_rubber)
pprint("\nsig / MPa:")
printout(E*u/l, unit=MPa, prec=4, sub_list=sub_list_rubber)
pprint("\nSteel:")
pprint("eps / 1:")
printout(u/l, unit=1, prec=4, sub_list=sub_list_steel)
pprint("\nsig / MPa:")
printout(E*u/l, unit=MPa, prec=4, sub_list=sub_list_steel)
[ ]: einfügen.▶ drücken.