2.1.Q

Videos



Älteres Video zur Unvollständigen Lösung

FEM-Lösung

siehe R2.A

../../../_images/2.1.Q.png

Gegebene Symbole: \(F, E, A, l\)

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

../../../_images/2.1.Q_complete_all.png

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.physics.units import kg, m, s
from sympy import S, var, sqrt, Eq, solve, pprint, Matrix, pi, cos, sin, simplify, zeros

# Units:
N         =  kg*m/s**2
(mm, cm)  =  ( m/1000, m/100 )
kN        =  10**3*N
Pa        =  N/m**2
MPa       =  10**6*Pa
GPa       =  10**9*Pa
deg       =  pi/180
half      =  S(1)/2

# Rounding:
def iso_round(x, pv):
    try:
        x = float(x)
        tmp = round(x, pv)
    except TypeError:
        from functools import partial
        func = partial(round, ndigits = pv)
        tmp = x.applyfunc(func)
    return tmp

# Parameters:
F, E, A, l = var("F, E, A, l")
EA = E*A

sub_list = [
    ( F,        5 *kN     ),
    ( E,      200 *GPa    ),
    ( A,       25 *mm**2  ),
    ( l,     1707 *mm     ),
    ]

# Shortcuts:
p1, p2, p3 = 45 *deg, 90 *deg, 135 *deg
c1, c2, c3 = cos(p1), cos(p2), cos(p3)
s1, s2, s3 = sin(p1), sin(p2), sin(p3)
l1, l2, l3 = sqrt(2)*l, l, sqrt(2)*l

# Symbols:
S1, S2, S3    = var("S1, S2, S3")
dl1, dl2, dl3 = var("dl1, dl2, dl3")

u1x, u1y      = var("u1x, u1y")
u2x, u2y      = var("u2x, u2y")
u3x, u3y      = var("u3x, u3y")
u4x, u4y      = var("u4x, u4y")

u1 = Matrix([u1x, u1y])
u2 = Matrix([u2x, u2y])
u3 = Matrix([u3x, u3y])
u4 = Matrix([u4x, u4y])

R1x, R1y      = var("R1x, R1y")
R2x, R2y      = var("R2x, R2y")
R3x, R3y      = var("R3x, R3y")

R1 = Matrix([R1x, R1y])
R2 = Matrix([R2x, R2y])
R3 = Matrix([R3x, R3y])

e1 = Matrix([c1, s1])
e2 = Matrix([c2, s2])
e3 = Matrix([c3, s3])

Fv = Matrix([0, -F])

zero = Matrix([0, 0])

# Equations:
unks = [S1,S2,S3,\
        dl1,dl2,dl3,\
        u1x,u1y, u2x,u2y, u3x,u3y, u4x,u4y,\
        R1x,R1y, R2x,R2y, R3x,R3y
        ]

eqns = [
    Eq(          S1 ,  EA * dl1 / l1      ),
    Eq(          S2 ,  EA * dl2 / l2      ),
    Eq(          S3 ,  EA * dl3 / l3      ),
    Eq(          dl1 ,  e1.dot(u4 - u1 )  ),
    Eq(          dl2 ,  e2.dot(u4 - u2 )  ),
    Eq(          dl3 ,  e3.dot(u4 - u3 )  ),
    Eq(                 R1 + S1*e1, zero  ),
    Eq(                 R2 + S2*e2, zero  ),
    Eq(                 R3 + S3*e3, zero  ),
    Eq( Fv - S1*e1 - S2*e2 - S3*e3, zero  ), 
    Eq(                         u1, zero  ),
    Eq(                         u2, zero  ),
    Eq(                         u3, zero  ),
    ]

sol = solve(eqns, unks)

pprint("\n(S₁, S₂, S₃) / F:")
S1, S2, S3 = sol[S1], sol[S2], sol[S3]
for S in [S1, S2, S3]:
    tmp = S / F
    tmp = tmp.simplify()
    pprint(tmp)

pprint("\n(Δl₁, Δl₂, Δl₃) / ( Fl / (EA) ):")
dl1, dl2, dl3 = sol[dl1], sol[dl2], sol[dl3]
fac = F*l / EA
for dl in [dl1, dl2, dl3]:
    tmp = dl / fac
    tmp = tmp.simplify()
    pprint(tmp)

pprint("\n(u4x, u4y) / ( Fl / (EA) ):")
tmp = Matrix([sol[u4x], sol[u4y]])
tmp /= fac
tmp = tmp.applyfunc(simplify)
pprint(tmp)

pprint("\nu4y / mm:")
tmp = sol[u4y]
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp, 5)
pprint(tmp)
                 
(S₁, S₂, S₃) / F:
     √2
-1 + ──
     2 
-2 + √2
     √2
-1 + ──
     2 
                                
(Δl₁, Δl₂, Δl₃) / ( Fl / (EA) ):
1 - √2
-2 + √2
1 - √2
                           
(u4x, u4y) / ( Fl / (EA) ):
⎡   0   ⎤
⎢       ⎥
⎣-2 + √2⎦
         
u4y / mm:
-0.99994

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

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

../../../_images/2.1.Q_incomplete_all.png

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.physics.units import kg, m, s
from sympy import S, var, sqrt, Eq, solve, pprint, Matrix, pi, cos, sin, simplify

# Units:
N         =  kg*m/s**2
(mm, cm)  =  ( m/1000, m/100 )
kN        =  10**3*N
Pa        =  N/m**2
MPa       =  10**6*Pa
GPa       =  10**9*Pa
deg       =  pi/180
half      =  S(1)/2

# Rounding:
def iso_round(x, pv):
    try:
        x = float(x)
        tmp = round(x, pv)
    except TypeError:
        from functools import partial
        func = partial(round, ndigits = pv)
        tmp = x.applyfunc(func)
    return tmp

# Parameters:
F, E, A, l = var("F, E, A, l")
EA = E*A

# Shortcuts:
p1, p2, p3 = 45 *deg, 90 *deg, 135 *deg
c1, c2, c3 = cos(p1), cos(p2), cos(p3)
s1, s2, s3 = sin(p1), sin(p2), sin(p3)

r = sqrt(2)
c = r / 2

# Symbols:
S1, S2, S2p, S3    = var("S1, S2, S2p, S3")
dl1, dl2, dl3 = var("dl1, dl2, dl3")
u4x, u4y      = var("u4x, u4y")

sub_list = [
    ( F,        5 *kN     ),
    ( E,      200 *GPa    ),
    ( A,       25 *mm**2  ),
    ( l,     1707 *mm     ),
    ]

symm = True
# symm = False

# Equations:
if symm:
    pprint("Symmetry used.")
    unks = [S1, S2p, dl1, dl2, u4x, u4y]         # 6 Unknowns.
    eqns = [                                     # 6 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2p/(EA/2) * l  ),   # 2
        Eq(             0,  u4x             ),   # 3
        Eq(    0, S1*s1 + S2p + F/2         ),   # 4
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 5
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 6
        ]    
else:
    pprint("Symmetry not used.")
    unks = [S1, S2, S3, dl1, dl2, dl3, u4x, u4y] # 8 Unknowns.
    eqns = [                                     # 8 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2/EA * l       ),   # 2
        Eq(          dl3 ,  S3/EA * r*l     ),   # 3
        Eq(     - S1*c1 - S2*c2 - S3*c3, 0  ),   # 4
        Eq(  -F - S1*s1 - S2*s2 - S3*s3, 0  ),   # 5
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 6
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 7
        Eq(    dl3 ,  c3 * u4x + s3 * u4y   ),   # 8
        ]


sol = solve(eqns, unks)
fac = F*l / EA
if symm:
    S1, S2p  = sol[S1],  sol[S2p]
    dl1, dl2 = sol[dl1], sol[dl2]
    u4x, u4y = sol[u4x], sol[u4y]
    
    pprint("\n(S₁, S₂') / F:")
    for S in [S1, S2p]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂) / (Fl/EA):")
    for s in [dl1, dl2]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)
else:
    S1, S2, S3    = sol[S1],  sol[S2],  sol[S3]
    dl1, dl2, dl3 = sol[dl1], sol[dl2], sol[dl3]
    u4x, u4y      = sol[u4x], sol[u4y]

    pprint("\n(S₁, S₂, S₃) / F:")
    for S in [S1, S2, S3]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂, Δl₃) / ( Fl / (EA) ):")
    for s in [dl1, dl2, dl3]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)

pprint("\n(u4x, u4y) / ( Fl / (EA) ):")
tmp = Matrix([u4x, u4y])
tmp /= fac
tmp = tmp.applyfunc(simplify)
tmp = tmp.expand()
pprint(tmp)

pprint("\nu4y / mm:")
tmp = u4y
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp, 5)
pprint(tmp)


              
(S₁, S₂') / F:
     √2
-1 + ──
     2 
     √2
-1 + ──
     2 
                     
(Δl₁, Δl₂) / (Fl/EA):
1 - √2
-2 + √2
                     
(u4x, u4y) / (Fl/EA):
None
         
u4y / mm:
-0.99994

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

Untersuchen Sie die Struktur aus drei Stäben mit E-Modul \(E\) und Querschnittsfläche \(A\).

Gehen Sie wie folgt vor:

a) Elastizität

Geben Sie Stabkräfte an abhängig von den genäherten Stabverlängerungen und den gegebenen Symbolen. D.h. notieren Sie das Hookesche Gesetz für die drei Stäbe.

Lösung

Die Stäbe 1 und 3 haben die Länge \(\sqrt 2 l\). Und Stab 2 hat die Länge \(l\).

\begin{align} S_1 &= EA \tfrac{\Delta l_1}{\sqrt 2 l}\tag{1, $\,\,S_1, \Delta l_1$}\\ S_2 &= EA \tfrac{\Delta l_2}{l} \tag{2, $\,\,S_2, \Delta l_2$} \\ S_3 &= EA \tfrac{\Delta l_3}{\sqrt 2 l}\tag{3, $\,\,S_3, \Delta l_3$} \end{align}

b) Gleichgewicht

Machen Sie einen Knotenschnitt am Knoten 4. Geben Sie zwei Gleichgewichtsbedingungen an.

Lösung

../../../_images/2.1.Q_1.png

c) Kinematik

Geben Sie die (genäherten) Stabverlängerungen \(\Delta l_1, \Delta l_2, \Delta l_3\) an abhängig von den \((x,y)\)-Komponenten \((u_{4x}, u_{4y})\) des Verschiebungsvektors \(\boldsymbol u_4\) von Knoten 4.

Lösung

\((x,y)\)-Komponenten der Einheitsvektoren:

\begin{align*} \begin{bmatrix} e_{1x} \\ e_{1y} \end{bmatrix} &= \begin{bmatrix} c_{45^\circ} \\ s_{45^\circ} \end{bmatrix} \\ \begin{bmatrix} e_{2x} \\ e_{2y} \end{bmatrix} &= \begin{bmatrix} c_{90^\circ} \\ s_{90^\circ} \end{bmatrix} \\ \begin{bmatrix} e_{3x} \\ e_{3y} \end{bmatrix} &= \begin{bmatrix} c_{135^\circ} \\ s_{135^\circ} \end{bmatrix} \end{align*}

Stabverlängerungen:

\begin{align*} \Delta l_1 &= \begin{bmatrix} c_{45^\circ} & s_{45^\circ} \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= \begin{bmatrix} \tfrac{\sqrt2}{2} & \tfrac{\sqrt2}{2} \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= \tfrac{\sqrt2}{2} (u_{4x} + u_{4y})\tag{6, $\,\,u_{4x}, u_{4y}$} \\ \Delta l_2 &= \begin{bmatrix} c_{90^\circ} & s_{90^\circ} \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= \begin{bmatrix} 0 & 1 \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= u_{4y}\tag{7} \\ \Delta l_3 &= \begin{bmatrix} c_{135^\circ} & s_{135^\circ} \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= \begin{bmatrix} \tfrac{-\sqrt2}{2} & \tfrac{\sqrt2}{2} \end{bmatrix} \begin{bmatrix} u_{4x} \\ u_{4y} \end{bmatrix} \\ &= \tfrac{\sqrt2}{2} (-u_{4x} + u_{4y})\tag{8} \end{align*}

d) Gleichungssystem und Lösung

Berechnen Sie abhängig von den gegebenen Symbolen:

\begin{align*} S_1 &= \ldots F \\ S_2 &= \ldots F \\ S_3 &= \ldots F \\ \Delta l_1 &= \ldots \frac{Fl}{EA} \\ \Delta l_2 &= \ldots \frac{Fl}{EA} \\ \Delta l_3 &= \ldots \frac{Fl}{EA} \\ u_{4x} &= \ldots \frac{Fl}{EA} \\ u_{4y} &= \ldots \frac{Fl}{EA} \end{align*}

Berechnen Sie außerdem \(u_{4y}\) für folgende Größen:

\begin{align*} F &= 5\,\mathrm{kN} \\ E &= 200\,\mathrm{GPa} \\ A &= 25\,\mathrm{mm}^2 \\ l &= 1707\,\mathrm{mm} \end{align*}

Und zwar in \(\mathrm{mm}\) (Millimeter) und gerundet auf Rundestellenwert \(0{,}00001\):

\[u_{4y} \stackrel{\small{0{,}00001}}{\approx} \ldots \, \mathrm{mm}\]

Lösung

Die o.g. Gleichungen sind 8 Gleichungen zur Berechnung der 8 Unbekannten \((S_1, S_2, S_3, \Delta l_1, \Delta l_2, \Delta l_3, u_{4x}, u_{4y})\).

Lösung:

\begin{align*} S_1 &= \left(-1 + \frac{\sqrt{2}}{2} \right) F \notag \\ S_2 &= \left(-2 + \sqrt{2} \right) F \notag \\ S_3 &= \left(-1 + \frac{\sqrt{2}}{2} \right) F \notag \\ \Delta l_1 &= \left( - \sqrt{2} + 1 \right) \frac{Fl}{EA} \notag \\ \Delta l_2 &= \left( -2 + \sqrt{2} \right) \frac{Fl}{EA} \notag \\ \Delta l_3 &= \left( - \sqrt{2} + 1 \right) \frac{Fl}{EA} \notag \\ u_{4x} &= 0 \cdot \frac{Fl}{EA}\notag \\ u_{4y} &= \left( -2 + \sqrt{2} \right) \frac{Fl}{EA} \notag \\ \notag \\ u_{4y} &\stackrel{\small{0{,}00001}}{\approx} -0{,}99994\,\mathrm{mm} \end{align*}

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.physics.units import kg, m, s
from sympy import S, var, sqrt, Eq, solve, pprint, Matrix, pi, cos, sin, simplify

# Units:
N         =  kg*m/s**2
(mm, cm)  =  ( m/1000, m/100 )
kN        =  10**3*N
Pa        =  N/m**2
MPa       =  10**6*Pa
GPa       =  10**9*Pa
deg       =  pi/180
half      =  S(1)/2

# Rounding:
def iso_round(x, pv):
    try:
        x = float(x)
        tmp = round(x, pv)
    except TypeError:
        from functools import partial
        func = partial(round, ndigits = pv)
        tmp = x.applyfunc(func)
    return tmp

# Parameters:
F, E, A, l = var("F, E, A, l")
EA = E*A

# Shortcuts:
p1, p2, p3 = 45 *deg, 90 *deg, 135 *deg
c1, c2, c3 = cos(p1), cos(p2), cos(p3)
s1, s2, s3 = sin(p1), sin(p2), sin(p3)

r = sqrt(2)
c = r / 2

# Symbols:
S1, S2, S2p, S3    = var("S1, S2, S2p, S3")
dl1, dl2, dl3 = var("dl1, dl2, dl3")
u4x, u4y      = var("u4x, u4y")

sub_list = [
    ( F,        5 *kN     ),
    ( E,      200 *GPa    ),
    ( A,       25 *mm**2  ),
    ( l,     1707 *mm     ),
    ]

symm = True
# symm = False

# Equations:
if symm:
    pprint("Symmetry used.")
    unks = [S1, S2p, dl1, dl2, u4x, u4y]         # 6 Unknowns.
    eqns = [                                     # 6 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2p/(EA/2) * l  ),   # 2
        Eq(             0,  u4x             ),   # 3
        Eq(    0, S1*s1 + S2p + F/2         ),   # 4
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 5
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 6
        ]    
else:
    pprint("Symmetry not used.")
    unks = [S1, S2, S3, dl1, dl2, dl3, u4x, u4y] # 8 Unknowns.
    eqns = [                                     # 8 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2/EA * l       ),   # 2
        Eq(          dl3 ,  S3/EA * r*l     ),   # 3
        Eq(     - S1*c1 - S2*c2 - S3*c3, 0  ),   # 4
        Eq(  -F - S1*s1 - S2*s2 - S3*s3, 0  ),   # 5
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 6
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 7
        Eq(    dl3 ,  c3 * u4x + s3 * u4y   ),   # 8
        ]


sol = solve(eqns, unks)
fac = F*l / EA
if symm:
    S1, S2p  = sol[S1],  sol[S2p]
    dl1, dl2 = sol[dl1], sol[dl2]
    u4x, u4y = sol[u4x], sol[u4y]
    
    pprint("\n(S₁, S₂') / F:")
    for S in [S1, S2p]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂) / (Fl/EA):")
    for s in [dl1, dl2]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)
else:
    S1, S2, S3    = sol[S1],  sol[S2],  sol[S3]
    dl1, dl2, dl3 = sol[dl1], sol[dl2], sol[dl3]
    u4x, u4y      = sol[u4x], sol[u4y]

    pprint("\n(S₁, S₂, S₃) / F:")
    for S in [S1, S2, S3]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂, Δl₃) / ( Fl / (EA) ):")
    for s in [dl1, dl2, dl3]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)

pprint("\n(u4x, u4y) / ( Fl / (EA) ):")
tmp = Matrix([u4x, u4y])
tmp /= fac
tmp = tmp.applyfunc(simplify)
tmp = tmp.expand()
pprint(tmp)

pprint("\nu4y / mm:")
tmp = u4y
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp, 5)
pprint(tmp)


              
(S₁, S₂') / F:
     √2
-1 + ──
     2 
     √2
-1 + ──
     2 
                     
(Δl₁, Δl₂) / (Fl/EA):
1 - √2
-2 + √2
                     
(u4x, u4y) / (Fl/EA):
None
         
u4y / mm:
-0.99994

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

e) Symmetrie

Zeigen Sie, dass Sie bei Ausnutzung der Symmetrie dieselbe Lösung erhalten.

Lösung

../../../_images/2.1.Q_symm.png

6 Gleichungen zur Berechnung der 6 Unbekannten \((S_1, S_2', \Delta l_1, \Delta l_2, u_{4x}, u_{4y})\) und Lösung:

\begin{align*} \Delta l_1 &= \tfrac{S_1}{EA} \sqrt 2 l \tag{1} \\ \Delta l_2 &= \tfrac 1 2 \tfrac{S_2}{EA} l \tag{2} \\ \Delta l_1 &= \tfrac{\sqrt2}{2} (u_{4x} + u_{4y}) \tag{3} \\ \Delta l_2 &= u_{4y} \tag{4} \\ 0 &= \tfrac 1 2 F + S_1 c_1 + S_2' \tag{5} \\ 0 &= u_{4x} \tag{6}\\ \notag\\ S_1 &= \left(-1 + \frac{\sqrt{2}}{2} \right) F \notag \\ S_2' &= \tfrac 1 2 \left(-2 + \sqrt{2} \right) F = \tfrac12 S_2 \notag \\ \Delta l_1 &= \left( - \sqrt{2} + 1 \right) \frac{Fl}{EA} \notag \\ \Delta l_2 &= \left( -2 + \sqrt{2} \right) \frac{Fl}{EA} \notag \\ u_{4x} &= 0 \cdot \frac{Fl}{EA}\notag \\ u_{4y} &= \left( -2 + \sqrt{2} \right) \frac{Fl}{EA} \notag \end{align*}

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.physics.units import kg, m, s
from sympy import S, var, sqrt, Eq, solve, pprint, Matrix, pi, cos, sin, simplify

# Units:
N         =  kg*m/s**2
(mm, cm)  =  ( m/1000, m/100 )
kN        =  10**3*N
Pa        =  N/m**2
MPa       =  10**6*Pa
GPa       =  10**9*Pa
deg       =  pi/180
half      =  S(1)/2

# Rounding:
def iso_round(x, pv):
    try:
        x = float(x)
        tmp = round(x, pv)
    except TypeError:
        from functools import partial
        func = partial(round, ndigits = pv)
        tmp = x.applyfunc(func)
    return tmp

# Parameters:
F, E, A, l = var("F, E, A, l")
EA = E*A

# Shortcuts:
p1, p2, p3 = 45 *deg, 90 *deg, 135 *deg
c1, c2, c3 = cos(p1), cos(p2), cos(p3)
s1, s2, s3 = sin(p1), sin(p2), sin(p3)

r = sqrt(2)
c = r / 2

# Symbols:
S1, S2, S2p, S3    = var("S1, S2, S2p, S3")
dl1, dl2, dl3 = var("dl1, dl2, dl3")
u4x, u4y      = var("u4x, u4y")

sub_list = [
    ( F,        5 *kN     ),
    ( E,      200 *GPa    ),
    ( A,       25 *mm**2  ),
    ( l,     1707 *mm     ),
    ]

symm = True
# symm = False

# Equations:
if symm:
    pprint("Symmetry used.")
    unks = [S1, S2p, dl1, dl2, u4x, u4y]         # 6 Unknowns.
    eqns = [                                     # 6 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2p/(EA/2) * l  ),   # 2
        Eq(             0,  u4x             ),   # 3
        Eq(    0, S1*s1 + S2p + F/2         ),   # 4
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 5
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 6
        ]    
else:
    pprint("Symmetry not used.")
    unks = [S1, S2, S3, dl1, dl2, dl3, u4x, u4y] # 8 Unknowns.
    eqns = [                                     # 8 Equations:
        Eq(          dl1 ,  S1/EA * r*l     ),   # 1
        Eq(          dl2 ,  S2/EA * l       ),   # 2
        Eq(          dl3 ,  S3/EA * r*l     ),   # 3
        Eq(     - S1*c1 - S2*c2 - S3*c3, 0  ),   # 4
        Eq(  -F - S1*s1 - S2*s2 - S3*s3, 0  ),   # 5
        Eq(    dl1 ,  c1 * u4x + s1 * u4y   ),   # 6
        Eq(    dl2 ,  c2 * u4x + s2 * u4y   ),   # 7
        Eq(    dl3 ,  c3 * u4x + s3 * u4y   ),   # 8
        ]


sol = solve(eqns, unks)
fac = F*l / EA
if symm:
    S1, S2p  = sol[S1],  sol[S2p]
    dl1, dl2 = sol[dl1], sol[dl2]
    u4x, u4y = sol[u4x], sol[u4y]
    
    pprint("\n(S₁, S₂') / F:")
    for S in [S1, S2p]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂) / (Fl/EA):")
    for s in [dl1, dl2]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)
else:
    S1, S2, S3    = sol[S1],  sol[S2],  sol[S3]
    dl1, dl2, dl3 = sol[dl1], sol[dl2], sol[dl3]
    u4x, u4y      = sol[u4x], sol[u4y]

    pprint("\n(S₁, S₂, S₃) / F:")
    for S in [S1, S2, S3]:
        tmp = S / F
        tmp = tmp.simplify()
        pprint(tmp)

    pprint("\n(Δl₁, Δl₂, Δl₃) / ( Fl / (EA) ):")
    for s in [dl1, dl2, dl3]:
        tmp = s / fac
        tmp = tmp.simplify()
        pprint(tmp)

pprint("\n(u4x, u4y) / ( Fl / (EA) ):")
tmp = Matrix([u4x, u4y])
tmp /= fac
tmp = tmp.applyfunc(simplify)
tmp = tmp.expand()
pprint(tmp)

pprint("\nu4y / mm:")
tmp = u4y
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp, 5)
pprint(tmp)


              
(S₁, S₂') / F:
     √2
-1 + ──
     2 
     √2
-1 + ──
     2 
                     
(Δl₁, Δl₂) / (Fl/EA):
1 - √2
-2 + √2
                     
(u4x, u4y) / (Fl/EA):
None
         
u4y / mm:
-0.99994

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