2.7.B

Gegeben

../../../_images/img5.png

Symbole:

  • \(a\)
    Länge des einseitig eingespannten Balkens.

  • \(EI\)
    Biegesteifigkeit des Balkens.

  • \(M_A\)
    Moment am linken Rand.

  • Balken-Bezugssystem:

    • \(x\) nach rechts, \(x=0\) am linken Rand.

    • \(z\) nach unten, \(z=0\) auf der Balken-Mittellinie.

    • \(y\) zu uns, \(y=0\) auf der Balken-Mittellinie.

Berechnen Sie den Neigungswinkel \(\psi_A\) am linken Balkenrand bei \(x=0\).

a) Biegemoment

Berechnen Sie das Biegemoment \(M(x)\) im Innern des Balkens, welches definiert ist für den Definitionsbereich \(0 < x < a.\) Das heißt: Drücken Sie \(M(x)\) aus abhängig von den gegebenen Symbolen.

\[M(x) = \ldots\]

Lösung

\[M(x) = - M_A\]

b) Formänderungsenergie

Berechnen Sie die Formänderungsenergie \(W\) des Balkens ab abhängig von den gegebenen Symbolen.

\[W = \ldots\]

Lösung

\[W = \tfrac 12 \tfrac{M_A^2 a}{EI}\]

c) Arbeit

Berechnen Sie die durch \(M_A\) am Balken geleistete Arbeit \(A\), und zwar abhängig von den gegebenen Symbolen und dem gesuchten Neigungswinkel \(\psi_A\).

\[A = \ldots\]

Lösung

\[A = \tfrac 12 M_A \psi_A\]

d) Neigungswinkel

Berechnen Sie den Neigungswinkel \(\psi_A\) für folgende Größen:

\[\begin{split}a &= 3 \,\mathrm{m} \\ M_A &= 30 \,\mathrm{kNm} \\ E &= 200 \,\mathrm{GPa} \\ I &= 65 \cdot 10^6 \,\mathrm{mm}^4\end{split}\]

Zeigen Sie, dass:

\[\psi_A \stackrel{\scriptscriptstyle{0{,}001}}{\approx}0{,}397^\circ\]

Lösung

Für die Symbole:

\[\begin{split}A &= W \\ \tfrac 12 M_A \psi_A &= \tfrac 12 \tfrac{M_A^2 a}{EI} \\ \psi_A &= \tfrac{M_A a}{EI} \\\end{split}\]

Einsetzen der gegebenen Größen liefert die Behauptung.

e) Funktionsgraph

Für die gegebenen Größen: Zeichnen Sie den Funktionsgraph der Funktion \(\psi(x)\) in das folgende Diagramm ein. Tipp:

\begin{align} EI w'' &= - M \tag{1}\\ w' &= - \psi\tag{2} \end{align}
../../../_images/imgAempty.svg

Lösung

../../../_images/imgA1.png

Es gilt:

  • Moment \(M(x)\) konstant in \(x\).

  • Verkrümmung \(w''\) konstant wegen Gleichung (1).

  • \(\psi'\) konstant wegen Gleichung (2). \(\psi\) ist also linear in \(x\).

  • \(\psi=0\) für \(x=a.\)

  • \(\psi=\psi_A\) für \(x=0.\)

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
from sympy import integrate

import matplotlib.pyplot as plt
from numpy import linspace
from matplotlib.ticker import FuncFormatter

# 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

x, MA = symbols("x, Mᴀ", real=True)
a, E, I = symbols("a, E, I", positive=True)


sub_list = [
    (  a,    3    *m       ),
    ( MA,   30    *kN*m    ),
    (  E,  200    *GPa     ),
    (  I,  65*10**6 *mm**4 ),
    ]

EI = E*I

W = half/EI*integrate(MA**2, (x, 0, a))


pA = symbols("ψᴀ", real=True)

A = half*MA*pA

pprint("\nψᴀ / deg:")
sol = solve(Eq(A, W), pA)
pA = sol[0]
printout(pA, unit=deg, prec=3, sub_list=sub_list)


# x / a:
x = linspace(0, 1, 301)
x3 = 3*x
x1 = x*3.

w = -x**2/2. + x - 0.5

a = 3.
MA = 30.*1000.
E = 200.*10.**9.
I = 65.*10.**6. * (1./1000.)**4.

fac = MA*a*a/(E*I)
w1 = 1000.*fac*w

psi = x - 1.0
fac /= a
psi1 = 180./float(pi)*fac*psi
f = -psi1

fig, ax = plt.subplots()

show = True
# show = False

ax.set(xlabel='x / m', ylabel='ψ / deg')
ax.set_xlim(0, 3)
ax.set_ylim(0, 0.4)
ax.grid()
# fig.savefig("imgA_empty.svg")
if show:
    ax.plot(x3, f, color="#00e4e4")
    outfile = "imgA.svg"
else:
    outfile = "imgAempty.svg"
def comma_formatter(x, pos):
    return str(iso_round(x,5)).replace('.', ',')


plt.gca().xaxis.set_major_formatter(FuncFormatter(comma_formatter))
plt.gca().yaxis.set_major_formatter(FuncFormatter(comma_formatter))

fig.savefig(outfile, transparent=True)

# fig.savefig("test.png")
plt.show()

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.