2.1.F

Gegeben

../../../_images/2.1.F.png

Symbole:

\[l_2, 0^\circ < \varphi < 90^\circ , \alpha, \Delta T\]
  • Dargestellt ist die undeformierte Lage.

  • Das Gelenk G erleidet eine Verschiebung, weil Stab 1 (Wärmeausdehnungskoeffizient \(\alpha\)) einer Temperaturzuwachs \(\Delta T\) ausgesetzt ist.

Finden Sie die unvollständige Lösung mit (2·k + 2·s - r = 6) Gleichungen und Unbekannten. Und berechnen Sie damit die Verschiebung des Gelenks G und die Verlängerungen der beiden Stäbe. Gehen Sie wie folgt vor.

Vollständige Lösung mit 2·k + 2·s + r = 14 Gleichungen und Unbekannten auf einer Seite

../../../_images/all.X2.png

Hinter jeder nummerierten Gleichung in Klammern: Gleichungsnummer und darin enthaltene neue Unbekannte.

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

# 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

# Given Symbols:
l2,phi,adT = symbols("l2,phi,adT")

# Unknowns:
S1,S2,dl1,dl2 = symbols("S1,S2,dl1,dl2")
u1x,u1y,u2x,u2y,u3x,u3y = symbols("u1x,u1y,u2x,u2y,u3x,u3y")
R1x,R1y,R2x,R2y = symbols("R1x,R1y,R2x,R2y")


# Nodal Displacements:
u1 = Matrix([u1x, u1y])
u2 = Matrix([u2x, u2y])
u3 = Matrix([u3x, u3y])

# Nodal External Forces:
R1 = Matrix([R1x, R1y])
R2 = Matrix([R2x, R2y])

c, s = cos(phi), sin(phi)

e1 = Matrix([c, s])
e2 = Matrix([0, 1])

Zero = Matrix([0, 0])

# Assume any EA:
EA1, EA2 = symbols("EA1, EA2")

eq_1 = Eq( S1, EA1 * (dl1 / (l2/s) - adT ) )
eq_2 = Eq( S2, EA2 * dl2 / l2 )

eq_3 = Eq(dl1, e1.dot(u3 - u1))
eq_4 = Eq(dl2, e2.dot(u3 - u2))

eq_56 = Eq(R1 + S1*e1, Zero)
eq_78 = Eq(R2 + S2*e2, Zero)
eq_91 = Eq(- S1*e1 - S2*e2, Zero)

eq_11_12 = Eq(u1, Zero)
eq_13_14 = Eq(u2, Zero)

eqns = [eq_1, eq_2, eq_3, eq_4, eq_56, eq_78, eq_91, eq_11_12, eq_13_14]
unks = [S1,S2,dl1,dl2,u1x,u1y,u2x,u2y,u3x,u3y,R1x,R1y,R2x,R2y]
sol = solve(eqns, unks)

pprint("\nSolution (non-zero only):")
for s in sol:
   tmp = sol[s]
   if tmp != 0:
    pprint("\n" + str(s) + ":")
    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.

a) Geometrie

Berechnen Sie die Länge des Stabs 1 abhängig von den gegebenen Symbolen. Und verwenden Sie dann \(l_1\) als bekannt.

\[l_1 = \dots\]

Lösung

../../../_images/2.1.F_2.png

Das ist die erste Gleichung, die wir bekommen. Gleichzeitig taucht die erste Unbekannte auf. Und nach ihr ist auch schon aufgelöst. Wir nennen diese Gleichung „Gleichung (0)“.

\begin{align*} l_1 = \tfrac{l_2}{s_\varphi} \tag{0} \end{align*}

b) Gleichgewicht

Geben Sie zwei Gleichgewichtsbedingungen an - also notieren Sie zwei Gleichungen, in denen die unbekannten Stabkräfte \(S_1\) und \(S_2\) auftauchen - aber keine Lagerreaktionen.

Lösung

../../../_images/2.1.F_1.png

Weil das System statisch bestimmt ist, lassen sich die Stabkräfte schon hier berechnen - unabhängig von den Deformationen. Man sieht, dass beide Stabkräfte gleich null sind. Aber das ist Teil der Lösung des Linearen Gleichungssystems, und diese Lösung wird erst am Ende berechnet und notiert.

c) Kinematik Einheitsvektoren und Stabverlängerungen

Geben Sie die \((x,y)\)-Komponenten der Einheitsvektoren \(\boldsymbol e_1\) und \(\boldsymbol e_2\) an:

\[\begin{split}\begin{bmatrix} e_{1x} \\ e_{1y} \end{bmatrix} = \dots \qquad \begin{bmatrix} e_{2x} \\ e_{2y} \end{bmatrix} = \dots\end{split}\]

Seien \((u_{3x}, u_{3y})\) die \((x,y)\)-Komponenten des Verschiebungsvektor \(\boldsymbol{u_3}\) eines Teilchens bei Knoten 3. Drücken Sie die (genäherten) Stabverlängerungen \(\Delta l_1\) und \(\Delta l_2\) aus abhängig von den \((x,y)\)-Komponenten von \(\boldsymbol{u_3}\) und den gegebenen Symbolen.

\[\begin{split}\Delta l_1 &= \dots \\ \Delta l_2 &= \dots\end{split}\]

Lösung

../../../_images/2.1.F_2.png
../../../_images/2.1.F_2.png
\begin{align*} \Delta l_1 &= \boldsymbol e_1 \cdot \boldsymbol{u_3} \\ &= \begin{bmatrix} c_\varphi & s_\varphi \end{bmatrix} \begin{bmatrix} u_{3x} \\ u_{3y} \end{bmatrix} \\ &= u_{3x} c_\varphi + u_{3y} s_\varphi \tag{3} \\ \\ \Delta l_2 &= \boldsymbol e_2 \cdot \boldsymbol{u_3} \\ &= \begin{bmatrix} 0 & 1 \end{bmatrix} \begin{bmatrix} u_{3x} \\ u_{3y} \end{bmatrix} \\ &= u_{3y} \tag{4} \end{align*}

d) Elastizität

Hookesches Gesetz: Notieren Sie den Zusammenhang zwischen den Stabkräften \(S_1, S_2\) und den (genäherten) Stabverlängerungen \(\Delta l_1, \Delta l_2\):

\begin{align*} S_1 &= \ldots \\ S_2 &= \ldots \\ \end{align*}

Lösung

\begin{align*} S_1 &= E_1 A_1 \left( \tfrac{\Delta l_1}{l_1} - \alpha \Delta T \right) \tag{5} \\ S_2 &= E_2 A_2 \tfrac{\Delta l_2}{l_2} \tag{6} \\ \end{align*}

e) Lösung für Symbole

Berechnen Sie \(S_1, S_2, u_{3x}, u_{3y}, \Delta l_1, \Delta l_2\) für die gegebenen Symbole.

Lösung

Lineares Gleichungssystem mit 2·k + 2·s - r = 6 Gleichungen und Unbekannten. Unbekannte \(S_1, S_2, u_{3x}, u_{3y}, \Delta l_1, \Delta l_2\).

Gleichung (0) notieren wir ganz am Ende. Denn \(l_1\) kennen wir schon.

Lösung = diese 6 Gleichungen aufgelöst nach den 6 Unbekannten:

\[\begin{split}S_1 &= 0 \\ S_2 &= 0 \\ u_{3x} &= \tfrac{\alpha \Delta T l_{2}}{s_\varphi c_\varphi} \\ u_{3y} &= 0 \\ \Delta l_1 &= \tfrac{\alpha \Delta T l_{2}}{s_\varphi} \\ \Delta l_2 &= 0 \\ \\ l_1 &= \tfrac{l_2}{s_\varphi}\end{split}\]
../../../_images/a.X6.png

f) Lösung für Größen

Berechnen Sie \(u_{3x}, u_{3y}, \Delta l_1, \Delta l_2\) in \(\mathrm{mm}\) (Millimeter) und gerundet auf Rundestellenwert \(0{,}001\) für die folgenden Größen:

\[l_2 = 1{,}2 \,\mathrm{m} \quad \varphi=53^\circ \quad \alpha = 24 \cdot 10^{-6} \tfrac{1}{\mathrm K} \quad \Delta T=50\,\mathrm{K}\]

Zeigen Sie, dass gilt:

\[\begin{split}\begin{bmatrix} u_{3x}\\u_{3y} \end{bmatrix} &\stackrel{\scriptscriptstyle{0{,}001}}{\approx} \begin{bmatrix} 2{,}996 \\ 0 \end{bmatrix} \,\mathrm{mm}\\ \\ \Delta l_1 &\stackrel{\scriptscriptstyle{0{,}001}}{\approx} 1{,}803 \,\mathrm{mm} \\ \Delta l_2 &= 0\end{split}\]

Lösung

Einsetzen der gegebenen Größen liefert das Ergebnis. Siehe e) Lösung für Symbole.

SymPy

Source Code eines Programms dazu:

from sympy.physics.units import kg, m, s, K
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve, sqrt, exp

# 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
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

# Header ends here.

l2, phi, alpha, dT = symbols("l2, phi, alpha, dT")

c, s = cos(phi), sin(phi)

EA1, EA2 = symbols("EA1, EA2", positive=True)

sub_list=[
    ( l2     , S(6)/5 *m  ),
    ( phi    , 53 *deg    ),
    ( alpha  , 24.e-6 / K ),
    ( dT     , 50 *K      ),
    ]

S1, S2, dl1, dl2, u3x, u3y, l1 = symbols("S1, S2, dl1, dl2, u3x, u3y, l1")
unks =  [S1, S2, dl1, dl2, u3x, u3y, l1]

eq0 = Eq( l1, l2/s)

eq1 = Eq(0, S1*c)
eq2 = Eq(0, S1*s + S2)

eq3 = Eq( dl1, u3x*c + u3y*s )
eq4 = Eq( dl2, u3y )

eq5 = Eq( S1, EA1 * (dl1/l1 - alpha*dT) )
eq6 = Eq( S2, EA2 * dl2/l2 )

eqns = [eq1,eq2,eq3,eq4,eq5,eq6, eq0]
sol = solve(eqns, unks, dict=True)
sol = sol[0]

pprint(sol)

u3x, u3y = sol[u3x],sol[u3y]
dl1, dl2 = sol[dl1],sol[dl2]
l1 = sol[l1]

pprint("\n(u3x, u3y, dl1, dl2, l1) / mm:")
for x in [u3x,u3y, dl1, dl2, l1]:
    tmp = x
    tmp = tmp.subs(sub_list)
    tmp /= mm
    tmp = iso_round(tmp, 3)
    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.