Gelöste Aufgaben/Kw56: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 9: Zeile 9:


==Aufgabenstellung==
==Aufgabenstellung==
SOME TEXT
Die Aufgabenstellung ist identisch mit Aufgabe Kw55, hier ist die Lösung mit dem Verfahren von [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Verfahren von Rayleigh-Ritz (EBB)|Rayleigh-Ritz]] gefragt.


<onlyinclude>
<onlyinclude>
[[Datei:Kw55-01.png|alternativtext=|links|mini|250x250px|Lageplan]]
[[Datei:Kw55-01.png|alternativtext=|links|mini|250x250px|Lageplan]]
Gesucht ist "SOME EXPLANATION"
Gesucht ist eine Näherungslösung mit dem [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Verfahren von Rayleigh-Ritz (EBB)|Verfahren von Rayleigh-Ritz]] für ein [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Modell]] der Struktur.
</onlyinclude>
</onlyinclude>
Verwenden Sie zwei freie [[Sources/Lexikon/Trial-Function|Trial-Funtions]].


== Lösung mit Maxima ==
== Lösung mit Maxima ==
Lorem Ipsum ....


==tmp==
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Header
{{MyCodeBlock|title=Header
|text=Text
|text=
Die Herausforderung der Aufgabe liegt wieder in der kinematischen Zwangsbedingung, die der starre Stab ''abc'' dem [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]] auferlegt. Diese Zwangsbedingung lautet
 
::<math>w_B = \displaystyle \frac{1}{2} w_C</math>,
 
mit den Abkürzungen
 
* ''w<sub>B</sub> = w( ℓ),''
* ''w<sub>C</sub> = w(2ℓ).''
 
Die geometrischen Randbedingungen in A erfüllen wir, indem wir Polynome ab dem Grad 2 verwenden.
 
Für die Lösung nach Rayleigh-Ritz können wir
 
* zwei freie Trial-Functions wählen, die die Zwangsbedingung selbst schon erfüllen
* mit [https://de.wikipedia.org/wiki/Lagrange-Multiplikator Lagrange-Multiplikator] die Zwangsbedingung einbauen.
 
Der zweite Weg ist bei Computer-Anwendungen meist viel einfacher - den gehen wir hier.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 15.08.2                          */
/* author: Andreas Baumgart                            */
/* last updated: 2019-09-01                            */
/* ref: TMC                                            */
/* description: Rayley-Ritz-Solution for EBB          */
/*              with kinemtic constraints              */
/*******************************************************/
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Declarations
|text=Text
|text=
Wir brauchen
 
<math>q_0 = \displaystyle \frac{m\,g}{\ell}</math>
 
und nutzen eine Referenzlösung (wie in Kw55)
 
<math>\begin{array}{ccc}
\hat{w}  &=& \displaystyle \frac{q_0\,(2\ell)^4}{8 EI}\\
\hat{\phi}&=& \displaystyle \frac{q_0\,(2\ell)^3}{6 EI}
\end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/************************************************************/
/* declare variational variables - see 6.3 Identifiers      */
declare( "ℓ", alphabetic);
declare( "ϕ", alphabetic);
declare( "λ", alphabetic);
 
/* system parameters                                        */
params:  [q[0] = m*g/ℓ];
dimless: [ x  = xi*ℓ];
 
/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [W[ref] = q[0]*(2*ℓ)^4/(8*EI), ϕ[ref] = q[0]*(2*ℓ)^3/(6*EI), M[ref] = m*g*ℓ, Q[ref] = 2*m*g];
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Formfunctions
{{MyCodeBlock|title=Formfunctions
|text=Text
|text=
Um zwei freie Trial-Functions zu bekommen, müssen wir drei ansetzen: ein Freiheitsgrad wird von der kinematischen Zwangsbedingung aufgehoben.
 
Also wählen wir
 
::<math>\displaystyle w(\xi) = \hat{w} \cdot \sum_{i=2}^4 W_i \cdot \xi^i</math>
 
mit
 
::<math>x = \xi \cdot \ell</math>
 
und ergänzen dies um die Zwangsbedingung
 
::<math>2\cdot w(1) = \,w(2)</math>.
 
Achtung: Der Balken ist "2"-lang.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/************************************************************/
/* Rayleigh-Ritz                                            */
/* trial function */
trial: w(xi) = W[ref]*sum(W[j]*xi^(j),j,2,4);
 
/* kinemtic constraints                                    */
nodes : [W[B]=subst([xi=1], subst(trial,w(xi))), W[C]=subst([xi=2], subst(trial,w(xi)))];
BC: ratsimp(subst(nodes,[2*W[B]=W[C]])/W[ref])[1];
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Equilibrium Conditions
{{MyCodeBlock|title=Equilibrium Conditions
|text=Text
|text=
Für die Gleichgewichtsbedingungen brauchen wir die potentielle Energie (hier die Lagrange-Funktion)
 
::<math>\begin{array}{lcl}
\Lambda = & &\displaystyle \frac{1}{2\cdot \ell^3}\displaystyle EI \int_{0}^{2}\left( \displaystyle \frac{d^2}{d\,\xi^2} \cdot w(\xi) \right)^{2} d\xi\\
          &-&\left(2 m\,g+\displaystyle \frac{1}{2} m\,g\right) \cdot w(1)+\left(\displaystyle \frac{1}{2} m\,g\right)\cdot w(2)\\
          &+&\lambda \cdot \displaystyle \frac{m^2\,g^2 \ell^3}{EI}\cdot (2\,w(1)- w(2))
\end{array}</math>
 
wobei der konstante Faktor bei dem [https://de.wikipedia.org/wiki/Lagrange-Multiplikator Lagrange-Multiplikator] ''λ'' nur der Ästhetik dient ....
 
Die gesuchten Größen sind nun
 
::<math>\underline{Q} = \left( \begin{array}{c}
W_2\\
W_3\\
W_4\\
\lambda
\end{array}\right)</math>,
 
und die Gleichgewichtsbedingungen kommen aus
 
::<math>\displaystyle \frac{d\Lambda}{dQ_i} \stackrel{!}{=}0</math>
 
zu
 
::<math>\begin{array}{cc}
-2 \lambda +256 {W_4}+96 {W_3}+32 {W_2}-1&=0,\\
-2 \lambda +384 {W_4}+128 {W_3}+32 {W_2}+1&=0,\\
70 \lambda -18432 {W_4}-5760 {W_3}-1280 {W_2}-55&=0,\\
-7 {W_4}-3 {W_3}-{W_2}&=0
\end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* Lagrange formulation */
Lambda : + 1/2*ℓ*'integrate(EI*diff(w(xi),xi,2)^2/ℓ^4,xi,0,2)
        - (2*m*g+m*g/2)*subst(nodes, W[B])+(m*g/2)*subst(nodes,W[C])
        + λ*m*g*(lhs(BC)-rhs(BC));
Lambda : subst(trial,Lambda);
Lambda : ev(Lambda, nouns);
 
X : append(makelist(W[j],j,2,4),[λ]);
 
fact: g^2*m^2*ℓ^3/EI;
eom : ratsimp(subst(params,subst(reference,
      makelist(diff(Lambda/fact,X[i])=0,i,1,length(X))
      )));
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Solving
{{MyCodeBlock|title=Solving
|text=Text
|text=
Dieses lineare Gleichungssystem hat die Lösung
 
::<math>\displaystyle {{W}_{2}}=\frac{23}{56},{{W}_{3}}=-\frac{27}{112},{{W}_{4}}=\frac{5}{112},\lambda=\frac{3}{14}</math>
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solve! */
sol: solve(eom,X)[1];
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
 
[[Datei:Kw56-21.png|mini|Verläufe der gesuchten Größen]]
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Processing
{{MyCodeBlock|title=Post-Processing
 
|text=
|text=Text
Einsetzen in die Trial-Functions liefert die (dimensionslosen) Funktionsverläufe für ''w, ϕ, M'' und ''Q'':
[[Datei:Kw56-21.png|mini|Verläufe der gesuchten Größen|alternativtext=|ohne]]
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/************************************************************/
/* post - processing                                        */
 
/* cross-sectional bending moment */
 
toPlot : [
          w[xi] = ratsimp(subst(trial,w(xi))/W[ref]),
          ϕ[xi] = ratsimp(subst(params,subst(reference,    diff(subst(trial,w(xi)),xi,1)/ℓ^1/ϕ[ref]))),
          M[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,2)/ℓ^2/M[ref]))),
          Q[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,3)/ℓ^3/Q[ref])))
          ];
 
plot2d(subst(sol,subst(toPlot,[w[xi],ϕ[xi],M[xi],Q[xi]])),[xi,0,1],
      [gnuplot_preamble, "set yrange [] reverse"],
      [legend, "w", "ϕ", "M", "Q"],
      [xlabel, "x/ℓ->"], [ylabel, "<-w/w_ref, ϕ/ϕ_ref, M/M_ref, Q/Q_ref"],
      [style, [lines,2]]);
</syntaxhighlight>
</syntaxhighlight>
}}
}}
<table class="wikitable" style="background-color:white; float: left;
  === margin-right:14px; ===
">
<tr><th></th><th></th></tr>
<tr><td></td><td></td></tr>
</table>





Aktuelle Version vom 31. März 2021, 08:16 Uhr


Aufgabenstellung

Die Aufgabenstellung ist identisch mit Aufgabe Kw55, hier ist die Lösung mit dem Verfahren von Rayleigh-Ritz gefragt.


Lageplan

Gesucht ist eine Näherungslösung mit dem Verfahren von Rayleigh-Ritz für ein Euler-Bernoulli-Modell der Struktur.

Verwenden Sie zwei freie Trial-Funtions.

Lösung mit Maxima

Header

Die Herausforderung der Aufgabe liegt wieder in der kinematischen Zwangsbedingung, die der starre Stab abc dem Euler-Bernoulli-Balken auferlegt. Diese Zwangsbedingung lautet

,

mit den Abkürzungen

  • wB = w( ℓ),
  • wC = w(2ℓ).

Die geometrischen Randbedingungen in A erfüllen wir, indem wir Polynome ab dem Grad 2 verwenden.

Für die Lösung nach Rayleigh-Ritz können wir

  • zwei freie Trial-Functions wählen, die die Zwangsbedingung selbst schon erfüllen
  • mit Lagrange-Multiplikator die Zwangsbedingung einbauen.

Der zweite Weg ist bei Computer-Anwendungen meist viel einfacher - den gehen wir hier.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2019-09-01                            */
/* ref: TMC                                            */
/* description: Rayley-Ritz-Solution for EBB           */
/*              with kinemtic constraints              */
/*******************************************************/




Declarations

Wir brauchen

und nutzen eine Referenzlösung (wie in Kw55)

.


/************************************************************/
/* declare variational variables - see 6.3 Identifiers      */
declare( "ℓ", alphabetic);
declare( "ϕ", alphabetic);
declare( "λ", alphabetic);

/* system parameters                                        */
params:  [q[0] = m*g/ℓ];
dimless: [ x   = xi*ℓ];

/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [W[ref] = q[0]*(2*ℓ)^4/(8*EI), ϕ[ref] = q[0]*(2*ℓ)^3/(6*EI), M[ref] = m*g*ℓ, Q[ref] = 2*m*g];




Formfunctions

Um zwei freie Trial-Functions zu bekommen, müssen wir drei ansetzen: ein Freiheitsgrad wird von der kinematischen Zwangsbedingung aufgehoben.

Also wählen wir

mit

und ergänzen dies um die Zwangsbedingung

.

Achtung: Der Balken ist "2"-lang.


/************************************************************/
/* Rayleigh-Ritz                                            */
/* trial function */
trial: w(xi) = W[ref]*sum(W[j]*xi^(j),j,2,4);

/* kinemtic constraints                                     */
nodes : [W[B]=subst([xi=1], subst(trial,w(xi))), W[C]=subst([xi=2], subst(trial,w(xi)))];
BC: ratsimp(subst(nodes,[2*W[B]=W[C]])/W[ref])[1];




Equilibrium Conditions

Für die Gleichgewichtsbedingungen brauchen wir die potentielle Energie (hier die Lagrange-Funktion)

wobei der konstante Faktor bei dem Lagrange-Multiplikator λ nur der Ästhetik dient ....

Die gesuchten Größen sind nun

,

und die Gleichgewichtsbedingungen kommen aus

zu

.

/* Lagrange formulation */
Lambda : + 1/2*ℓ*'integrate(EI*diff(w(xi),xi,2)^2/ℓ^4,xi,0,2)
         - (2*m*g+m*g/2)*subst(nodes, W[B])+(m*g/2)*subst(nodes,W[C])
         + λ*m*g*(lhs(BC)-rhs(BC));
Lambda : subst(trial,Lambda);
Lambda : ev(Lambda, nouns);

X : append(makelist(W[j],j,2,4),[λ]);

fact: g^2*m^2*ℓ^3/EI; 
eom : ratsimp(subst(params,subst(reference,
       makelist(diff(Lambda/fact,X[i])=0,i,1,length(X))
      )));




Solving

Dieses lineare Gleichungssystem hat die Lösung


/* solve! */
sol: solve(eom,X)[1];




Post-Processing

Einsetzen in die Trial-Functions liefert die (dimensionslosen) Funktionsverläufe für w, ϕ, M und Q:

Verläufe der gesuchten Größen

/************************************************************/
/* post - processing                                        */

/* cross-sectional bending moment */

toPlot : [
           w[xi] = ratsimp(subst(trial,w(xi))/W[ref]),
           ϕ[xi] = ratsimp(subst(params,subst(reference,    diff(subst(trial,w(xi)),xi,1)/ℓ^1/ϕ[ref]))),
           M[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,2)/ℓ^2/M[ref]))),
           Q[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,3)/ℓ^3/Q[ref])))
          ];

plot2d(subst(sol,subst(toPlot,[w[xi],ϕ[xi],M[xi],Q[xi]])),[xi,0,1],
       [gnuplot_preamble, "set yrange [] reverse"],
       [legend, "w", "ϕ", "M", "Q"],
       [xlabel, "x/ℓ->"], [ylabel, "<-w/w_ref, ϕ/ϕ_ref, M/M_ref, Q/Q_ref"],
       [style, [lines,2]]);





Links

  • ...

Literature

  • ...