Tags: Web-App

2.2.E

Gegeben

../../../_images/2.2.E.png

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:

\begin{align*} \begin{bmatrix} T_{yy} & T_{yz} \\ T_{yz} & T_{zz} \end{bmatrix} &= \begin{bmatrix} \frac{I_{yy}}{\mathrm{cm}^4} & \frac{I_{yz}}{\mathrm{cm}^4} \\ \frac{I_{yz}}{\mathrm{cm}^4} & \frac{I_{zz}}{\mathrm{cm}^4} \end{bmatrix} \\ &= \begin{bmatrix} 864 & 0 \\ 0 & 216 \end{bmatrix} \end{align*}

a) Kreis

Zeichnen Sie den Mohr’schen Kreis.

Lösung

Tensor Transformation

Verwendung der \((y,z)\)-Ebene statt der \((x,y)\)-Ebene wie beschrieben in Transformation von Tensor-Komponenten.

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\)

Lösung

\(\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\)

SymPy

Source Code eines Programms dazu:

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)

Programm ausführen? Dazu:

  1. Copy: Source Code in die Zwischenablage kopieren.

  2. Paste: Source Code ins Eingabefeld hinter [ ]: einfügen.

  3. Play: Knopf ▶ drücken.