2.2.E
Gegeben
Größen:
Die \((y,z)\)-Komponenten des Flächenträgheitstensors. Links unten: Passive Transformation. Rechts unten: Aktive Transformation.
Verwenden Sie als dimensionslose Tensor-Komponenten die Flächenträgheitstensor-Komponenten in \(\mathrm{cm}^4\) (Zentimeter hoch 4), also:
a) Kreis
Zeichnen Sie den Mohr’schen Kreis.
Verwendung der \((y,z)\)-Ebene statt der \((x,y)\)-Ebene wie beschrieben in Transformation von Tensor-Komponenten.Lösung
b) Passive und Aktive Transformation
Füllen Sie die Tabellen aus. Und zwar mit Zahlen gerundet auf Rundestellenwert \(0{,}01\).
\(\varphi\) |
\(T_{\bar y \bar y}\) |
\(T_{\bar y \bar z}\) |
\(T_{\bar z \bar z}\) |
|---|---|---|---|
\(-20^\circ\) |
|||
\(0^\circ\) |
|||
\(20^\circ\) |
|||
\(90^\circ\) |
|||
\(180^\circ\) |
\(\alpha\) |
\(T'_{yy}\) |
\(T'_{yz}\) |
\(T'_{zz}\) |
|---|---|---|---|
\(-20^\circ\) |
|||
\(0^\circ\) |
|||
\(20^\circ\) |
|||
\(90^\circ\) |
|||
\(180^\circ\) |
\(\varphi\) \(T_{\bar y \bar y}\) \(T_{\bar y \bar z}\) \(T_{\bar z \bar z}\) \(-20^\circ\) \(788{,}2\) \(208{,}26\) \(291{,}8\) \(0^\circ\) \(864\) \(0\) \(216\) \(20^\circ\) \(788{,}2\) \(-208{,}26\) \(291{,}8\) \(90^\circ\) \(216\) \(0\) \(864\) \(180^\circ\) \(864\) \(0\) \(216\) \(\alpha\) \(T'_{yy}\) \(T'_{yz}\) \(T'_{zz}\) \(-20^\circ\) \(788{,}2\) \(-208{,}26\) \(291{,}8\) \(0^\circ\) \(864\) \(0\) \(216\) \(20^\circ\) \(788{,}2\) \(208{,}26\) \(291{,}8\) \(90^\circ\) \(216\) \(0\) \(864\) \(180^\circ\) \(864\) \(0\) \(216\)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
# ---
def get_R(angle, passive=True):
c, s = cos(angle), sin(angle)
R = Matrix([[c, s],[-s, c]])
if passive == True:
pprint("\nPassive Transformation")
pprint("φ:")
tmp = angle
tmp /= deg
tmp = iso_round(tmp,prec)
pprint(tmp)
return R
else:
pprint("\nActive Transformation")
pprint("α:")
tmp = angle
tmp /= deg
tmp = iso_round(tmp,prec)
pprint(tmp)
return R.transpose()
Tbyy, Tbyz, Tbzz = symbols("Tȳȳ, Tȳz̄, Tz̄z̄")
Tpyy, Tpyz, Tpzz = symbols("T'yy, T'yz, T'zz")
Tb = Matrix([
[Tbyy, Tbyz],
[Tbyz, Tbzz]
])
Tp = Matrix([
[Tpyy, Tpyz],
[Tpyz, Tpzz]
])
# ---
prec = 2
b, h = 6 *cm, 12 *cm
Iyy = b*h**3/12
Izz = h*b**3/12
Tyy, Tzz = Iyy / cm**4, Izz / cm**4
T = Matrix([[Tyy, 0], [0, Tzz]])
pprint(T)
phi = -20 * deg
R = get_R(phi, passive=True)
pprint(Tb)
tmp = R*T*R.transpose()
tmp = iso_round(tmp, prec)
pprint(tmp)
alpha = -20 * deg
R = get_R(alpha, passive=False)
pprint(Tp)
tmp = R*T*R.transpose()
tmp = iso_round(tmp, prec)
pprint(tmp)
[ ]: einfügen.▶ drücken.