2.1.Q
Video
FEM-Lösung
siehe R2.A

Gegebene Symbole: \(F, E, A, l\)
Untersuchen Sie die Struktur aus drei Stäben mit E-Modul \(E\) und Querschnittsfläche \(A\).
Verwenden Sie folgende Abkürzungen:
Gehen Sie wie folgt vor:
Bezugssystem definieren und Knoten und Stäbe nummerieren. 1. Gleichgewicht, 2. Stab-Einheitsvektoren und (genäherte) Stabverlängerungen, 3. Elastizität, 4. Gleichungssystem und Lösung, 5. Einheiten und Plausibilität prüfen. Gelb = Gegeben. Orange = Unbekannt.Lösung auf einer Seite
1. Gleichgewicht
Machen Sie einen Knotenschnitt am Knoten 1. Geben Sie zwei Gleichgewichtsbedingungen an.
2. Kinematik: Einheitsvektoren und Verlängerungen
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.
\((x,y)\)-Komponenten der Einheitsvektoren: Stabverlängerungen:Lösung
3. Elastizität
Geben Sie die genäherten Stabverlängerungen an abhängig von den Stab-Zugkräften und den gegebenen Symbolen.
Die Stäbe 1 und 3 haben die Länge \(\sqrt 2 l\). Und Stab 2 hat die Länge \(l\).Lösung
4. Gleichungssystem und Lösung
Berechnen Sie abhängig von den gegebenen Symbolen:
Berechnen Sie außerdem \(u_{4y}\) für folgende Größen:
Und zwar in \(\mathrm{mm}\) (Millimeter) und gerundet auf Rundestellenwert \(0{,}0001\):
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:Lösung
5. Symmetrie
Zeigen Sie, dass Sie bei Ausnutzung der Symmetrie dieselbe Lösung erhalten.
6 Gleichungen zur Berechnung der 6 Unbekannten \((S_1, S_2', \Delta l_1, \Delta l_2, u_{4x}, u_{4y})\) und Lösung:Lösung
Nachfolgend ein Programm, dass Sie ausführen können: Auf dem PC z.B. mit Anaconda. Im Browser (online) in drei Schritten: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code als Python-Notebook einfügen z.B. auf: JupyterLite oder JupyterLab oder Play: Ausführen. Statt SymPy lieber anderes CAS (Computeralgebrasystem) verwenden? Eine Auswahl verschiedener CAS gibt es hier.SymPy
from sympy.physics.units import *
from sympy import *
# Units:
(mm, cm) = ( m/1000, m/100 )
kN = 10**3*newton
Pa = newton/m**2
MPa = 10**6*Pa
GPa = 10**9*Pa
deg = pi/180
half = S(1)/2
# Rounding:
import decimal
from decimal import Decimal as DX
from copy import deepcopy
def iso_round(obj, pv,
rounding=decimal.ROUND_HALF_EVEN):
import sympy
"""
Rounding acc. to DIN EN ISO 80000-1:2013-08
place value = Rundestellenwert
"""
assert pv in set([
# place value # round to:
"1", # round to integer
"0.1", # 1st digit after decimal
"0.01", # 2nd
"0.001", # 3rd
"0.0001", # 4th
"0.00001", # 5th
"0.000001", # 6th
"0.0000001", # 7th
"0.00000001", # 8th
"0.000000001", # 9th
"0.0000000001", # 10th
])
objc = deepcopy(obj)
try:
tmp = DX(str(float(objc)))
objc = tmp.quantize(DX(pv), rounding=rounding)
except:
for i in range(len(objc)):
tmp = DX(str(float(objc[i])))
objc[i] = tmp.quantize(DX(pv), rounding=rounding)
return objc
# 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 not symm:
unks = [S1, S2, S3, dl1, dl2, dl3, u4x, u4y]
eqns = [
Eq( 0, S1*c1 + S2*c2 + S3*c3 ),
Eq( 0, S1*s1 + S2*s2 + S3*s3 + F ),
Eq( dl1 , c*( u4x + u4y) ),
Eq( dl2 , u4y ),
Eq( dl3 , c*(-u4x + u4y) ),
Eq( dl1 , S1/EA * r*l ),
Eq( dl2 , S2/EA * l ),
Eq( dl3 , S3/EA * r*l ),
]
else:
unks = [S1, S2p, dl1, dl2, u4x, u4y]
eqns = [
Eq( 0, u4x ),
Eq( 0, S1*s1 + S2p + F/2 ),
Eq( dl1 , c*( u4x + u4y) ),
Eq( dl2 , u4y ),
Eq( dl1 , S1/EA * r*l ),
Eq( dl2 , S2p/(EA/2) * l ),
]
sol = solve(eqns, unks)
fac = F*l / EA
if not symm:
S1, S2, S3, dl1, dl2, dl3, u4x, u4y = \
sol[S1],sol[S2],sol[S3],sol[dl1],sol[dl2],sol[dl3],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)
pprint(tmp)
pprint("\nu4y / mm:")
tmp = u4y
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp,"0.0001")
pprint(tmp)
elif symm:
S1, dl1, dl2, u4x, u4y = \
sol[S1],sol[dl1],sol[dl2],sol[u4x],sol[u4y]
S2p = sol[S2p]
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)
pprint("\n(u4x, u4y) / (Fl/EA):")
tmp = Matrix([u4x, u4y])
tmp /= fac
tmp = tmp.simplify()
pprint(tmp)
pprint("\nu4y / mm:")
tmp = u4y
tmp = tmp.subs(sub_list)
tmp /= mm
tmp = iso_round(tmp,"0.0001")
pprint(tmp)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(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.9999