2.1.H

Gegeben

../../../_images/2.1.H.png

Symbole:

\[l_1, l_2, d, E, F_1, F_2\]
  • In der undeformierten Lage hat Stab 1 hat die Länge \(l_1\), und Stab 2 die Länge \(l_2\).

  • Beide Stäbe haben einen Kreisquerschnitt mit Durchmesser \(d\).

  • Beide Stäbe sind aus einem Material mit E-Modul \(E\).

  • An Gelenk 1 wirkt die Kraft \(F_1\). An Gelenk 2 wirkt die Kraft \(F_2\).

Berechnen Sie die Verschiebung \(u_2\). Gehen Sie wie folgt vor.

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

../../../_images/all.X3.png

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

SymPy

Source Code eines Programms dazu:

from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve, sqrt, exp, default_sort_key

# Given Symbols:
l1, l2, d, E, F1, F2 = symbols("l1, l2, d, E, F1, F2")

EA = E*pi*d**2/4

# Unknowns:
S1, S2, dl1, dl2 = symbols("S1, S2, dl1, dl2")
u0x, u0y, u1x, u1y, u2x, u2y = symbols("u0x, u0y, u1x, u1y, u2x, u2y")
# Reactions:
R0x, R0y, R1y, R2y = symbols("R0x, R0y, R1y, R2y")
# Loads:
F1, F2 = symbols("F1, F2")

# Displacements:
u0 = Matrix([u0x, u0y])
u1 = Matrix([u1x, u1y])
u2 = Matrix([u2x, u2y])

# Reactions:
R0 = Matrix([R0x, R0y])
R1 = Matrix([0, R1y])
R2 = Matrix([0, R2y])

# Loads:
F1 = Matrix([-F1, 0])
F2 = Matrix([ F2, 0])

# Elasticity:
eq_1 = Eq( S1, EA * dl1/l1 )
eq_2 = Eq( S2, EA * dl2/l2 )

# Kinematics:
e = Matrix([1, 0])
eq_3 = Eq( dl1, e.dot(u1 - u0) )
eq_4 = Eq( dl2, e.dot(u2 - u1) )

# Equilibrium:
Zero = Matrix([0, 0])
eq_5_6 = Eq( R0 + S1*e, Zero               )
eq_7_8 = Eq( F1 + R1 - S1*e  +  S2*e, Zero )
eq_9_10 = Eq( F2 + R2 - S2*e , Zero         )

# Constraints:
eq_11 = Eq(u0x, 0)
eq_12 = Eq(u0y, 0)
eq_13 = Eq(u1y, 0)
eq_14 = Eq(u2y, 0)

# Solve:
eqns = [eq_1,eq_2,eq_3,eq_4,eq_5_6,eq_7_8,eq_9_10,eq_11,eq_12,eq_13,eq_14]
unks = [S1,S2, dl1,dl2, u0x,u0y,u1x,u1y,u2x,u2y, R0x,R0y,R1y,R2y]
sol = solve(eqns, unks)

pprint("\nSolution (all zero-results suppressed):")
for s in sorted(sol,key=default_sort_key):
   if sol[s] != 0:
      print("\n")
      pprint(str(s)+":")
      pprint(sol[s])

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) Querschnittsfläche

Berechnen Sie die Querschnittsfläche \(A\) beider Stäbe.

Lösung

Die Querschnittsfläche \(A\) wird nicht als Unbekannte betrachtet, sondern sofort berechnet und ab dann als bekannt angenommen. Es gilt:

\begin{align*} A = \tfrac \pi 4 d^2 \end{align*}

b) Elastizität

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

\[S_1 = \dots \quad,\quad S_2 = \dots\]

Lösung

Stabverlängerungen:

\begin{align*} S_1 &= EA \tfrac{\Delta l_1}{l_1} \tag{1, $\: S_1, \Delta l_1$} \\ S_2 &= EA \tfrac{\Delta l_2}{l_2} \tag{2, $\: S_2, \Delta l_2$} \\ \end{align*}

Bis hierher: 4 Unbekannte: \(S_1, S_2, \Delta l_1, \Delta l_2\) - und 2 Gleichungen.

c) Kinematik: Verlängerungen

Berechnen Sie die Verlängerungen \(\Delta l_1\) und \(\Delta l_2\), und zwar abhängig von den unbekannten Verschiebungen \(u_1\) und \(u_2\).

\[\Delta l_1 = \dots \quad, \quad \Delta l_2 = \dots\]

Lösung

Verlängerungen \(\Delta l_1\) und \(\Delta l_2\) der Stäbe 1 und 2:

\begin{align*} \Delta l_1 &= u_1 \tag{3, $\:u_1$} \\ \Delta l_2 &= u_2 - u_1 \tag{4, $\:u_2$} \end{align*}

Bis hierher: 6 Unbekannte: \(S_1, S_2, \Delta l_1, \Delta l_2, u_1, u_2\) - und 4 Gleichungen.

Details

../../../_images/2.1.H_1.png

Aus dem Bild:

\[\begin{split}\boldsymbol r_1' &= \boldsymbol r_1 + \boldsymbol u_1 \\ \boldsymbol r_2' &= \boldsymbol r_2 + \boldsymbol u_2 - \boldsymbol u_1\end{split}\]

Damit ist die genäherte Stabverlängerung nach Stab-Kinematik & -Elastizität:

\[\begin{split}\Delta l_1 &= \boldsymbol e_1 \cdot \left\{\boldsymbol r_1' - \boldsymbol r_1\right\} \\ &= \boldsymbol e_1 \cdot \boldsymbol u_1 \\ &= u_1\\ \Delta l_2 &= \boldsymbol e_2 \cdot\left\{\boldsymbol r_2' - \boldsymbol r_2\right\}\\ &= \boldsymbol e_2 \cdot \left\{ \boldsymbol u_2 - \boldsymbol u_1 \right\} \\ &= u_2 - u_1\end{split}\]

d) Gleichgewicht

Berechnen Sie die Stabkräfte \(S_1\) und \(S_2\), und zwar abhängig von den gegebenen Symbolen \(F_1\) und \(F_2.\)

\[S_1 = \dots \quad, \quad S_2 = \dots\]

Lösung

Zugkräfte \(S_1\) und \(S_2\):

\begin{align*} S_1 &= F_2 - F_1 \tag{5} \\ S_2 &= F_2 \tag{6} \end{align*}

Jetzt: 6 Unbekannte - und 6 Gleichungen.

e) Gleichungssystem

Geben Sie ein Gleichungssystem an, aus dem die Unbekannten berechnet werden könnten. Dies sollten (2·k + 2·s - r = 6) Gleichungen mit ebenso vielen Unbekannten sein.

  • Nummerieren Sie die Gleichungen, aus denen das Gleichungssystem besteht.

  • Markieren Sie alle Unbekannten, die in diesen Gleichungen auftauchen.

  • Zeigen Sie, dass das Gleichungssystem aus ebenso vielen Gleichungen wie Unbekannte enthält.

Zeigen Sie, dass Sie wahren Aussagen erhalten, wenn Sie die folgende Lösung des Gleichungssystems in alle Gleichungen Ihres Gleichungssystems einsetzen:

\[\begin{split}S_1 &= - F_1 + F_2 \\ S_2 &= F_2 \\ \Delta l_1 &= - \tfrac{4 l_{1}}{\pi E d^{2}} \left(F_1 - F_2\right) \\ \Delta l_2 &= \tfrac{4 l_{2}}{\pi E d^{2}} F_2 \\ u_1 &= - \tfrac{4 l_{1}}{\pi E d^{2}} \left(F_1 - F_2\right) \\ u_2 &= \tfrac{4}{\pi E d^{2}} \left(- F_1 l_{1} + F_2 (l_{1} + l_{2})\right)\end{split}\]

Lösung

Die 6 Gleichungen sind:

\begin{align*} S_1 &= EA \tfrac{\Delta l_1}{l_1} \tag{1, $\: S_1, \Delta l_1$} \\ S_2 &= EA \tfrac{\Delta l_2}{l_2} \tag{2, $\: S_2, \Delta l_2$} \\ \Delta l_1 &= u_1 \tag{3, $\:u_1$} \\ \Delta l_2 &= u_2 - u_1 \tag{4, $\:u_2$} \\ S_1 &= F_2 - F_1 \tag{5} \\ S_2 &= F_2 \tag{6} \\ \end{align*}

Für jede dieser Gleichungen gilt: Setzt man die gegebene Lösung ein, so erhält man eine wahre Aussage.

Rechenweg

Folgendes wäre der Lösungsweg, um \(u_2\) zu berechnen. Dies ist aber nicht Bestandteil der Aufgabe!

Eliminieren von \(A\) und \(S_1\) und \(S_2\) in die letzten beiden Gleichungen ergibt:

\begin{align} \label{eq-2.1.H-2} \Delta l_1 &= u_1 \tag{3} \\ \Delta l_2 &= u_2 - u_1 \tag{4} \\ \Delta l_1 &= \tfrac{l_1}{E\tfrac \pi 4 d^2} \left(F_2 - F_1\right) \tag{5'} \\ \Delta l_2 &= \tfrac{l_2}{E\tfrac \pi 4 d^2} F_2 \tag{6'} \end{align}

Dies sind vier Gleichungen für vier Unbekannte \(\Delta l_1, \Delta l_2, u_1, u_2\).

Eliminieren von \(\Delta l_1\) und \(\Delta l_2\) ergibt:

\begin{align} \label{eq-2.1.H-3} u_1 &= \tfrac{l_1}{E\tfrac \pi 4 d^2} \left(F_2 - F_1\right) \tag{3'} \\ u_2 - u_1 &= \tfrac{l_2}{E\tfrac \pi 4 d^2} F_2 \tag{4'} \end{align}

Dies sind zwei Gleichungen für zwei Unbekannte \(u_1, u_2\).

Eliminieren von \(u_1\) ergibt:

\begin{align} u_2 = \tfrac{4}{\pi E d^{2}} \left(- F_1 l_{1} + F_2 (l_{1} + l_{2})\right) \tag{4'} \end{align}

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

Berechnen Sie \(u_2\) in \({\mathrm{mm}}\) (Millimeter) gerundet auf Rundestellenwert \(0{,}001\) für folgende Größen:

\[\begin{split}(l_1,\,\, l_2) &= (0{,}6 \,\mathrm{m},\,\, 0{,}4 \,\mathrm{m}) \\ d &= 20 \,\mathrm{mm} \\ E &= 200 \,\mathrm{GPa} \\ \left( F_1, F_2 \right) &= \left(100 \,\mathrm{kN}, 40 \,\mathrm{kN}\right) \\\end{split}\]

Zeigen Sie, dass:

\[u_2 \stackrel{\scriptscriptstyle{0{,}001}}{\approx}-0{,}318 \,\mathrm{mm}\]

Lösung

Einsetzen der gegebenen Größen in die Lösung des Gleichungssystems liefert die Behauptung.

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

# Printing:
def printout(x, unit=1, prec="nil", sub_list=[]):
    x = x.subs(sub_list)
    x /= unit
    try: 
        x = x.applyfunc(simplify)
    except:
        tmp = x.simplify()
        if tmp != None:
            x = tmp
    if prec != "nil":
        x = iso_round(x, prec)
    pprint(x)
    return

# ---

l1, l2, d, E  = symbols("l1, l2, d, E", positive=True)
F1, F2 = symbols("F1, F2")

A = pi*d**2/4

sub_list = [
    ( l1  ,  0.6  *m   ),
    ( l2  ,  0.4  *m   ),
    ( d   ,  20   *mm  ),
    ( E   , 200   *GPa ),
    ( F1  , 100   *kN  ),
    ( F2  ,  40   *kN  ),
    ]

S1, S2, dl1, dl2, u1, u2 = symbols("S1, S2, dl1, dl2, u1, u2")

eq1 = Eq(  S1, E*A * dl1/l1 )
eq2 = Eq(  S2, E*A * dl2/l2 )
eq3 = Eq( dl1, u1           )
eq4 = Eq( dl2, u2 - u1      )
eq5 = Eq(  S1, F2 - F1      )
eq6 = Eq(  S2, F2           )


pprint("\nSolution:")
unks = [S1, S2, dl1, dl2, u1, u2]
eqns = [eq1, eq2, eq3, eq4, eq5, eq6]

sol = solve(eqns, unks)
pprint(sol)

pprint("\nu2 / mm:")
u2 = sol[u2]
printout(u2, unit=mm, prec=3, sub_list=sub_list)

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.