2.2.E

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

Gegebene 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*}

Untersuchen Sie die Struktur. Gehen Sie wie folgt vor.

a) Mohrscher Kreis

Zeichnen Sie den Mohrschen 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

Nachfolgend ein Programm, dass Sie ausführen können:

  • Auf dem PC z.B. mit Anaconda.

  • Im Browser (online) in drei Schritten:

    1. Copy: Source Code in die Zwischenablage kopieren.

    2. Paste: Source Code als Python-Notebook einfügen z.B. auf:

    3. Play: Ausführen.


# -*- coding: utf-8 -*-
from sympy.physics.units import *
from sympy import *

deg = pi/180

# Rounding:
import decimal
from decimal import Decimal as DX
from copy import deepcopy
def iso_round(obj, pv,
    rounding=decimal.ROUND_HALF_EVEN):
    import sympy
    """
    Rounding acc. to DIN EN ISO 80000-1:2013-08
    place value = Rundestellenwert
    """
    assert pv in set([
        # place value   #  round to:
        "1",              #  round to integer
        "0.1",            #  1st digit after decimal
        "0.01",           #  2nd
        "0.001",          #  3rd
        "0.0001",         #  4th
        "0.00001",        #  5th
        "0.000001",       #  6th
        "0.0000001",      #  7th
        "0.00000001",     #  8th
        "0.000000001",    #  9th
        "0.0000000001",   # 10th
        ])
    objc = deepcopy(obj)
    try:
        tmp = DX(str(float(objc)))
        objc = tmp.quantize(DX(pv), rounding=rounding)
    except:
        for i in range(len(objc)):
            tmp = DX(str(float(objc[i])))
            objc[i] = tmp.quantize(DX(pv), rounding=rounding)
    return objc

# ---

prec = "0.1"

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


# For output only:
Tbyy, Tbyz, Tbzz = var("Ty\u0304y\u0304, Ty\u0304z\u0304, Tz\u0304z\u0304")
Tpyy, Tpyz, Tpzz = var("T'yy, T'yz, T'zz")
Tb = Matrix([[Tbyy, Tbyz],[Tbyz, Tbzz]])
Tp = Matrix([[Tpyy, Tpyz],[Tpyz, Tpzz]])

def round(x):
	return iso_round(x,prec)

# ---

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 = 5 * deg
R = get_R(phi, passive=True)
pprint(Tb)
tmp = R*T*R.transpose()
tmp = tmp.applyfunc(round)
pprint(tmp)

alpha = 5 * deg
R = get_R(alpha, passive=False)
pprint(Tp)
tmp = R*T*R.transpose()
tmp = tmp.applyfunc(round)
pprint(tmp)
⎡864   0 ⎤
⎢        ⎥
⎣ 0   216⎦
                      
Passive Transformation
φ:
5.0
⎡Tȳȳ  Tȳz̄⎤
⎢        ⎥
⎣Tȳz̄  Tz̄z̄⎦
⎡859.1  -56.3⎤
⎢            ⎥
⎣-56.3  220.9⎦
                     
Active Transformation
α:
5.0
⎡T'yy  T'yz⎤
⎢          ⎥
⎣T'yz  T'zz⎦
⎡859.1  56.3 ⎤
⎢            ⎥
⎣56.3   220.9⎦

Statt SymPy lieber anderes CAS (Computeralgebrasystem) verwenden? Eine Auswahl verschiedener CAS gibt es hier.