Stab-Element R2

Video

../../../_images/R2_all.png

2-Knoten-Stab-Element: Prinzip der virtuellen Verschiebungen. Äußere Lasten: Einzelkräfte \(F_1\) und \(F_2\) an den Knoten, Einzelkraft \(F\) zwischen den Knoten, verteilte Last \(n\) und Wärmedehnung (Verzerrung aufgrund Temperaturzuwachs) \(\epsilon\) . Lineares System in 1D und in 2D. Verwendung von \((x,y)\)-Bezugssystem bzw. von \((x_1, y_1)\)- und \((x_2, y_2)\)-Bezugssystem.

Ab hier nur zum Nachlesen

Ab hier Herleitungen, falls Sie etwas nachlesen möchten. Ansonsten einfach nicht davon stören lassen .

Herleitung mit PdvV

Interpolation

Als Ansatzfunktionen, also zur :wiki:`Interpolation <Interpolation>`, werden folgende :wiki:`Lagrange-Polynome <Lagrange_polynomial>` mit der Abkürzung \(\xi = \tfrac{\bar{x}}{l}\) verwendet, nämlich:

\begin{align} \label{eq-R2_L} N_1 &= 1 - \left[ \tfrac{\bar{x}}{l} \right] = 1 - \xi \tag{L1}\\ N_2 &= \left[ \tfrac{\bar{x}}{l} \right] = \xi \tag{L2} \end{align}

Ableitungen:

\begin{align} \tfrac{\partial N_1}{\partial \bar{x}} := N_1' &= - \tfrac{1}{l} \tag{L1x} \\ \tfrac{\partial N_2}{\partial \bar{x}} := N_2' &= \tfrac{1}{l} \tag{L2x} \end{align}

Funktionswerte an den Knoten:

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

Verschiebung und virt. Verschiebung

Verschiebung und virtuelle Verschiebung werden interpoliert:

\[\begin{split}u &= N_1 u_1 + N_2 u_2 \\ \delta u &= N_1 \delta u_1 + N_2 \delta u_2 \\ \delta u_F &= N_1(\xi_F) \delta u_1 + N_2 (\xi_F)\delta u_2 \\ &= \left( 1 - \xi_F \right) \delta u_1 + \xi_F \delta u_2\end{split}\]

Elastische Verzerrung und virt. Verz.

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

Virtuelle Arbeit

Virt. äußere Arbeit

Mit einer linear verteile äußere Last \(n = n_1 + (n_2 - n_1) \xi\) ist die virtuelle äußere Arbeit:

\[\begin{split}\delta A_e &= F_1 \delta u_1 + F_2 \delta u_2 + l \int_{0}^1 n \left\{N_1 \delta u_1 + N_2 \delta u_2 \right\} {\mathsf d}\xi \\ &= F_1 \delta u_1 + F_2 \delta u_2 + F \delta u_F + l \left\{ \int_{0}^1 n N_1 {\mathsf d}\xi \delta u_1 + \int_{0}^1 n N_2 {\mathsf d}\xi \delta u_2 \right\}\end{split}\]

Umschreiben, so dass die virtuellen Größen faktorisiert sind:

\[\begin{split}\delta A_e &= \begin{bmatrix} \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \begin{bmatrix} F_1 \\ F_2 \\ \end{bmatrix} + F \begin{bmatrix} 1 - \xi_F \\ \xi_F \end{bmatrix} + l \begin{bmatrix} \int_{0}^1 n N_1 {\mathsf d}\xi \\ \int_{0}^1 n N_2 {\mathsf d}\xi \\ \end{bmatrix} \right\}\end{split}\]

Virt. innere Arbeit

\[\begin{split}\delta A_i &= \int_{\bar{x}=0}^l E \left(\varepsilon - \epsilon\right) \delta\varepsilon \, A \, {\mathsf d}\bar{x} \\ &= EA \int_{\bar{x}=0}^l \left(\varepsilon - \epsilon\right) \delta\varepsilon \, {\mathsf d}\bar{x} \\ &= EA l \int_{\xi=0}^1 \left(\varepsilon - \epsilon\right) \delta\varepsilon \, {\mathsf d}\xi \\ &=EA l \int_{0}^1 \left(N_1' u_1 + N_2' u_2 - \epsilon \right) \underbrace{ \left(N_1' \delta u_1 + N_2' \delta u_2\right) }_{\delta\varepsilon}\, {\mathsf d}\xi \\ &=EA l \int_{0}^1 \underbrace{ \begin{bmatrix} \delta u_1 & \delta u_2 \end{bmatrix} \begin{bmatrix} N_1' \\ N_2' \end{bmatrix} }_{\delta\varepsilon} \left( \begin{bmatrix} N_1' & N_2' \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ \end{bmatrix} - \epsilon \right) \, {\mathsf d}\xi \\ &=EA l \begin{bmatrix} \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \begin{bmatrix} \int_{0}^1 N_1'N_1' {\mathsf d}\xi & \int_{0}^1 N_2'N_1'{\mathsf d}\xi \\ \int_{0}^1 N_1'N_2' {\mathsf d}\xi & \int_{0}^1 N_2'N_2'{\mathsf d}\xi \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ \end{bmatrix} - \begin{bmatrix} \int_{0}^1 \epsilon N_1' {\mathsf d}\xi \\ \int_{0}^1 \epsilon N_2' {\mathsf d}\xi \\ \end{bmatrix} \right\} \\ &= \begin{bmatrix} \delta u_1 & \delta u_2 \end{bmatrix} \left\{ \tfrac{EA}{l} \begin{bmatrix} 1 & - 1\\ - 1 & 1 \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ \end{bmatrix} - EA \int_{0}^1 \epsilon\, {\mathsf d}\xi \begin{bmatrix} - 1 \\ 1 \\ \end{bmatrix} \right\}\end{split}\]

Ergebnis

1D

\begin{align*} \underbrace{ \tfrac{EA}{l} \begin{bmatrix} 1 & - 1\\ \mathsf{sym} & 1 \end{bmatrix} }_k \begin{bmatrix} u_1 \\ u_2 \\ \end{bmatrix} &= \begin{bmatrix} f_1 \\ f_2 \end{bmatrix} \end{align*} \begin{align*} \begin{bmatrix} f_1 \\ f_2 \end{bmatrix} &= \begin{bmatrix} F_1 \\ F_2 \end{bmatrix} + F \begin{bmatrix} 1 - \xi_F \\ \xi_F \end{bmatrix} + \begin{bmatrix} \int_{0}^1 n N_1 {\mathsf d}\xi\\ \int_{0}^1 n N_2 {\mathsf d}\xi \end{bmatrix} + EA \overbrace{\int_{0}^1 \epsilon\, {\mathsf d}\xi}^{\bar \epsilon} \begin{bmatrix} - 1 \\ 1 \\ \end{bmatrix} \end{align*}

Beispiele:

\begin{align*} n = n_1 + (n_2 - n_1) \xi \qquad &\leadsto\qquad l \begin{bmatrix} \int_{0}^1 n N_1 {\mathsf d}\xi\\ \int_{0}^1 n N_2 {\mathsf d}\xi \end{bmatrix} = l \begin{bmatrix} \tfrac 2 6 n_1 + \tfrac 1 6 n_2 \\ \tfrac 1 6 n_1 + \tfrac 2 6 n_2 \\ \end{bmatrix} \\ \epsilon = \epsilon_1 + (\epsilon_2 - \epsilon_1) \xi \qquad &\leadsto\qquad \int_{0}^1 \epsilon\, {\mathsf d}\xi = \bar \epsilon = \tfrac{\epsilon_1 + \epsilon_2}{2} \end{align*}
Knotenlasten berechnen

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.

from sympy import *

half = S(1)/2

l = var("l")
n1, n2 = var("n1, n2")
e1, e2 = var("e1, e2")
xi = var("xi")
xi2 = xi*xi

pprint("[ N1 , N2 ]:")
N1 =  1 - xi
N2 = xi
pprint(N1)
pprint(N2)

pprint("\n[ N1' , N2' ]:")
# xi = x/l
# d/dx = d/dxi dxi/dx
#      = d/dxi 1/l
#   dx = l dxi
N1p = diff(N1, xi) / l
N2p = diff(N2, xi) / l
tmp = Matrix([N1p, N2p])
pprint(tmp)

pprint("\n\n2x2-Matrix with entries ∫ Ni' Nj' dξ:")
t11 = integrate( N1p*N1p, (xi, 0, 1))
t12 = integrate( N1p*N2p, (xi, 0, 1))
t22 = integrate( N2p*N2p, (xi, 0, 1))
tmp = Matrix([[t11, t12],[t12, t22]])
pprint(tmp)

pprint("\nNodal Forces due to n and:")
pprint("\nn:")
# linear:
n = n1 + (n2 - n1)*xi

# quadratic:
# a, b, c = var("a, b, c")
# n = a + b*xi + c*xi**2
# eq1 = Eq(n.subs(xi,0), 0)
# eq2 = Eq(n.subs(xi,half), n1)
# eq3 = Eq(n.subs(xi,1), 0)
# sol = solve([eq1, eq2, eq3],[a, b, c])
# sub_list = [
#    (a, sol[a]),
#    (b, sol[b]),
#    (c, sol[c]),
#    ]
# n = n.subs(sub_list)
pprint(n)

pprint("\n\n[ ∫ n N1 dξ , ∫ n N2 dξ ]:")
I1 = integrate( n * N1, (xi, 0, 1))
I2 = integrate( n * N2, (xi, 0, 1))
tmp = Matrix([I1, I2])
pprint(tmp)

pprint("\n\ne:")
# https://fem.tm-tutor.de/A/FEM/R2/
e = e1 + (e2 - e1)*xi

# https://fem.tm-tutor.de/FEM/R2/R2.J/
e = e1*(1 - 2*xi + xi*xi)

# FEMT01 ESA-4 Parabola:
a, b, c = var("a, b, c")
e = a + b*xi + c*xi**2
eq1 = Eq(e.subs(xi,0), 0)
eq2 = Eq(e.subs(xi,half), e1)
eq3 = Eq(e.subs(xi,1), 0)
sol = solve([eq1, eq2, eq3],[a, b, c])
sub_list = [
   (a, sol[a]),
   (b, sol[b]),
   (c, sol[c]),
   ]
e = e.subs(sub_list)
pprint(e)

pprint("\n\n∫ e  dξ:")
tmp = integrate( e, (xi, 0, 1))
tmp = tmp.simplify()
pprint(tmp)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[ N1 , N2 ]:
1 - ξ
ξ
              
[ N1' , N2' ]:
⎡-1 ⎤
⎢───⎥
⎢ l ⎥
⎢   ⎥
⎢ 1 ⎥
⎢ ─ ⎥
⎣ l ⎦
                                     
                                     
2x2-Matrix with entries ∫ Ni' Nj' dξ:
⎡1    -1 ⎤
⎢──   ───⎥
⎢ 2     2⎥
⎢l     l ⎥
⎢        ⎥
⎢-1   1  ⎥
⎢───  ── ⎥
⎢  2   2 ⎥
⎣ l   l  ⎦
                          
Nodal Forces due to n and:
  
n:
n₁ + ξ⋅(-n₁ + n₂)
                          
                          
[ ∫ n N1 dξ , ∫ n N2 dξ ]:
⎡n₁   n₂⎤
⎢── + ──⎥
⎢3    6 ⎥
⎢       ⎥
⎢n₁   n₂⎥
⎢── + ──⎥
⎣6    3 ⎦
  
  
e:
        2         
- 4⋅e₁⋅ξ  + 4⋅e₁⋅ξ
        
        
∫ e  dξ:
2⋅e₁
────
 3  

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

2D

  • Der 1D-Fall wurde notiert bezüglich dem blauen \((\bar x, \bar y)\)-Bezugssystem und für den Spezialfall, dass es Kräfte und Verschiebungen nur in der \(\bar x\)-Richtung gibt.

  • Dieser Spezialfall wird jetzt notiert bezogen auf andere Bezugssysteme.

  • Gegenüber Verschiebungen der Knoten senkrecht zur Stabrichtung hat das Stab-Element keinerlei Steifigkeit.

Übergang zum grünen globalen \((x, y)\)-Bezugssystem liefert:

\begin{align*} \tfrac{EA}{l} \begin{bmatrix} c^2 & cs & -c^2 & -cs \\ & s^2 & -cs & -s^2 \\ & & c^2 & cs \\ \mathsf{sym} & & & s^2 \\ \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} = \begin{bmatrix} f_{1x} \\ f_{1y} \\ f_{2x} \\ f_{2y} \\ \end{bmatrix} \end{align*} \begin{align*} \begin{bmatrix} f_{1x} \\ f_{1y} \\ f_{2x} \\ f_{2y} \\ \end{bmatrix} &= \begin{bmatrix} F_{1x} \\ F_{1y} \\ F_{2x} \\ F_{2y} \\ \end{bmatrix} \!+\! F\! \begin{bmatrix} \left(1 - \xi_F\right) c \\ \left(1 - \xi_F\right) s \\ \xi_F \, c \\ \xi_F \, s \\ \end{bmatrix} \!+\! l \! \begin{bmatrix} \left(\tfrac{2}{6}n_1+ \tfrac{1}{6}n_2 \right) c \\ \left(\tfrac{2}{6}n_1+ \tfrac{1}{6}n_2 \right) s \\ \left(\tfrac{1}{6}n_1+ \tfrac{2}{6}n_2 \right) c \\ \left(\tfrac{1}{6}n_1+ \tfrac{2}{6}n_2 \right) s \\ \end{bmatrix} \!+\! EA\bar \epsilon\! \begin{bmatrix} -c \\ -s \\ c \\ s \\ \end{bmatrix} \end{align*}

Details

Passive Transformation von Vektor-Komponenten im um den Winkel \(\varphi\) gedrehten System mit den Abkürzungen \((c, s) = \left(\cos\varphi, \sin\varphi\right)\):

\[\begin{split}\begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} &= \begin{bmatrix} c & -s & 0 & 0 \\ s & c & 0 & 0 \\ 0 & 0 & c & -s \\ 0 & 0 & s & c \\ \end{bmatrix} \begin{bmatrix} u_1 \\ 0 \\ u_2 \\ 0 \\ \end{bmatrix} \\ \begin{bmatrix} f_{1x} \\ f_{1y} \\ f_{2x} \\ f_{2y} \\ \end{bmatrix} &= \begin{bmatrix} c & -s & 0 & 0 \\ s & c & 0 & 0 \\ 0 & 0 & c & -s \\ 0 & 0 & s & c \\ \end{bmatrix} \begin{bmatrix} f_1 \\ 0 \\ f_2 \\ 0 \\ \end{bmatrix}\end{split}\]

Invertiert:

\[\begin{split}\begin{bmatrix} u_1 \\ 0 \\ u_2 \\ 0 \\ \end{bmatrix} &= \begin{bmatrix} c & s & 0 & 0 \\ -s & c & 0 & 0 \\ 0 & 0 & c & s \\ 0 & 0 & -s & c \\ \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} \\ \begin{bmatrix} f_1 \\ 0 \\ f_2 \\ 0 \\ \end{bmatrix} &= \begin{bmatrix} c & s & 0 & 0 \\ -s & c & 0 & 0 \\ 0 & 0 & c & s \\ 0 & 0 & -s & c \\ \end{bmatrix} \begin{bmatrix} f_{1x} \\ f_{1y} \\ f_{2x} \\ f_{2y} \\ \end{bmatrix}\end{split}\]

Dies einsetzen in das Lineare System in 1D liefert:

\begin{align*} \tfrac{EA}{l} \begin{bmatrix} 1 & 0 & -1 & 0 \\ 0 & 0 & 0 & 0 \\ -1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} u_{1} \\ 0 \\ u_{2} \\ 0 \\ \end{bmatrix} &= \begin{bmatrix} f_{1} \\ 0 \\ f_{2} \\ 0 \\ \end{bmatrix} \\ \tfrac{EA}{l} \begin{bmatrix} 1 & 0 & -1 & 0 \\ 0 & 0 & 0 & 0 \\ -1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} c & s & 0 & 0 \\ -s & c & 0 & 0 \\ 0 & 0 & c & s \\ 0 & 0 & -s & c \\ \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} &= \begin{bmatrix} c & s & 0 & 0 \\ -s & c & 0 & 0 \\ 0 & 0 & c & s \\ 0 & 0 & -s & c \\ \end{bmatrix} \begin{bmatrix} f_{1x} \\ f_{1y} \\ f_{2x} \\ f_{2y} \\ \end{bmatrix} \end{align*}

Übergang zu den grünen lokalen Bezugssystemen \((x_1, y_1)\) am Knoten 1 sowie \((x_2, y_2)\) am Knoten 2 liefert:

\begin{align*} \tfrac{EA}{l} \begin{bmatrix} c_{1}^{2} & c_{1} s_{1} & - c_{1} c_{2} & - c_{1} s_{2}\\ & s_{1}^{2} & - c_{2} s_{1} & - s_{1} s_{2}\\ & & c_{2}^{2} & c_{2} s_{2}\\ \mathsf{sym} & & & s_{2}^{2} \end{bmatrix} \begin{bmatrix} u_{1x1} \\ u_{1y1} \\ u_{2x2} \\ u_{2y2} \\ \end{bmatrix} = \begin{bmatrix} f_{1x1} \\ f_{1y1} \\ f_{2x2} \\ f_{2y2} \\ \end{bmatrix} \end{align*} \begin{align*} \begin{bmatrix} f_{1x1} \\ f_{1y1} \\ f_{2x2} \\ f_{2y2} \\ \end{bmatrix} = \begin{bmatrix} F_{1x1} \\ F_{1y1} \\ F_{2x2} \\ F_{2y2} \\ \end{bmatrix} \!+\! F\! \begin{bmatrix} \left(1 - \xi_F\right) c_1 \\ \left(1 - \xi_F\right) s_1 \\ \xi_F \, c_2 \\ \xi_F \, s_2 \\ \end{bmatrix} \!+\! l \! \begin{bmatrix} \left(\tfrac{2}{6}n_1+ \tfrac{1}{6}n_2 \right) c_1 \\ \left(\tfrac{2}{6}n_1+ \tfrac{1}{6}n_2 \right) s_1 \\ \left(\tfrac{1}{6}n_1+ \tfrac{2}{6}n_2 \right) c_2 \\ \left(\tfrac{1}{6}n_1+ \tfrac{2}{6}n_2 \right) s_2 \\ \end{bmatrix} \!+\! EA\bar \epsilon\! \begin{bmatrix} -c_1 \\ -s_1 \\ c_2 \\ s_2 \\ \end{bmatrix} \end{align*}

Details

\[\begin{split}\begin{bmatrix} u_{1x1} \\ u_{1y1} \\ u_{2x2} \\ u_{2y2} \\ \end{bmatrix} &= \begin{bmatrix} c_1 & -s_1 & 0 & 0 \\ s_1 & c_1 & 0 & 0 \\ 0 & 0 & c_2 & -s_2 \\ 0 & 0 & s_2 & c_2 \\ \end{bmatrix} \begin{bmatrix} u_1 \\ 0 \\ u_2 \\ 0 \\ \end{bmatrix} \\ \begin{bmatrix} f_{1x1} \\ f_{1y1} \\ f_{2x2} \\ f_{2y2} \\ \end{bmatrix} &= \begin{bmatrix} c_1 & -s_1 & 0 & 0 \\ s_1 & c_1 & 0 & 0 \\ 0 & 0 & c_2 & -s_2 \\ 0 & 0 & s_2 & c_2 \\ \end{bmatrix} \begin{bmatrix} f_1 \\ 0 \\ f_2 \\ 0 \\ \end{bmatrix}\end{split}\]

Vorgehensweise ansonsten wie oben.

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.

from sympy import *

pprint("\n\nPassive Transformation:")
c, s = var("c, s")
C = Matrix([
   [1, 0,-1,0],
   [0,0,0,0], 
   [-1,0,1,0], 
   [0,0,0,0]]
   )
pprint(C)
R = Matrix([
   [c,s,0,0], 
   [-s,c,0,0], 
   [0, 0,c,s], 
   [0,0,-s,c]]
   )
Rt = R.transpose()
tmp = Rt*C*R
pprint(tmp)

# Local Frames:
c1, s1 = var("c1, s1")
c2, s2 = var("c2, s2")
C = Matrix([
   [1, 0,-1,0], 
   [0,0,0,0], 
   [-1,0,1,0], 
   [0,0,0,0]]
   )
pprint(C)
R = Matrix([
   [c1,s1,0,0], 
   [-s1,c1,0,0], 
   [0, 0,c2,s2], 
   [0,0,-s2,c2]]
   )
Rt = R.transpose()
tmp = Rt*C*R
pprint(tmp)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
                       
                       
Passive Transformation:
⎡1   0  -1  0⎤
⎢            ⎥
⎢0   0  0   0⎥
⎢            ⎥
⎢-1  0  1   0⎥
⎢            ⎥
⎣0   0  0   0⎦
⎡  2           2       ⎤
⎢ c    c⋅s   -c    -c⋅s⎥
⎢                      ⎥
⎢        2           2 ⎥
⎢c⋅s    s    -c⋅s  -s  ⎥
⎢                      ⎥
⎢  2           2       ⎥
⎢-c    -c⋅s   c    c⋅s ⎥
⎢                      ⎥
⎢        2           2 ⎥
⎣-c⋅s  -s    c⋅s    s  ⎦
⎡1   0  -1  0⎤
⎢            ⎥
⎢0   0  0   0⎥
⎢            ⎥
⎢-1  0  1   0⎥
⎢            ⎥
⎣0   0  0   0⎦
⎡   2                          ⎤
⎢ c₁     c₁⋅s₁   -c₁⋅c₂  -c₁⋅s₂⎥
⎢                              ⎥
⎢           2                  ⎥
⎢c₁⋅s₁    s₁     -c₂⋅s₁  -s₁⋅s₂⎥
⎢                              ⎥
⎢                   2          ⎥
⎢-c₁⋅c₂  -c₂⋅s₁   c₂     c₂⋅s₂ ⎥
⎢                              ⎥
⎢                           2  ⎥
⎣-c₁⋅s₂  -s₁⋅s₂  c₂⋅s₂    s₂   ⎦

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

Herleitung klassisch

  • Bezugssystem, Kräfte, Verschiebungen

    • \((x,y,z)\): Rechtssystem.

    • \((\boldsymbol u_1, \boldsymbol u_2)\): Knotenverschiebungen.

    • \(S\): Stabkraft: Wie üblich so definiert, dass die Stabkraft für einen Zugstab positiv ist.

    • \((\boldsymbol F_1, \boldsymbol F_2)\): Resultierende der - abgesehen von \(S\) - an den Knoten wirkenden Kräfte. Denn jeder Fachwerkstab ist nur in Stabrichtung belastet.

  • Einheitsvektor \(\boldsymbol e\) und Winkel \(0^\circ \le \varphi < 360^\circ\)

    • Richtung von \(\boldsymbol e\): Vom ersten Knoten 1 zum zweiten Knoten 2.

    • Zählrichtung von \(\varphi\): Positiv um die in den ersten Knoten verschobene \(z\)-Achse.

    • Nullpunkt von \(\varphi\): Die in den ersten Knoten verschobene \(x\)-Achse.

  • Geometrie und Material

    • \((l, \Delta l)\): (Stablänge undeformiert, Stabverlängerung).

    • \((E, A)\): (Elastiztätsmodul des Stab-Materials, Querschnittsfläche).

Gleichgewicht

Die \((x,y)\)-Komponenten von \(F_1\) und \(F_2\) abhängig von \(S\) sind:

\[ \begin{align}\begin{aligned}\begin{split}\begin{bmatrix} F_{1x} \\ F_{1y} \end{bmatrix} &= - S \begin{bmatrix} c \\ s \end{bmatrix}\end{split}\\\begin{split}\begin{bmatrix} F_{2x} \\ F_{2y} \end{bmatrix} &= S \begin{bmatrix} c \\ s \end{bmatrix}\end{split}\end{aligned}\end{align} \]

mit den Abkürzungen \((c, s) = \left(\cos\varphi, \sin\varphi\right)\).

\begin{align} \label{eq-rod-1} \begin{bmatrix} F_{1x} \\ F_{1y} \\ F_{2x} \\ F_{2y} \end{bmatrix} = S \begin{bmatrix} - c \\ - s \\ c \\ s \end{bmatrix} \tag{1} \end{align}

Elastizität

Hookesches Gesetz:

\begin{align} \label{eq-rod-2} S = \tfrac{EA}{l} \Delta l \tag{2} \end{align}

Kinematik

Wie gezeigt ist in Stab-Kinematik und -Elastizität, gilt näherungsweise:

\begin{align} \label{eq-rod-3} \Delta l &= \boldsymbol e \cdot \left(\boldsymbol u_2 - \boldsymbol u_1 \right) \\ \notag &= \begin{bmatrix} c & s \end{bmatrix} \left\{ \begin{bmatrix} u_{2x} \\ u_{2y} \end{bmatrix} - \begin{bmatrix} u_{1x} \\ u_{1y} \end{bmatrix} \right\} \notag \\ &= \begin{bmatrix} -c & -s & c & s \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \end{bmatrix} \tag{3} \end{align}

Bemerkung

Skalarprodukt berechnet mit Matrix-Multiplikation.

Lineares System

Einsetzen von \(\Delta l\) aus (3) in (2) und danach Einsetzen von \(S\) aus (2) in (1) liefert den Zusammenhang zwischen den äußeren Knoten-Lasten und den Knoten-Verschiebungen:

\[\begin{split}\begin{bmatrix} F_{1x} \\ F_{1y} \\ F_{2x} \\ F_{2y} \end{bmatrix} = \tfrac{EA}{l} \begin{bmatrix} - c \\ -s \\ c \\ s \end{bmatrix} \begin{bmatrix} -c & -s & c & s \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \end{bmatrix}\end{split}\]

Linearer Zusammenhang zwischen Kräften und Verschiebungen:

\begin{align*} \tfrac{EA}{l} \begin{bmatrix} c^2 & cs & -c^2 & -cs \\ & s^2 & -cs & -s^2 \\ & & c^2 & cs \\ \mathsf{sym} & & & s^2 \\ \end{bmatrix} \begin{bmatrix} u_{1x} \\ u_{1y} \\ u_{2x} \\ u_{2y} \\ \end{bmatrix} &= \begin{bmatrix} F_{1x} \\ F_{1y} \\ F_{2x} \\ F_{2y} \end{bmatrix} \end{align*}

Postprocessing

Stabkraft

Zur Berechnung der Stabkraft gibt es zwei Möglichkeiten:

  1. Verwendung der berechneten Lagerreaktionen und der äußeren Kräfte. Damit berechnen der Stabkräfte z.B. mit Knotenschnitt-Verfahren oder mit Ritterschnitt-Verfahren. Dieser Weg ist hier nicht gezeigt, sondern ist Thema in TM 1 und TM 2.

  2. Verwendung von Stab-Kinematik und -Elastizität

    • Stabverlängerung:

      \[\Delta l = \left(\boldsymbol u_2 - \boldsymbol u_1 \right) \cdot \boldsymbol e\]
    • Stab-Elastizität = Hookesches Gesetz:

      \[S = EA\tfrac{\Delta l}{l}\]