Gelöste Aufgaben/UEBD: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „g“)
 
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
g
[[Category:Gelöste Aufgaben]]
[[Category:Dimensionslose Schreibweise]]
[[Category:Numerische Lösung]]
[[Category:Randwertproblem]]
[[Category:Prinzip vom Minimum der Potentiellen Energie]]
[[Category:Biege-Belastung]][[Category:Euler-Bernoulli-Balken]]
[[Category:Rayleigh-Ritz-Prinzip]]
[[Category:Maxima‎]]
 
==Aufgabenstellung==
Der Euler-Bernoulli-Balken ''AB'' wird durch eine vertikale Einzelkraft ''F'' belastet. Er ist in ''A'' fest eingespannt, in ''B'' gelenkig gelagert.
 
[[Gelöste Aufgaben/UEBC|UEBC]] ist eine Variante dieser Aufgabe.
<onlyinclude>
[[Datei:UEBC-01.png|250px|left|mini|Lageplan]]
Gesucht ist eine Lösung für die Biegelinie ''w(x)'' mit dem [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Verfahren von Rayleigh-Ritz (EBB)|Ansatz von Rayleigh-Ritz]] und zweiTrial-Funktion.
</onlyinclude>
 
== Lösung mit Maxima ==
 
Beim Verfahren von Ritz arbeiten wir mit
 
* dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip vom Minimum der Potentiellen Energie|Prinzip vom Minimum der Potentiellen Energie]] und
* [[Sources/Lexikon/Ansatzfunktion|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. [[Gelöste Aufgaben/W8Zu|W8Zu]]). Hier ist die Neigung des Querschnitts am rechten Rand und die maximale Auslenkung jeweils
 
::<math>\begin{array}{lll}\displaystyle w'(\ell) &= -\displaystyle \frac{F\;\ell^2}{16\; EI} &=: \hat{\varphi}\\\displaystyle w(\frac{\ell}{2}) &= \displaystyle \frac{F\;\ell^3}{48\; EI} &=: \hat{w}\end{array}</math>.
 
Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken.
 
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Header
|text=
Das Vorgehen in dieser Aufgabe ist identisch zu [[Gelöste Aufgaben/UEBC|UEBC]] - hier allerdings mit zwei Trial-Functions.
|code=
<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>
}}
 
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Declarations
|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=
<syntaxhighlight lang="lisp" line start=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>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Formfunctions
|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=
<syntaxhighlight lang="lisp" line start=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>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Potential Energy
|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=
<syntaxhighlight lang="lisp" line start=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>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Equilibrium Conditions
|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=
<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>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Solving
|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=
<syntaxhighlight lang="lisp" line start=1>
/* solve for dim'less coordinates Q */
sol[2] : solve(equcon,Q)[1];
</syntaxhighlight>
}}
 
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Processing
|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=
<syntaxhighlight lang="lisp" line start=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>
}}
 
 
<hr/>
'''Links'''
* ...
 
'''Literature'''
* ...

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.

Lageplan

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

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

.
Trial-Functions

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

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 α:

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.

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

  • ...