Gelöste Aufgaben/UEBB
Aufgabenstellung
Der Euler-Bernoulli-Balken AB wird durch eine linear veränderliche Streckenlast belastet. Gesucht ist die Lösung für w(x) mit dem Ansatz von Ritz und zwei Trial-Functions.
Lösung mit Matlab
Für dieses Problem finden wir in der Literatur die tabellierte Musterlösung
- .
Die verwenden wir als Referenz, um die Qualität unserer Näherungslösung zu bewerten. Die Auslenkung der analytischen Lösung ist am rechten Rand (x=ℓ) ist maximal und beträgt
- Damit können wir die beiden Lösungen vergleichen und die Bewegungsgleichung nach Ritz dimensionslos machen.
Für den Ritz-Ansatz brauchen wir die Terme der Potentiellen Energie des Systems
- ,
wobei Π die Formänderungsenergie ist und A die Arbeitsfunktion der äußeren Last q(x).
Es ist
- Für den Ritz-Ansatz verwenden wir Ganzfeld-Ansätze - also Formfunktionen für die Näherung der exakten Lösung, die sich über die gesamte Balkenlänge erstrecken.
Der Ansatz ist allgemein
- ,
wobei die ϕi die linear unabhängigen Formfunktionen und die Wi die Wichtungsfaktoren sind, die wir so bestimmen, dass die Gesamtlösung bestmöglich die gesuchte Funktion approximiert.
Für die wählen wir ausschließlich Polynome - die können wir bequem differenzieren und integrieren.
✔ Matlab© und Polynome: |
Alle verwendeten Funktionen in diesem Beispiel sind Polynome. Matlab© bietet für die Manipulation von Polynomen eine Klasse von Functions an, die hier hilfreich sind: |
Header
Lösung mit Matlab R2015a
%*****************************************************%
% Matlab script %
% version: Matlab R2015a %
% author: Andreas Baumgart %
% last updated: 2017-10-19 %
% ref: Gross e.a. TM 2 - Aufgaben zu Biegung, #7 %
% description: Lösung mit Ritz-Ansatz %
% %
%*****************************************************%
Formfunctions
Wir setzen zuerst für die Näherungslösung
an - in der die beiden ϕi die geometrischen Randbedingungen
erfüllen.
Wir setzen jetzt dimensionslos an, also
und wählen als Bezugslänge
Die berechnete Auslenkung des Balkens am rechten Rand sollte also im Idealfall - wenn analytische und approximierte Lösung gleich sind - zusammenfallen. Dann müssten wir herausbekommen:
Zusätzlich schreiben die ϕi mit der dimensionslose Koordinate ξ, so dass
In Matlab-Notation sind das die Polynome
[0,1,0,0]
und[1,0,0,0]
.
Uns fehlt noch das Polynom für die Streckenlast
- ,
in Matlab bilden wir es durch [-1,1]
ab.
% Ansatz-Polynome Definieren
% diese erfüllen die geometrischen Randbedingungen
phi = [[0,1,0,0];[1,0,0,0]]
% Matrizen für das lineare Gleichungssystem
% in W[2] und W[3] vorbereiten
A = zeros(2,2)
b = zeros(2,1)
Potential Energy
Für die Gleichgewichtsbedingungen setzten wir Π und A in U ein und schreiben die skalare Gleichung in Matrizenform an. Dabei müssen wir
und erhalten
mit
- .
Mit der analytischen Lösung für w(ℓ) oben bleibt
mit
- .
Die seltsam anmutende Notation mit 1/2*1/30 hat seinen Sinn in der Anknüpfung an die Minimum Prinzipe und die Lösung der Gleichgewichtsbeziehungen.
% Matrizen besetzen
for i= 1:2
for j=1:2
E = conv(
polyder(polyder(phi(i,:))),
polyder(polyder(phi(j,:))))
I = polyint(E)
A(i,j) = diff(polyval(I,[0 1]))
end
b(i,1) = diff(polyval(polyint(
conv([-1,1],phi(i,:))),
[0 1]))
end
Equilibrium Conditions
Diese Gleichung erfüllt die Gleichgewichtsbedingungen
- ,
wenn
- .
% left blank intentionally
Solving
Das lineare Gleichungssystem löst in Matlab der Befehl
linsolve(.,.)
für uns.
Hier ist
und wir sehen: unser Wunsch
von oben ist sogar exakt - nicht nur näherungsweise - erfüllt!
% nach x (W[2],W[3]) lösen
x = linsolve(A/30,b)
Post-Processing
Die Näherungslösung und die analytische Lösung können wir jetzt im Vergleich auftragen:
% … und plotten
% analytische Ösung
a = [-1,5,-10,+10,0,0]/4.
% genäherte Lösung in Teilen
w = [x(1)*phi(1,:);
x(2)*phi(2,:)]
xi = linspace(0,1,100)
p = [polyval(a,xi);
polyval(w(1,:),xi);
polyval(w(2,:),xi)]
fig = plot(xi,p(1,:),xi,p(2,:)+p(3,:))
title('analytische und approximierte Lösung')
xlabel('ξ →')
ylabel('w →')
legend('analytic','Ritz-approx.')
Links
- ...
Literature
- ...