2.1.N

Gegeben

../../../_images/2.1.N.png

Symbole:

\[a, F, E, A\]

\(E, A\) für alle Stäbe gleich.

Finden Sie die unvollständige Lösung mit 2·k + 2·s - r = 9 Gleichungen und Unbekannten. Gehen Sie wie folgt vor:

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

../../../_images/all.X6.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, simplify, default_sort_key

# 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
cm        =  m/100
mm        =  m/1000

# Given Symbols:
a, EA, F = symbols("a, EA, F")

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

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

# External Forces:
R1 = Matrix([R1x, R1y])
R3 = Matrix([R3x, 0])
F2 = Matrix([0, -F])

# Unit Vectors:
e1 = Matrix([1, 0])
c = sqrt(2)/2
e2 = Matrix([-c , c])
e3 = Matrix([0, 1])

Zero = Matrix([0, 0])

# Equations
eq_1_2 = Eq(u1, Zero)
eq_3 = Eq(u3x, 0)

eq_4_5 = Eq(R1 + S1*e1 + S3*e3, Zero)
eq_6_7 = Eq(F2 - S1*e1 + S2*e2, Zero)
eq_8_9 = Eq(R3 - S2*e2 - S3*e3, Zero)

eq_10 = Eq(S1, EA * dl1 / a           )
eq_11 = Eq(S2, EA * dl2 / (sqrt(2)*a) )
eq_12 = Eq(S3, EA * dl3 / a           )

eq_13 = Eq(dl1, e1.dot(u2 - u1))
eq_14 = Eq(dl2, e2.dot(u3 - u2))
eq_15 = Eq(dl3, e3.dot(u3 - u1))

# Linear System:
eqns = [eq_1_2, eq_3, eq_4_5, eq_6_7, eq_8_9, eq_10, eq_11, eq_12, eq_13, eq_14, eq_15]
unks = [S1,S2,S3, dl1,dl2,dl3, u1x,u1y,u2x,u2y,u3x,u3y, R1x,R1y,R3x]

pprint("\nSolution (all zero-results suppressed):")
sol = solve(eqns, unks)
for s in sorted(sol, key=default_sort_key):
   tmp = sol[s]
   if tmp != 0:
      pprint("\n")
      tmp /= F
      pprint(str(s)+" / F:")
      tmp = tmp.simplify()
      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.

Unvollständige Lösung mit 2·k + 2·s - r = 9 Gleichungen und Unbekannten auf einer Seite

../../../_images/all-1.X3.png

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

a) Gleichgewicht

Es gibt drei Gleichgewichtsbedingungen, in denen die Stabkräfte \(S_1, S_2, S_3\) auftauchen, aber keine Lagerreaktionen. Sie können diese drei Aussagen aus Knotenschnitten um den Knoten 2 bzw. um den Knoten 3. Finden Sie diese drei Aussagen.

Lösung

b) Kinematik

Berechnen Sie die (genäherten) Stabverlängerungen \(\Delta l_1, \Delta l_2, \Delta l_3\) abhängig von \(u_{2x}, u_{2y}, u_{3y}\).

Lösung

../../../_images/2.1.N_2.png

Seien \(\boldsymbol u_1, \boldsymbol u_2, \boldsymbol u_3\) die Knoten-Verschiebungs-Vektoren. Und seien \(\boldsymbol e_1, \boldsymbol e_2, \boldsymbol e_3\) die Einheitsvektoren entlang der Stäbe mit den \((x,y)\)-Komponenten:

\[\begin{split}\begin{bmatrix} e_{1x} \\ e_{1y} \end{bmatrix} &= \begin{bmatrix} 1 \\ 0 \end{bmatrix} \\ \begin{bmatrix} e_{2x} \\ e_{2y} \end{bmatrix} &= \begin{bmatrix} -\tfrac{\sqrt 2}{2} \\ \tfrac{\sqrt 2}{2} \end{bmatrix} \\ \begin{bmatrix} e_{3x} \\ e_{3y} \end{bmatrix} &= \begin{bmatrix} 0 \\ 1 \end{bmatrix}\end{split}\]

Es gelten folgende Näherungen für die Stabverlängerungen:

\[\begin{split}\Delta l_1 &= \boldsymbol e_1 \cdot \left( \boldsymbol u_2 - \boldsymbol u_1 \right) \\ \Delta l_2 &= \boldsymbol e_2 \cdot \left( \boldsymbol u_3 - \boldsymbol u_2 \right) \\ \Delta l_3 &= \boldsymbol e_3 \cdot \left( \boldsymbol u_3 - \boldsymbol u_1 \right)\end{split}\]

Geschrieben mit Matrix-Multiplikation:

\begin{align*} \Delta l_1 &= \begin{bmatrix} c_1 & s_1 \end{bmatrix} \left( \begin{bmatrix} u_{2x} \\ u_{2y} \end{bmatrix} - \begin{bmatrix} u_{1x} \\ u_{1y} \end{bmatrix} \right) \\ &= \begin{bmatrix} 1 & 0 \end{bmatrix} \begin{bmatrix} u_{2x} \\ u_{2y} \end{bmatrix} \\ &= u_{2x} \tag{4} \\ \Delta l_2 &= \begin{bmatrix} c_2 & s_2 \end{bmatrix} \left( \begin{bmatrix} u_{3x} \\ u_{3y} \end{bmatrix} - \begin{bmatrix} u_{2x} \\ u_{2y} \end{bmatrix} \right) \\ &= \begin{bmatrix} -\tfrac{\sqrt 2}{2} & \tfrac{\sqrt 2}{2} \end{bmatrix} \begin{bmatrix} - u_{2x} \\ u_{3y} - u_{2y} \end{bmatrix} \\ &= \tfrac{\sqrt 2}{2} u_{2x} + \tfrac{\sqrt 2}{2} \left(u_{3y} - u_{2y}\right) \tag{5} \\ \Delta l_3 &= \begin{bmatrix} c_3 & s_3 \end{bmatrix} \left( \begin{bmatrix} u_{3x}\\ u_{3y} \end{bmatrix} - \begin{bmatrix} u_{1x} \\ u_{1y} \end{bmatrix} \right) \\ &= \begin{bmatrix} 0 & 1 \end{bmatrix} \begin{bmatrix} 0 \\ u_{3y} \end{bmatrix} \\ &= u_{3y} \tag{6} \end{align*}

c) Elastizität

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

Lösung

Stablängen:

\[\begin{split}l_1 &= a \\ l_2 &= \sqrt 2 a \\ l_3 &= a\end{split}\]

Hookesches Gesetz:

\begin{align*} S_1 &= EA \tfrac{\Delta l_1}{l_1} \\ &= EA \tfrac{\Delta l_1}{a} \tag{7}\\ S_2 &= EA \tfrac{\Delta l_2}{l_2} \\ &= EA \tfrac{\Delta l_2}{\sqrt 2 a} \tag{8}\\ S_3 &= EA \tfrac{\Delta l_3}{l_3} \\ &= EA \tfrac{\Delta l_3}{a} \tag{9} \end{align*}

d) Lösung für Symbole

Zeigen Sie, dass:

\[u_{2x} = - \tfrac{Fa}{EA} \qquad \qquad u_{2y} = - \tfrac{2 Fa}{EA}\left(1 + \sqrt 2 \right) \qquad \quad u_{3y} = - \tfrac{Fa}{EA}\]

Lösung

Gleichungssystem mit 2·k + 2·s - r = 9 Gleichungen und Unbekannten:

\begin{align*} S_3 + S_2 c_{45^\circ} &= 0 \tag{1}\\ S_2 c_{45^\circ} &= F \tag{2}\\ S_1 + S_2 c_{45^\circ} &= 0 \tag{3}\\ \Delta l_1 &= u_{2x} \tag{4}\\ \Delta l_2 &=\tfrac{\sqrt 2}{2} u_{2x} + \tfrac{\sqrt 2}{2} \left(u_{3y} - u_{2y}\right)\tag{5}\\ \Delta l_3 &= u_{3y} \tag{6}\\ S_1 &= EA \tfrac{\Delta l_1}{a} \tag{7}\\ S_2 &= EA \tfrac{\Delta l_2}{\sqrt 2 a} \tag{8}\\ S_3&= EA \tfrac{\Delta l_3}{a} \tag{9} \end{align*}

Schritte zur Lösung des Gleichungssystems:

  1. Stabkräfte \(S_1, S_2, S_3\) aus den ersten 3 Gleichungen berechnen.

  2. Diese Stabkräfte in die letzten drei Gleichungen einsetzen.

  3. Verlängerungen \(\Delta l_1, \Delta l_2, \Delta l_3\) eliminieren.

  4. Die gesuchten Verschiebungen \(u_{2x}, u_{2y}. u_{3y}\) ablesen.

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

Berechnen Sie \(u_{2y}\) in \(\mathrm{mm}\) (Millimeter) für die Größen:

\[a = 1 \,\mathrm{m} \qquad\quad F = 1 \,\mathrm{kN} \qquad\quad E = 210 \,\mathrm{GPa} \qquad\quad A = 1 \,\mathrm{cm}^2\]

Runden Sie auf Rundestellenwert \(0{,}01\) Zeigen Sie, dass:

\[u_{2y} \stackrel{\scriptscriptstyle{0{,}01}}{\approx} - 0{,}23 \,\mathrm{mm}\]

Lösung

Einsetzen der gegebenen Größen liefert wie behauptet:

\[u_{2y} \stackrel{\scriptscriptstyle{0{,}01}}{\approx}- 0{,}23 \,\mathrm{mm}\]

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
cm        =  m/100
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

# ---

a, F, EA = symbols("a, F, EA")

sub_list = [
    (a, 1 *m),
    (F, 1 *kN),
    (EA, 210 *GPa * 1 *cm**2)
    ]

l1, l2, l3 = a, sqrt(2)*a, a
S1, S2, S3 = - F, sqrt(2)*F, -F
dl1, dl2, dl3 = l1/EA*S1, l2/EA*S2, l3/EA*S3

s22 = sqrt(2)/2
e1 = Matrix([1, 0])
e2 = Matrix([-s22, s22])
e3 = Matrix([0, 1])

u2x, u2y, u3y = symbols("u2x, u2y, u3y")
u1 = Matrix([0,0])
u2 = Matrix([u2x,u2y])
u3 = Matrix([0,u3y])

eq1 = Eq(dl1, e1.dot(u2-u1))
eq2 = Eq(dl2, e2.dot(u3-u2))
eq3 = Eq(dl3, e3.dot(u3-u1))

sol = solve([eq1, eq2, eq3],[u2x, u2y, u3y])
pprint(sol)
u2y = sol[u2y]

pprint("\nu2y:")
printout(u2y, unit=1, prec="nil", sub_list=[])

pprint("\nu2y / mm:")
printout(u2y, unit=mm, prec=2, 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.