Gelöste Aufgaben/UEBD: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 30: | Zeile 30: | ||
Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken. | Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken. | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Header | {{MyCodeBlock|title=Header | ||
|text= | |text= | ||
Das Vorgehen in dieser Aufgabe ist identisch zu [[Gelöste Aufgaben/UEBC|UEBC]] - hier allerdings mit zwei Trial-Functions. | |||
|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: 2017-09-14 */ | |||
/* ref: TM-C, Labor 3 - aus Gross, Augf. TM 2,Biegestab*/ | |||
/* description: finds the approx. solution employing */ | |||
/* two polynomial trial-functions */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | {{MyCodeBlock|title=Declarations | ||
|text= | |text= | ||
Zum Dimensionslos-Machen der Gleichungen brauchen wir später die Größen ''W, Φ'', die wir hier bereits einführen: | |||
::<math>\begin{array}{ll}W &=\displaystyle \frac{F \ell^3}{48 EI}\cdot q_w,\\ \Phi &= -\displaystyle \frac{F \ell^2}{(6 EI}\cdot (\frac{1}{2}-\frac{1}{2}^3)\cdot q_\varphi,\\ x&=\xi\cdot \ell,\\ a&=\alpha\cdot \ell.\end{array}</math>. | |||
Daraus folgen später die dimensionslosen Koordinaten des Problems zu | |||
::<math>\underline{Q}=\left(\begin{array}{c}q_w\\q_\varphi\end{array}\right)</math>. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* declare variables */ | ||
declare("Π", alphabetic); /* strain energy */ | |||
/* make dim'less with load case #1 from Gross e.a. */ | |||
dimless: [W = F*l^3/(48*EI)*q[w], | |||
Phi = -F*l^2/(6*EI)*(1/2-(1/2)^3)*q[phi], | |||
x=xi*l, | |||
a=alpha*l]; | |||
Q : [q[w],q[phi]]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Formfunctions | {{MyCodeBlock|title=Formfunctions | ||
|text= | |text= | ||
Gesucht ist hier ein Ansatz mit zwei Trial Functions, also | |||
::<math>w(x) = \displaystyle \sum_{i=1}^2 W_i\cdot\phi_i(x)</math> | |||
und dem gesuchten Koeffizienten ''W<sub>i</sub>''. Die ''ϕ<sub>i</sub>'' müssen dabei alle geometrischen Randbedingungen erfüllen: | |||
::<math>\begin{array}{ll}w(0) &= 0,\\w'(0) &= 0,\\w(\ell) &= 0.\end{array}</math> | |||
Diese Funktion zu konstruieren ist nicht ganz trivial. Wir multiplizieren dafür einzelne Terme der Form ''(x-x<sub>0</sub>)'', die die gewünschte Nullstelle für ''x=x<sub>0</sub>'' erzeugen. An der Stelle ''x=0'' benötigen wir eine doppelte Nullstelle, damit auch die Ableitung an dieser Stelle Null ist. | |||
Für die beiden Trial-Funktionen wählen wir | |||
* ''ϕ<sub>1</sub>'' so, dass sie am rechten Rand keine Steigung hat, aber eine Auslenkung am Kraftangriffspunkt, also <math>w_1(\xi) = C_W \cdot \left( \xi-0 \right)^2 \cdot \left(\xi-1\right)^2 \text {mit }\xi = \displaystyle\frac{x}{\ell}</math> und | |||
* ''ϕ<sub>2</sub>'' so, dass sie am rechten Rand eine Steigung hat, aber keine Auslenkung am Kraftangriffspunkt, also <math>w_2(\xi) = C_\Phi \cdot \left( \xi-0 \right)^2 \cdot \left(\xi-1\right)\cdot \left(\xi-\alpha\right) \text {mit }\xi = \displaystyle\frac{x}{\ell}</math>. | |||
Die freien Koeffizienten ''C<sub>i</sub>'' wählen wir so, dass wir sie anschaulich "denken" können - wir wählen | |||
* die gesuchte Auslenkung an der Kraft-Einleitungsstelle ''x=a'' für ''''ϕ<sub>1</sub>'''', also | |||
<math>\displaystyle w(a) = \hat{w} \cdot q_w \;\;\text{ mit der Referenz-Lösung }\;\; \hat{w} = \frac{F\;\ell^3}{48\; EI} </math> und | |||
* die gesuchte Neigung am rechten Rand für ''ϕ<sub>2</sub>'' , also | |||
<math>\displaystyle w'(\ell) = \hat{\varphi}\cdot q_\varphi \;\;\text{ mit der Referenz-Lösung }\;\; \hat{\varphi} = -\frac{F\;\ell^2}{16\; EI} </math>. | |||
aus [[Gelöste Aufgaben/W8Zu|W8Zu]]. Mit den neuen, dimensionslosen Koordinaten ''Q'' ist | |||
::<math>\displaystyle C_W = \frac{\hat{w}}{{{\alpha}^{4}}-2\cdot {{\alpha}^{3}}+{{\alpha}^{2}}} \cdot q_w </math>, | |||
::<math>\displaystyle C_\Phi = -\frac{\hat{\varphi}}{\alpha-1} \cdot q_\varphi \cdot \ell </math> | |||
und damit | |||
::<math>\displaystyle w(x) = \underbrace{\frac{F \ell^3}{48 EI }\cdot q_w}_{\displaystyle =W} \cdot \underbrace{\frac{\xi^2 (\xi-1)^2}{\alpha^2 (1-\alpha)^2}}_{\displaystyle =\phi_1(\xi)} \underbrace{- \frac{F \ell^2}{16 EI }\cdot q_\varphi \ell}_{\displaystyle =\Phi} \cdot \underbrace{\frac{\xi^2 (\xi-1) (\xi-\alpha)}{(1-\alpha)}}_{\displaystyle =\phi_2(\xi)}</math>. | |||
[[Datei:UEBD-10.png|mini|Trial-Functions]] | |||
Für ''α''=2/3 sehen die Trial-Funktionen so aus: | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* derive trial-function(s) */ | ||
trial: w(x) = sum(c[i]*x^i,i,0,4); | |||
GBC: [subst([x=0],subst(trial,w(x)))=0, | |||
subst([x=0],diff(subst(trial,w(x)),x))=0, | |||
subst([x=l],subst(trial,w(x)))=0, | |||
subst([x=a],subst(trial,w(x)))=W, | |||
subst([x=l],diff(subst(trial,w(x)),x))=Phi]; | |||
C: makelist(c[i],i,0,4); | |||
sol[1] : solve(GBC,C)[1]; | |||
trial: ratsimp(subst(sol[1],trial)); | |||
/* trial functions */ | |||
fcts: ratsimp([1,1/l]*subst(dimless, | |||
makelist(coeff(expand(subst(trial,w(x))),[W,Phi][i]),i,1,2))); | |||
plot2d(subst([alpha=2/3],fcts),[xi,0,1], | |||
[title, "trial-fcts for α = 2/3"], | |||
[legend, "w", "Φ"], | |||
[xlabel, "α →"], | |||
[ylabel, "w,ϕ →"], | |||
[style, [lines,3]] ); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Potential Energy | {{MyCodeBlock|title=Potential Energy | ||
|text= | |text= | ||
Für die Gleichgewichtsbedingungen setzten wir ''Π'' und ''A'' in ''U'' ein und schreiben die skalare Gleichung allgemein in Matrizenform an. Dabei müssen wir | |||
::<math>\displaystyle \frac{d\phi}{x} = \frac{d\phi}{\xi}\cdot\underbrace{\displaystyle\frac{d\xi}{x}}_{\displaystyle = \frac{1}{\ell}}</math> | |||
berücksichtigen und erhalten | |||
::<math>U = \displaystyle \frac{1}{2} \cdot \displaystyle \underline{Q}^T \cdot \underline{\underline{A}}\cdot \underline{Q} - \underline{Q}^T\cdot \underline{b} </math>. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* define potential energy of system */ | ||
PMPE : [U = Π - A, | |||
Π = 1/2*EI*'integrate('diff(w(x),x,2)^2,x,0,l), | |||
A = F*w(a)]; | |||
/* equations of motion */ | |||
PMPE: subst(w(a) = subst(a,x,subst(trial,w(x))), | |||
subst(trial, | |||
subst(PMPE[3],subst(PMPE[2], PMPE[1])))); | |||
PMPE : ev(PMPE,nouns); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Equilibrium Conditions | {{MyCodeBlock|title=Equilibrium Conditions | ||
|text= | |text= | ||
Diese Gleichung erfüllt die Gleichgewichtsbedingungen | |||
::<math>\displaystyle \frac{dU}{dW} \stackrel{!}{=} 0</math>, | |||
wenn | |||
::<math>\underline{\underline{A}}\cdot \underline{Q}= \underline{b}</math>. | |||
Das Gleichungssystem dazu ist | |||
::<math>\begin{pmatrix}\frac{1}{60\cdot {{\alpha}^{8}}-240\cdot {{\alpha}^{7}}+360\cdot {{\alpha}^{6}}-240\cdot {{\alpha}^{5}}+60\cdot {{\alpha}^{4}}} & \frac{1}{20\cdot {{\alpha}^{5}}-60\cdot {{\alpha}^{4}}+60\cdot {{\alpha}^{3}}-20\cdot {{\alpha}^{2}}}\\ -\frac{\ell}{60\cdot {{\alpha}^{5}}-180\cdot {{\alpha}^{4}}+180\cdot {{\alpha}^{3}}-60\cdot {{\alpha}^{2}}} & -\frac{\left( 6-10\cdot \alpha+5\cdot {{\alpha}^{2}}\right) \cdot \ell}{20\cdot {{\alpha}^{2}}-40\cdot \alpha+20}\end{pmatrix}\cdot \begin{pmatrix}q_w\\ q_\varphi\end{pmatrix} =\begin{pmatrix}-1\\ 0\end{pmatrix}</math> | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/* equilibrium condition */ | |||
equcon: ['diff(U,W) = 0,'diff(U,Phi) = 0]; | |||
equcon: subst(PMPE,equcon); | |||
equcon: ev(equcon,nouns); | |||
equcon: subst(dimless,equcon); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | {{MyCodeBlock|title=Solving | ||
|text= | |text= | ||
Diese Gleichgewichtsbedingung erfüllt | |||
::<math>\begin{array}{ll}{{q}_{w}}&=60\cdot {{\alpha}^{8}}-240\cdot {{\alpha}^{7}}+372\cdot {{\alpha}^{6}}-264\cdot {{\alpha}^{5}}+72\cdot {{\alpha}^{4}},\\{{q}_{\phi}}&=4\, {{\alpha}^{2}}\cdot (1 - {{\alpha}})\end{array}</math>. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* solve for dim'less coordinates Q */ | ||
sol[2] : solve(equcon,Q)[1]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | {{MyCodeBlock|title=Post-Processing | ||
|text= | |text= | ||
[[Datei:UEBD-11.png|mini|Auslenkung und Kippung ''w(x), ϕ(x)'' der Querschnitte]] | |||
Wir schauen uns zunächst die Absenkung des Kraftangriffspunktes ''w(a)'' und die Neigung w'(l) für verschiedene Werte von ''a (α)'' an: | |||
Wie der Verlauf der approximierten Biegelinie aussieht, schauen wir uns jetzt an - und zwar für verschiedene Werte von α: | |||
[[Datei:UEBD-12.png|links|mini|Parameterstudie für ''α'']] | |||
Sie sehen, dass für ''α=6/10'' die Auslenkung dieses Systems nur knapp die Hälfte der maximalen Auslenkung eines beidseitig gelenkig gelagerten Balkens beträgt - hier in unserer Approximation mit zwei Trial-Funktion. | |||
Aufgabe UEBC zeigt, welche Ergebnisse die Approximation mit einer Trial-Funktion liefert. | |||
{{MyTip|title=Schnittmomenten-Verlauf|text=Probieren Sie aus, wie gut der Ritz-Ansatz den Verlauf des Schnittmoments approximiert!}} | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* plot displacement of w(a) */ | ||
preamble: "set yrange [] reverse"; | |||
plot2d(subst(sol[2],Q),[alpha,0,1], | |||
[legend, "w", "Φ"], | |||
[xlabel, "α →"], | |||
[ylabel, "w/W,w'/Φ →"], | |||
[gnuplot_preamble, preamble], | |||
[style, [lines,3]] ); | |||
/* plot displacement of w(xi) for different values of alpha */ | |||
toPlot : ratsimp(subst(sol[2],subst(dimless, | |||
subst(trial,w(x)/subst([q[w]=1],subst(dimless,W)))))); | |||
toPlot : makelist(subst([alpha=i/10],toPlot), i,2,8,2); | |||
leg : append([legend], makelist(simplode (["α = ",i,"/10"]),i,2,8,2)); | |||
plot2d(toPlot,[xi,0,1], | |||
leg, | |||
[xlabel, "x/l →"], | |||
[ylabel, "w(x)/W →"], | |||
[gnuplot_preamble, preamble], | |||
[style, [lines,3]] ); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} |
Aktuelle Version vom 14. April 2021, 11:05 Uhr
Aufgabenstellung
Der Euler-Bernoulli-Balken AB wird durch eine vertikale Einzelkraft F belastet. Er ist in A fest eingespannt, in B gelenkig gelagert.
UEBC ist eine Variante dieser Aufgabe.
Gesucht ist eine Lösung für die Biegelinie w(x) mit dem Ansatz von Rayleigh-Ritz und zweiTrial-Funktion.
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 beidseits gelenkig gelagerten Balkens unter einer mittigen Einzellast (vgl. W8Zu). Hier ist die Neigung des Querschnitts am rechten Rand und die maximale Auslenkung jeweils
- .
Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken.
Header
Das Vorgehen in dieser Aufgabe ist identisch zu UEBC - hier allerdings mit zwei Trial-Functions.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2017-09-14 */
/* ref: TM-C, Labor 3 - aus Gross, Augf. TM 2,Biegestab*/
/* description: finds the approx. solution employing */
/* two polynomial trial-functions */
/*******************************************************/
Declarations
Zum Dimensionslos-Machen der Gleichungen brauchen wir später die Größen W, Φ, die wir hier bereits einführen:
- .
Daraus folgen später die dimensionslosen Koordinaten des Problems zu
- .
/* declare variables */
declare("Π", alphabetic); /* strain energy */
/* make dim'less with load case #1 from Gross e.a. */
dimless: [W = F*l^3/(48*EI)*q[w],
Phi = -F*l^2/(6*EI)*(1/2-(1/2)^3)*q[phi],
x=xi*l,
a=alpha*l];
Q : [q[w],q[phi]];
Formfunctions
Gesucht ist hier ein Ansatz mit zwei Trial Functions, also
und dem gesuchten Koeffizienten Wi. Die ϕi müssen dabei alle geometrischen Randbedingungen erfüllen:
Diese Funktion zu konstruieren ist nicht ganz trivial. Wir multiplizieren dafür einzelne Terme der Form (x-x0), die die gewünschte Nullstelle für x=x0 erzeugen. An der Stelle x=0 benötigen wir eine doppelte Nullstelle, damit auch die Ableitung an dieser Stelle Null ist.
Für die beiden Trial-Funktionen wählen wir
- ϕ1 so, dass sie am rechten Rand keine Steigung hat, aber eine Auslenkung am Kraftangriffspunkt, also und
- ϕ2 so, dass sie am rechten Rand eine Steigung hat, aber keine Auslenkung am Kraftangriffspunkt, also .
Die freien Koeffizienten Ci wählen wir so, dass wir sie anschaulich "denken" können - wir wählen
- die gesuchte Auslenkung an der Kraft-Einleitungsstelle x=a für 'ϕ1', also
und
- die gesuchte Neigung am rechten Rand für ϕ2 , also
.
aus W8Zu. Mit den neuen, dimensionslosen Koordinaten Q ist
- ,
und damit
- .
Für α=2/3 sehen die Trial-Funktionen so aus:
/* derive trial-function(s) */
trial: w(x) = sum(c[i]*x^i,i,0,4);
GBC: [subst([x=0],subst(trial,w(x)))=0,
subst([x=0],diff(subst(trial,w(x)),x))=0,
subst([x=l],subst(trial,w(x)))=0,
subst([x=a],subst(trial,w(x)))=W,
subst([x=l],diff(subst(trial,w(x)),x))=Phi];
C: makelist(c[i],i,0,4);
sol[1] : solve(GBC,C)[1];
trial: ratsimp(subst(sol[1],trial));
/* trial functions */
fcts: ratsimp([1,1/l]*subst(dimless,
makelist(coeff(expand(subst(trial,w(x))),[W,Phi][i]),i,1,2)));
plot2d(subst([alpha=2/3],fcts),[xi,0,1],
[title, "trial-fcts for α = 2/3"],
[legend, "w", "Φ"],
[xlabel, "α →"],
[ylabel, "w,ϕ →"],
[style, [lines,3]] );
Potential Energy
Für die Gleichgewichtsbedingungen setzten wir Π und A in U ein und schreiben die skalare Gleichung allgemein in Matrizenform an. Dabei müssen wir
berücksichtigen und erhalten
- .
/* define potential energy of system */
PMPE : [U = Π - A,
Π = 1/2*EI*'integrate('diff(w(x),x,2)^2,x,0,l),
A = F*w(a)];
/* equations of motion */
PMPE: subst(w(a) = subst(a,x,subst(trial,w(x))),
subst(trial,
subst(PMPE[3],subst(PMPE[2], PMPE[1]))));
PMPE : ev(PMPE,nouns);
Equilibrium Conditions
Diese Gleichung erfüllt die Gleichgewichtsbedingungen
- ,
wenn
- .
Das Gleichungssystem dazu ist
/* equilibrium condition */
equcon: ['diff(U,W) = 0,'diff(U,Phi) = 0];
equcon: subst(PMPE,equcon);
equcon: ev(equcon,nouns);
equcon: subst(dimless,equcon);
Solving
Diese Gleichgewichtsbedingung erfüllt
- .
/* solve for dim'less coordinates Q */
sol[2] : solve(equcon,Q)[1];
Post-Processing
Wir schauen uns zunächst die Absenkung des Kraftangriffspunktes w(a) und die Neigung w'(l) für verschiedene Werte von a (α) an:
Wie der Verlauf der approximierten Biegelinie aussieht, schauen wir uns jetzt an - und zwar für verschiedene Werte von α:
Sie sehen, dass für α=6/10 die Auslenkung dieses Systems nur knapp die Hälfte der maximalen Auslenkung eines beidseitig gelenkig gelagerten Balkens beträgt - hier in unserer Approximation mit zwei Trial-Funktion.
Aufgabe UEBC zeigt, welche Ergebnisse die Approximation mit einer Trial-Funktion liefert.
✔ Schnittmomenten-Verlauf: |
Probieren Sie aus, wie gut der Ritz-Ansatz den Verlauf des Schnittmoments approximiert! |
/* plot displacement of w(a) */
preamble: "set yrange [] reverse";
plot2d(subst(sol[2],Q),[alpha,0,1],
[legend, "w", "Φ"],
[xlabel, "α →"],
[ylabel, "w/W,w'/Φ →"],
[gnuplot_preamble, preamble],
[style, [lines,3]] );
/* plot displacement of w(xi) for different values of alpha */
toPlot : ratsimp(subst(sol[2],subst(dimless,
subst(trial,w(x)/subst([q[w]=1],subst(dimless,W))))));
toPlot : makelist(subst([alpha=i/10],toPlot), i,2,8,2);
leg : append([legend], makelist(simplode (["α = ",i,"/10"]),i,2,8,2));
plot2d(toPlot,[xi,0,1],
leg,
[xlabel, "x/l →"],
[ylabel, "w(x)/W →"],
[gnuplot_preamble, preamble],
[style, [lines,3]] );
Links
- ...
Literature
- ...