2.3.A
Gegeben
Undeformierte Lage (blau) und deformierte Lage (rot).
Symbole:
Eine elastische Scheibe mit Materialwerten \((E, \nu)\) und Dicke \(t\) ist zwischen zwei starren Wänden platziert.
Ohne Belastung ist die Scheibe spannungsfrei und passt genau zwischen die beiden Wände.
Von dieser Lage ausgehend, wird die Scheibe an ihren Seitenflächen \(A = h t\) belastet durch die Kraft \(F\).
Es gibt keine Reibung und keine Beschleunigungen.
Die Kräfte verteilen sich gleichmäßig auf die Seitenflächen.
Jedes Teilchen erleidet denselben Spannungs- und Verzerrungszustand (homogene Beanspruchung).
Es gibt keine Spannung in z-Richtung (ebener Spannungszustand).
a) Gegebene Komponenten
Notieren oder berechnen Sie:
Laut Aufgabenstellung:Lösung
b) Gesuchte Komponenten
Verwenden Sie das Hookesche Gesetz in 3D und die folgenden gegebenen Größen:
Berechnen Sie:
die Verzerrungstensor-Komponenten \(\varepsilon_{xx}\) und \(\varepsilon_{zz}\). Runden Sie auf Rundestellenwert \(0{,}00001\). Und zeigen Sie, dass:
\[\begin{split}\varepsilon_{xx}&\stackrel{\scriptscriptstyle{0{,}00001}}{\approx} -0{,}00469 \\ \varepsilon_{zz}&\stackrel{\scriptscriptstyle{0{,}00001}}{\approx} 0{,}00156\end{split}\]die Spannungstensor-Komponente \(\sigma_{yy}\) in \(\mathrm{MPa}\) (Megapascal). Zeigen Sie, dass:
\[\begin{split}\sigma_{yy} = -250 \, \mathrm{MPa}\\\end{split}\]
Unbekannt: \(\varepsilon_{xx}, \varepsilon_{zz}, \sigma_{yy}\). Hookesches Gesetz ohne Wärmedehnung (Verzerrung aufgrund Temperaturzuwachs): Die ersten drei Zeilen dieses Gleichungssystems lauten: Einsetzen der Ergebnisse von oben führt auf drei Gleichungen zur Berechnung der drei Unbekannten \(\sigma_{yy}, \varepsilon_{xx}, \varepsilon_{zz}\). Lösung: Einsetzen der gegebenen Größen liefert:Lösung
Details
c) Vergleichsspannung
Sei die Mises-Vergleichsspannung:
Berechnen Sie \(\sigma_{V}\) in \(\mathrm{MPa}\) (Megapascal). Runden Sie auf Rundestellenwert \(1\), und zeigen Sie, dass:
Die einzigen Von null verschiedenen Spannungstensor-Komponenten sind: Einsetzen 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 shape, eye, sympify
# 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
# ---
F = symbols("F")
h, t = symbols("h, t")
E, nu = symbols("E, nu")
# Derived symbols:
A = h*t
# Mises:
def get_3d(T):
T = T.row_insert(2,Matrix([[0,0]]))
T = T.col_insert(2,Matrix([[0],[0],[0]]))
return T
def get_Mises(T):
"""
https://en.wikipedia.org/wiki/Von_Mises_yield_criterion
"""
if shape(T)==(2,2):
T = get_3d(T)
assert shape(T) == (3,3)
tr = T.trace()
id = eye(3)
Tdev = T - tr/3*id
tmp = Tdev.norm()
tmp *= sqrt(sympify(3)/2)
return tmp
# Symbols:
exx, eyy, ezz = symbols("εxx, εyy, εzz")
sxx, syy, szz = symbols("σxx, σyy, σzz")
# Unknowns:
unks = [syy, exx, ezz]
# General equations / Hooke's Law:
eq1 = Eq( exx, ( sxx - nu * (syy + szz) ) / E )
eq2 = Eq( eyy, ( syy - nu * (sxx + szz) ) / E )
eq3 = Eq( ezz, ( szz - nu * (sxx + syy) ) / E )
# Using given quantities:
sxx_F = - F/A
sub_list=[
(sxx, sxx_F),
(szz, 0),
(eyy, 0),
]
eq1 = eq1.subs(sub_list)
eq2 = eq2.subs(sub_list)
eq3 = eq3.subs(sub_list)
eqns = [eq1, eq2, eq3]
sol = solve(eqns, unks)
pprint(sol)
sub_list = [
( F, 10 *kN ),
( h, 10 *mm ),
( t, 1 *mm ),
( E, 200 *GPa ),
( nu, S(25)/100 ),
]
syy = sol[syy].subs(sub_list)
exx = sol[exx].subs(sub_list)
ezz = sol[ezz].subs(sub_list)
pprint("\nεxx:")
tmp = exx
pprint(tmp)
# exit()
tmp = iso_round(tmp, 5)
pprint(tmp)
pprint("\nεzz:")
tmp = ezz
pprint(tmp)
tmp = iso_round(tmp, 5)
pprint(tmp)
pprint("\nσyy / MPa:")
tmp = syy / MPa
pprint(tmp)
pprint("\nStress Tensor / MPa:")
(Txx,Txy,Txz,Tyy,Tyz,Tzz) = (0,0,0,0,0,0)
Txx = sxx_F/MPa
Tyy = syy/MPa
T = Matrix([
[Txx, Txy, Txz],
[Txy ,Tyy, Tyz],
[Txz ,Tyz, Tzz],
])
T = T.subs(sub_list)
pprint(T)
pprint("\nMises Equivalent Stress / MPa:")
tmp = get_Mises(T)
tmp = iso_round(tmp, 0)
pprint(tmp)
[ ]: einfügen.▶ drücken.