Stab-Element R3

R: Rod, 3: Drei Knoten

../../../_images/R3.png

3-Knoten-Stab-Element in 1D mit 3 Freiheitsgraden

Bezeichnungen

Die virtuelle äußere Arbeit \(\delta A_e\) ist gleich der virtuellen inneren Arbeit \(\delta A_i\).

\[\begin{split}\delta A_e &= \delta A_i \\ F_0 \delta u_0 + F_1 \delta u_1 + F_2 \delta u_2 + F \delta u_F + \int_{{\bar{x}}=0}^l n \, {\mathsf d}{\bar{x}} \, \delta u &= \int_{{\bar{x}}=0}^l E \epsilon\delta\varepsilon \, A {\mathsf d}{\bar{x}}\end{split}\]

für Stab mit:

  • \(A, l, {\bar{x}}\): Querschnittsfläche, Länge und Position

  • \(F_0, F_1, F_2\): Knoten-Lasten

  • \(n\): Verteilte Last, konstant über die Stablänge

  • \(u_0, u_1, u_2\): Knoten-Verschiebungen

  • \(\varepsilon\): Längs-Dehnung

Ansatzfunktionen

Lagrange-Polynome

Als Ansatzfunktionen, also zur Interpolation, werden folgende Lagrange-Polynome mit der Abkürzung \(\xi = \left[ \tfrac{\bar{x}}{l} \right]\) verwendet:

\begin{align} \label{eq-R3_L} N_0 &= 1 - 3 \left[ \tfrac{\bar{x}}{l} \right] + 2 \left[ \tfrac{\bar{x}}{l} \right]^2 \tag{L0}\\ &= 1 - 3 \xi + 2 \xi^2\\ N_1 &= 4 \left[ \tfrac{\bar{x}}{l} \right] - 4 \left[ \tfrac{\bar{x}}{l} \right]^2 \tag{L1}\\ &= 4 \xi - 4 \xi^2 \\ N_2 &= - 1 \left[ \tfrac{\bar{x}}{l} \right] + 2 \left[ \tfrac{\bar{x}}{l} \right]^2\tag{L2} \\ &= - 1 \xi + 2 \xi^2 \end{align}

Details

Definition von Ansatzfunktionen \((N_0, N_1, N_2)\) als Funktionen:

\[\begin{split}N_0 &= a_{0} + a_{1} \xi + a_{2} \xi^{2} \\ N_1 &= b_{0} + b_{1} \xi + b_{2} \xi^{2} \\ N_2 &= c_{0} + c_{1} \xi + c_{2} \xi^{2}\end{split}\]

mit den 9 Parametern \((a_0, a_1, a_2, b_0, b_1, b_2, c_0, c_1, c_2)\), die unter Verwendung folgender Randbedingungen berechnet werden:

\[\begin{split}N_0(\xi=0) &= 1 \\ N_0(\xi=\tfrac 1 2 ) &= 0 \\ N_0(\xi=1) &= 0 \\ \\ N_1(\xi=0) &= 0 \\ N_1(\xi=\tfrac 1 2 ) &= 1 \\ N_1(\xi=1) &= 0 \\ \\ N_2(\xi=0) &= 0 \\ N_2(\xi=\tfrac 1 2 ) &= 0 \\ N_2(\xi=1) &= 1\end{split}\]

Auswertung der 9 Randbedingungen ergibt die 9 Konstanten \((a_0,\ldots, c_2)\). Und diese Konstanten eingesetzt in die Ansatzfunktionen liefert die an die Randbedingungen angepassten Ansatzfunktionen (L0, L1, L2).

Ableitungen

\begin{align} \tfrac{\partial N_0}{\partial {\bar{x}}} := N_0' &= \tfrac{1}{l^{2}} \left(- 3 l + 4 {\bar{x}}\right) \\\ &= \tfrac{1}{l} \left(- 3 + 4 \left[ \tfrac{\bar{x}}{l} \right] \right) \tag{L0x} \\ \tfrac{\partial N_1}{\partial {\bar{x}}} := N_1' &= \tfrac{4}{l^{2}} \left(l - 2 {\bar{x}}\right) \\ &= \tfrac{4}{l} \left(1 - 2 \left[ \tfrac{\bar{x}}{l} \right] \right) \tag{L1x} \\ \tfrac{\partial N_2}{\partial {\bar{x}}} := N_2' &= \tfrac{1}{l^{2}} \left(- l + 4 {\bar{x}}\right) \\ &= \tfrac{1}{l} \left(- 1 + 4 \left[ \tfrac{\bar{x}}{l} \right] \right) \tag{L2x} \\ \end{align}

(Virtuelle) Verschiebung

Verschiebung und virtuelle Verschiebung werden interpoliert:

\[\begin{split}u &= N_0 u_0 + N_1 u_1 + N_2 u_2 \\ \delta u &= N_0 \delta u_0 + N_1 \delta u_1 + N_2 \delta u_2\end{split}\]

Und an der Position \(\xi = \xi_F\):

\[\begin{split}\delta u_F &= {N_0}|_{\xi_F} \delta u_0 + {N_1}|_{\xi_F} \delta u_1 + {N_2}|_{\xi_F} \delta u_2 \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \begin{bmatrix} {N_0}\\ {N_1}\\ {N_2} \end{bmatrix}_{\xi_F}\end{split}\]

(Virtuelle) Verzerrung

\begin{align} \varepsilon &= \tfrac{\partial u}{\partial {\bar{x}}} \\ &= N_0' u_0 + N_1' u_1 + N_2' u_2 \tag{e1}\\ \delta \varepsilon &= \tfrac{\delta \partial u}{\partial {\bar{x}}} \\ &= N_0' \delta u_0 + N_1' \delta u_1 + N_2' \delta u_2 \end{align}

Virtuelle Arbeit

Virtuelle äußere Arbeit

\[\begin{split}\delta A_e &= F_0 \delta u_0 + F_1 \delta u_1 + F_2 \delta u_2 + F \delta u_F + \int_{{\bar{x}}=0}^l n \, {\mathsf d}{\bar{x}} \, \delta u \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \begin{bmatrix} F_0 \\ F_1 \\ F_2 \end{bmatrix} + F \begin{bmatrix} {N_0}|_{\xi_F}\\ {N_1}|_{\xi_F}\\ {N_2}|_{\xi_F} \end{bmatrix} + \begin{bmatrix} \int_{{\bar{x}}=0}^l n N_0 \, {\mathsf d}{\bar{x}} \\ \int_{{\bar{x}}=0}^l n N_1 \, {\mathsf d}{\bar{x}} \\ \int_{{\bar{x}}=0}^l n N_2 \, {\mathsf d}{\bar{x}} \end{bmatrix} \right\} \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \begin{bmatrix} F_0 \\ F_1 \\ F_2 \end{bmatrix} + F \begin{bmatrix} {N_0}|_{\xi_F}\\ {N_1}|_{\xi_F}\\ {N_2}|_{\xi_F} \end{bmatrix} + \begin{bmatrix} l \int_{\xi=0}^1 n N_0 \, {\mathsf d}{\xi} \\ l \int_{\xi=0}^1 n N_1 \, {\mathsf d}{\xi} \\ l \int_{\xi=0}^1 n N_2 \, {\mathsf d}{\xi} \end{bmatrix} \right\} \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \begin{bmatrix} F_0 \\ F_1 \\ F_2 \end{bmatrix} + F \begin{bmatrix} {N_0}|_{\xi_F}\\ {N_1}|_{\xi_F}\\ {N_2}|_{\xi_F} \end{bmatrix} + l \begin{bmatrix} \tfrac{n_0}{6} \\ \tfrac{n_0 + n_2}{3} \\ \tfrac{n_2}{6} \\ \end{bmatrix} \right\}\end{split}\]

Virtuelle innere Arbeit

\[\begin{split}\delta A_i &= \int_{{\bar{x}}=0}^l E \varepsilon \delta\varepsilon \, A \, {\mathsf d}{\bar{x}} \\ &= EA \int_{{\bar{x}}=0}^l \varepsilon \delta\varepsilon \, {\mathsf d}{\bar{x}} \\ &= EA l \int_{\xi=0}^1 \varepsilon \delta\varepsilon \, {\mathsf d}\xi\end{split}\]

Berechnung des Integrals:

\[\begin{split}\int_{\xi=0}^1 \varepsilon \delta\varepsilon \, {\mathsf d}\xi &= \int_{\xi=0}^1 \underbrace{ \left(N_0' u_0 + N_1' u_1 + N_2' u_2 \right) }_\varepsilon \underbrace{ \left(N_0' \delta u_0 + N_1' \delta u_1 + N_2' \delta u_2\right) }_{\delta\varepsilon} \, {\mathsf d}\xi \\ &= \int_{\xi=0}^1 \underbrace{ \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \begin{bmatrix} N_0' \\ N_1' \\ N_2' \end{bmatrix} }_{\delta\varepsilon} \underbrace{ \begin{bmatrix} N_0' & N_1' & N_2' \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ \end{bmatrix} }_\varepsilon \, {\mathsf d}\xi \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \begin{bmatrix} \int N_0'N_0' {\mathsf d}\xi & \int N_1'N_0' {\mathsf d}\xi & \int N_2'N_0' {\mathsf d}\xi \\ & \int N_1'N_1' {\mathsf d}\xi & \int N_2'N_1' {\mathsf d}\xi \\ \mathsf{sym} & & \int N_2'N_2' {\mathsf d}\xi \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ \end{bmatrix} \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \tfrac{1}{l^2} \begin{bmatrix} \tfrac{7}{3} & - \tfrac{8}{3} & \tfrac{1}{3}\\ & \tfrac{16}{3} & - \tfrac{8}{3}\\ \mathsf{sym} & & \tfrac{7}{3} \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ \end{bmatrix}\end{split}\]

Virtuelle innere Arbeit:

\[\begin{split}\delta A_i &=EA \int_{{\bar{x}}=0}^l \varepsilon \delta\varepsilon \, {\mathsf d}{\bar{x}} \\ &= \begin{bmatrix} \delta u_0 & \delta u_1 & \delta u_2 \end{bmatrix} \tfrac{EA}{l} \begin{bmatrix} \tfrac{7}{3} & - \tfrac{8}{3} & \tfrac{1}{3}\\ & \tfrac{16}{3} & - \tfrac{8}{3}\\ \mathsf{sym} & & \tfrac{7}{3} \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ \end{bmatrix}\end{split}\]

Lineares System: 1D

Prinzip der virtuellen Arbeit und Einsetzen der Ergebnisse für \(\delta A_i\) und \(\delta A_e\) führt auf 3 Gleichungen, die in einer Matrix-Gleichung zusammengefasst als:

\begin{align*} \delta A_i &= \delta A_e \\ \tfrac{EA}{l} \begin{bmatrix} \tfrac{7}{3} & - \tfrac{8}{3} & \tfrac{1}{3}\\ & \tfrac{16}{3} & - \tfrac{8}{3}\\ \mathsf{sym} & & \tfrac{7}{3} \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ \end{bmatrix} &= \underbrace{ \begin{bmatrix} F_0 \\ F_1 \\ F_2 \end{bmatrix} + F \begin{bmatrix} {N_0}|_{\xi_F}\\ {N_1}|_{\xi_F}\\ {N_2}|_{\xi_F} \end{bmatrix} + l \begin{bmatrix} \tfrac{n_0}{6} \\ \tfrac{n_0 + n_2}{3} \\ \tfrac{n_2}{6} \\ \end{bmatrix} }_{=: \begin{bmatrix} f_0 \\ f_1 \\ f_2 \end{bmatrix}} \end{align*}

Lineares System: 2D

Wie beim 2-Knoten-Element ergibt sich:

\[\begin{split}\tfrac{EA}{3l} \begin{bmatrix} 7 c^{2} & 7 c s & - 8 c^{2} & - 8 c s & c^{2} & c s\\ & 7 s^{2} & - 8 c s & - 8 s^{2} & c s & s^{2}\\ & & 16 c^{2} & 16 c s & - 8 c^{2} & - 8 c s\\ & & & 16 s^{2} & - 8 c s & - 8 s^{2}\\ & & & & 7 c^{2} & 7 c s\\ \mathsf{sym} & & & & & 7 s^{2} \end{bmatrix} \! \begin{bmatrix} u_{0x} \\ u_{0y} \\ u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} \!=\! \begin{bmatrix} F_{0x} \\ F_{0y} \\ F_{1x} \\ F_{1y} \\ F_{2x} \\ F_{2y} \\ \end{bmatrix} \!+\! \begin{bmatrix} {N_0}|_{\xi_F} c \\ {N_0}|_{\xi_F} s \\ {N_1}|_{\xi_F} c \\ {N_1}|_{\xi_F} s \\ {N_2}|_{\xi_F} c \\ {N_2}|_{\xi_F} s \\ \end{bmatrix} \!+\! l \begin{bmatrix} \tfrac{n_0}{6} c \\ \tfrac{n_0}{6} s \\ \tfrac{n_0 + n_2}{3} c \\ \tfrac{n_0 + n_2}{3} s \\ \tfrac{n_2}{6} c \\ \tfrac{n_2}{6} s \\ \end{bmatrix}\end{split}\]

SymPy

  1. Copy: Source Code (siehe unten) aufklappen und kopieren.

  2. Paste: Einfügen als Python-Notebook z.B. auf:

  3. Play: Ausführen.

Source Code

from sympy import *
# LateX:
kwargs = {}
kwargs["mat_str"] = "bmatrix"
kwargs["mat_delim"] = ""

xi = var("xi")
n0, n2 = var("n0, n2")


xi2 = xi*xi
N0 = 1 - 3*xi + 2*xi2
N1 =     4*xi - 4*xi2
N2 =    -1*xi + 2*xi2

n = n0 + (n2 - n0)*xi

# x = l xi
# dx = l dxi

I0 = integrate(n*N0, (xi, 0, 1))
pprint(I0)
I1 = integrate(n*N1, (xi, 0, 1))
pprint(I1)
I2 = integrate(n*N2, (xi, 0, 1))
pprint(I2)

c, s = var("c, s")
C = S(1)/3*Matrix([
    [ 7, 0, -8, 0,  1, 0],
    [ 0, 0,  0, 0,  0, 0],
    [-8, 0, 16, 0, -8, 0],
    [ 0, 0,  0, 0,  0, 0],
    [ 1, 0, -8, 0,  7, 0],
    [ 0, 0,  0, 0,  0, 0],
    ])
pprint(C)
R = Matrix([
    [ c,s, 0,0, 0,0],
    [-s,c, 0,0, 0,0],
    [ 0,0, c,s, 0,0],
    [ 0,0,-s,c, 0,0],
    [ 0,0, 0,0, c,s],
    [ 0,0, 0,0,-s,c],
    ])
Rt = R.transpose()
tmp = Rt*C*R
pprint(tmp*3)
# pprint(latex(tmp*3,**kwargs))

  • Lieber mit eigenem SymPy und offline? Es gibt z.B. Anaconda und Miniconda.

  • Statt SymPy lieber anderes CAS? Auswahl hier.

Postprocessing

Verzerrung

Mit (L0x, L1x, L2x) und (e1) und der Abkürzung \(\xi = \tfrac{\bar{x}}{l}\) gilt:

\begin{align} \varepsilon &= N_0' u_0 + N_1' u_1 + N_2' u_2 \\ &= \tfrac{1}{l} \left\{ \left(- 3 + 4 \xi \right) u_0 + \left(4 - 8 \xi \right) u_1 + \left(- 1 + 4 \xi \right) u_2 \right\} \tag{e2} \end{align}