Gelöste Aufgaben/UEBF: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 42: | Zeile 42: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/*******************************************************/ | |||
/* MAXIMA script */ | |||
/* version: wxMaxima 15.08.2 */ | |||
/* author: Andreas Baumgart */ | |||
/* last updated: 2018-02-13 */ | |||
/* ref: TMC */ | |||
/* description: Rayley-Ritz-Solution for EBB */ | |||
/* with I(x) */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 56: | Zeile 64: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /* make equations of motion dim'less with load case #1 from Gross e.a. */ | ||
dimless: [W[a] = F*l^3/(3*E*I[1]), | |||
x=xi*l, | |||
a=alpha*l]; | |||
/* parameter */ | |||
params: [I(xi) = I[0]*(1-xi)+I[1]*xi]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 82: | Zeile 96: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/* trial function */ | |||
trial: [w(xi) = W[B]*xi^2]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 110: | Zeile 125: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* potential energies */ | ||
/* define potential energy of system */ | |||
PMPE : [U = Pi - A, | |||
Pi = 1/2*l*'integrate(E*I(xi)*'diff(w(xi),xi,2)^2/l^4,xi,0,1), | |||
A = F*w(alpha)]; | |||
PMPE: subst([w(alpha) = subst([xi=a/l],subst(trial,w(xi)))], | |||
subst(params, subst(trial, | |||
subst(PMPE[3],subst(PMPE[2], PMPE[1]))))); | |||
PMPE : ev(PMPE,nouns); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 130: | Zeile 153: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/* equilibreium condition */ | |||
equilibrium : diff(subst(PMPE, U),W[B]) = 0; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 145: | Zeile 169: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/* solve */ | |||
sol: solve(equilibrium,W[B]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 162: | Zeile 187: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* post-processing */ | ||
plot2d(subst([I[0]=2*I[1]],subst(dimless,subst(sol,W[B]/W[A]))),[alpha,0,1], | |||
[gnuplot_preamble, "set yrange [] reverse"], | |||
[legend, "I[0]=2 I[1]"], | |||
[xlabel, "x/l->"], [ylabel, "<-w/w_a"], | |||
[style, [lines,3]]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<hr /> | <hr /> |
Version vom 14. April 2021, 11:25 Uhr
Aufgabenstellung
Der Euler-Bernoulli-Balken AB wird durch eine vertikale Einzelkraft F0 belastet. Er ist in A fest eingespannt und hat ein linear veränderliches Flächenmoment I(x).
Gesucht ist eine Lösung für die Auslenkung w(x) mit dem Ansatz von Ritz und einer Trial-Funktion.
Damit ähnelt diese Aufgabe UEBC.
Lösung mit Maxima
Beim Verfahren von Ritz arbeiten wir mit
- dem Prinzip vom Minimum der Potentiellen Energie und
- Ansatzfunktionen über die gesamte Länge des Balkens.
Um die Lösung dimensionslos zu machen, nutzen wir die analytische Lösung des einseitig fest eingespannten Balkens unter einer Einzellast bei B. Hier ist die maximale Auslenkung
.
Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken.
tmp
Wir berechnen die Potentielle Energie U des Systems und erhalten aus
die Gleichung für den gesuchten Koeffizienten W der Trial-Funktion.
Header
Text
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2018-02-13 */
/* ref: TMC */
/* description: Rayley-Ritz-Solution for EBB */
/* with I(x) */
/*******************************************************/
tmp
Zum Dimensionslos-Machen der Gleichungen wählen wir
.
Declarations
Text
/* make equations of motion dim'less with load case #1 from Gross e.a. */
dimless: [W[a] = F*l^3/(3*E*I[1]),
x=xi*l,
a=alpha*l];
/* parameter */
params: [I(xi) = I[0]*(1-xi)+I[1]*xi];
tmp
Gesucht ist hier ein Ansatz mit einer einzigen Trial Function, also
und dem gesuchten Koeffizienten W. ϕ muss dabei alle geometrischen Randbedingungen erfüllen:
Die Funktionen müssen nicht die Randbedingungen für Schnittlasten in B erfüllen - schließlich suchen wir nach einer Näherungslösung!
Diese Funktion ϕ zu konstruieren ist einfach: wir brauchen lediglich eine doppelte Nullstelle in x=0, also z.B.
.
Der freie Koeffizient W ist nun die Auslenkung in B - deshalb taufen wir ihn hier WB. Wir wählen ihn so, dass Sie die exakte Lösung bestmöglich approximiert.
Formfunctions
Text
/* trial function */
trial: [w(xi) = W[B]*xi^2];
tmp
Für die Gleichgewichtsbedingungen setzten wir Π (aus Abschnitt Euler-Bernoulli-Balken) und A in U ein und schreiben die skalare Gleichung allgemein in Matrizenform an. Dabei müssen wir
berücksichtigen und erhalten
.
Weil wir in der Spaltenmatrix
nur eine Unbekannte WB haben, können wir es uns hier etwas einfacher machen, U lautet:
.
Potential Energy
Text
/* potential energies */
/* define potential energy of system */
PMPE : [U = Pi - A,
Pi = 1/2*l*'integrate(E*I(xi)*'diff(w(xi),xi,2)^2/l^4,xi,0,1),
A = F*w(alpha)];
PMPE: subst([w(alpha) = subst([xi=a/l],subst(trial,w(xi)))],
subst(params, subst(trial,
subst(PMPE[3],subst(PMPE[2], PMPE[1])))));
PMPE : ev(PMPE,nouns);
tmp
Diese Gleichung erfüllt die Gleichgewichtsbedingung(en)
,
wenn
.
Equilibrium Conditions
Text
/* equilibreium condition */
equilibrium : diff(subst(PMPE, U),W[B]) = 0;
tmp
Auflösen nach WB liefert
.
Solving
Text
/* solve */
sol: solve(equilibrium,W[B]);
tmp
Und so sieht die normierte Absenkung des Punktes B als Funktion von a aus:
Dies ist nicht die Biegelinie des Balkens!
Aufgabe UEBD zeigt, wie wir zu einer besseren Approximation kommen.
✔ Schnittmomenten-Verlauf: |
Probieren Sie aus, wie gut der Ritz-Ansatz den Verlauf des Schnittmoments approximiert! |
Post-Processing
Text
/* post-processing */
plot2d(subst([I[0]=2*I[1]],subst(dimless,subst(sol,W[B]/W[A]))),[alpha,0,1],
[gnuplot_preamble, "set yrange [] reverse"],
[legend, "I[0]=2 I[1]"],
[xlabel, "x/l->"], [ylabel, "<-w/w_a"],
[style, [lines,3]]);
Links
- ...
Literature
- ...