Gelöste Aufgaben/UEBJ: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 31: Zeile 31:
Um die Lösung dimensionslos zu machen, nutzen wir die [[Sources/Lexikon/Euler-Bernoulli-Balken/Standard-Lösungen#Kragbalken|analytische Lösung des einseitig fest eingespannten Balkens]]  mit konstanten ''I'' unter einer konstanten Streckenlast ''q<sub>0</sub>''. Hier ist die maximale Auslenkung  
Um die Lösung dimensionslos zu machen, nutzen wir die [[Sources/Lexikon/Euler-Bernoulli-Balken/Standard-Lösungen#Kragbalken|analytische Lösung des einseitig fest eingespannten Balkens]]  mit konstanten ''I'' unter einer konstanten Streckenlast ''q<sub>0</sub>''. Hier ist die maximale Auslenkung  


<math>\begin{array}{lcl}
::<math>\begin{array}{lcl}
\displaystyle \hat{w} := \frac{q_{ref}\, \ell^4}{8 EI_{ref}} &
\displaystyle \hat{w} := \frac{q_{ref}\, \ell^4}{8 EI_{ref}} &
\text{ mit }&  
\text{ mit }&  
Zeile 43: Zeile 43:
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.


==tmp==
<!-------------------------------------------------------------------------------->
 
{{MyCodeBlock|title=Header
|text=
In diesem Problem werden wir Lösungen zu verschiedenen Ansatzfunktionen miteinander vergleichen.
In diesem Problem werden wir Lösungen zu verschiedenen Ansatzfunktionen miteinander vergleichen.


Es geht also nicht nur um die Berechnung einer Lösung - sondern vieler.<!-------------------------------------------------------------------------------->
Es geht also nicht nur um die Berechnung einer Lösung - sondern vieler.
 
Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken.
{{MyCodeBlock|title=Header
|text=Text
|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-08-30                            */
/* ref: TMC                                            */
/* description: Rayley-Ritz-Solution for EBB          */
/*              with I(x)                              */
/*******************************************************/
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
 
{{MyCodeBlock|title=Declarations
|text=
Wir arbeiten mit den System-Parametern
Wir arbeiten mit den System-Parametern


<math>\begin{array}{lcl}
::<math>\begin{array}{lcl}
   \xi  &=& \displaystyle \frac{x}{\ell},\\
   \xi  &=& \displaystyle \frac{x}{\ell},\\
  q(\xi) &=& A(\xi)\,\rho\,g,\\
  q(\xi) &=& A(\xi)\,\rho\,g,\\
Zeile 72: Zeile 80:
Für die numerische Lösung verwenden wir - wie in [[Gelöste Aufgaben/UEBI|UEBI]] -  
Für die numerische Lösung verwenden wir - wie in [[Gelöste Aufgaben/UEBI|UEBI]] -  


<math>\alpha = \displaystyle \frac{1}{2}</math>.<!-------------------------------------------------------------------------------->
::<math>\alpha = \displaystyle \frac{1}{2}</math>.
 
{{MyCodeBlock|title=Declarations
|text=Text
|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);
 
/* system parameters                                        */
params: [q(xi) = A(xi)*rho*g,
        A(xi) = b*h(xi),
        I(xi) = b*h(xi)^3/12,
        h(xi) = H[0]*(1-xi)+ H[1]*xi];
params: append(params,
              solve((H[0]+H[1])/2*b*ℓ*rho=m, rho));
 
geometry : [alpha=1/2];
 
dimless: [x = xi*ℓ, H[0]=b, H[1]=alpha*b];
 
/* load analytic solutions as discrete tables from UEBI */
file_search_maxima: append(file_search_maxima, ["C:/Users/abs384/OneDrive/Confluence Sources/UEBJ/"]);
batch("analyticSolFromUEBI.data")$
 
/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [W[ref] = q[ref]*ℓ^4/8/EI[ref], Phi[ref] = q[ref]*ℓ^3/6/EI[ref], M[ref] = m*g*ℓ/2, Q[ref] = m*g, q[ref] = m*g/ℓ, EI[ref]=E*b*((H[0]+H[1])/2)^3/12];
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
{{MyCodeBlock|title=Rayleigh-Ritz Approach
 
|text=
Gesucht ist hier ein Ansatz mit polynomialen Trial Functions. Wir probieren verschiedene Ansätze aus, die wir mit "''i''" kennzeichnen, also
Gesucht ist hier ein Ansatz mit polynomialen Trial Functions. Wir probieren verschiedene Ansätze aus, die wir mit "''i''" kennzeichnen, also


<math>w_i(\xi) = \hat{w} \cdot \displaystyle \sum_{j_{min}}^J W_{i,j} \cdot \phi_j(\xi)</math>
::<math>w_i(\xi) = \hat{w} \cdot \displaystyle \sum_{j_{min}}^J W_{i,j} \cdot \phi_j(\xi)</math>


und den gesuchten Koeffizienten ''W<sub>ij</sub>''. Die ''ϕ<sub>j</sub>'' müssen dabei alle geometrischen Randbedingungen erfüllen, also:
und den gesuchten Koeffizienten ''W<sub>ij</sub>''. Die ''ϕ<sub>j</sub>'' müssen dabei alle geometrischen Randbedingungen erfüllen, also:


<math>\begin{array}{ll}w_i(0) &= 0,\\w_i'(0) &= 0.\end{array}</math>.
::<math>\begin{array}{ll}w_i(0) &= 0,\\w_i'(0) &= 0.\end{array}</math>.


Die Funktionen müssen nicht die Randbedingungen für Schnittlasten in ''B'' erfüllen - schließlich suchen wir nach einer Näherungslösung!
Die Funktionen müssen nicht die Randbedingungen für Schnittlasten in ''B'' erfüllen - schließlich suchen wir nach einer Näherungslösung!
Zeile 96: Zeile 122:
Diese Funktionen ''ϕ<sub>j</sub>'' zu konstruieren ist einfach: wir brauchen lediglich eine doppelte Nullstelle in <math>\xi=0</math>. Das erreichen wir, indem wir nur Polynome ab einem Grad ≥ 2 (also ''j<sub>min</sub>''=2) zulassen:  
Diese Funktionen ''ϕ<sub>j</sub>'' zu konstruieren ist einfach: wir brauchen lediglich eine doppelte Nullstelle in <math>\xi=0</math>. Das erreichen wir, indem wir nur Polynome ab einem Grad ≥ 2 (also ''j<sub>min</sub>''=2) zulassen:  


<math>\phi_j(\xi) = \xi^j \text{ mit } j \ge 2</math>.
::<math>\phi_j(\xi) = \xi^j \text{ mit } j \ge 2</math>.


Damit ist
Damit ist


<math>w_i(\xi) = \hat{w} \cdot \displaystyle \sum_2^J W_{i,j} \cdot \xi^j</math>.
::<math>w_i(\xi) = \hat{w} \cdot \displaystyle \sum_2^J W_{i,j} \cdot \xi^j</math>.


Die freien Koeffizienten ''W<sub>ij</sub>'' sind nun die anteiligen Auslenkungen in ''B''.
Die freien Koeffizienten ''W<sub>ij</sub>'' sind nun die anteiligen Auslenkungen in ''B''.
----Für die Gleichgewichtsbedingungen setzten wir die Formänderungsenergie '''''Π''''' (aus dem Abschnitt [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]])
----Für die Gleichgewichtsbedingungen setzten wir die Formänderungsenergie '''''Π''''' (aus dem Abschnitt [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]])


<math>\displaystyle \Pi = \frac{1}{2} \int_0^\ell M(x)\,w''(x) dx</math>
::<math>\displaystyle \Pi = \frac{1}{2} \int_0^\ell M(x)\,w''(x) dx</math>


und die Arbeitsfunktion der Gewichtskraft '''''A'''''
und die Arbeitsfunktion der Gewichtskraft '''''A'''''


<math>\displaystyle {\bf A} = \int_0^\ell q(x)\,w(x) dx </math>
::<math>\displaystyle {\bf A} = \int_0^\ell q(x)\,w(x) dx </math>


in '''''U''''' ein und schreiben die skalare Gleichung allgemein in Matrizenform an. Dabei müssen wir
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>
::<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
berücksichtigen und erhalten


<math>{\bf U} = \displaystyle \frac{1}{2} \cdot \displaystyle \underline{Q}^T \cdot \underline{\underline{A}}\cdot \underline{Q} - \underline{Q}^T\cdot \underline{b} </math>.
::<math>{\bf U} = \displaystyle \frac{1}{2} \cdot \displaystyle \underline{Q}^T \cdot \underline{\underline{A}}\cdot \underline{Q} - \underline{Q}^T\cdot \underline{b} </math>.


In der Spaltenmatrix
In der Spaltenmatrix


<math>\underline{Q} = \left( \begin{array}{l}
::<math>\underline{Q} = \left( \begin{array}{l}
W_{i,2}\\
W_{i,2}\\
\vdots\\
\vdots\\
Zeile 128: Zeile 154:


stehen nun zwischen einer und ''I-1'' Gewichtungsfaktoren ''W<sub>ij</sub> :'' die gesuchten Unbekannten.
stehen nun zwischen einer und ''I-1'' Gewichtungsfaktoren ''W<sub>ij</sub> :'' die gesuchten Unbekannten.
----Die Gleichgewichtsbedingungen


<math>\displaystyle \frac{d{\bf U}}{dW_{ij}} \stackrel{!}{=} 0</math>,
Die Gleichgewichtsbedingungen
 
::<math>\displaystyle \frac{d{\bf U}}{dW_{ij}} \stackrel{!}{=} 0</math>,


liefern uns die benötigte Anzahl von Gleichungen, z.B. für ''i=3'':
liefern uns die benötigte Anzahl von Gleichungen, z.B. für ''i=3'':


<math>\begin{array}{cl}
::<math>\begin{array}{cl}
0=&{{W}_{3,3}}\cdot \left( 36+72\cdot \alpha+108\cdot {{\alpha}^{2}}+144\cdot {{\alpha}^{3}}\right) +{{W}_{3,2}}\cdot \left( 60+60\cdot \alpha+60\cdot {{\alpha}^{2}}+60\cdot {{\alpha}^{3}}\right) -30\cdot {{\alpha}^{3}}-70\cdot {{\alpha}^{2}}-50\cdot \alpha-10\\
0=&{{W}_{3,3}}\cdot \left( 36+72\cdot \alpha+108\cdot {{\alpha}^{2}}+144\cdot {{\alpha}^{3}}\right) +{{W}_{3,2}}\cdot \left( 60+60\cdot \alpha+60\cdot {{\alpha}^{2}}+60\cdot {{\alpha}^{3}}\right) -30\cdot {{\alpha}^{3}}-70\cdot {{\alpha}^{2}}-50\cdot \alpha-10\\
0=&{{W}_{3,3}}\cdot \left( 36+108\cdot \alpha+216\cdot {{\alpha}^{2}}+360\cdot {{\alpha}^{3}}\right) +{{W}_{3,2}}\cdot \left( 36+72\cdot \alpha+108\cdot {{\alpha}^{2}}+144\cdot {{\alpha}^{3}}\right) -24\cdot {{\alpha}^{3}}-54\cdot {{\alpha}^{2}}-36\cdot \alpha-6
0=&{{W}_{3,3}}\cdot \left( 36+108\cdot \alpha+216\cdot {{\alpha}^{2}}+360\cdot {{\alpha}^{3}}\right) +{{W}_{3,2}}\cdot \left( 36+72\cdot \alpha+108\cdot {{\alpha}^{2}}+144\cdot {{\alpha}^{3}}\right) -24\cdot {{\alpha}^{3}}-54\cdot {{\alpha}^{2}}-36\cdot \alpha-6
\end{array}</math>.
\end{array}</math>.
----Hier - für ''i=3'' - ist


<math>\begin{array}{ll}
Hier - für ''i=3'' - ist
 
::<math>\begin{array}{ll}
{{W}_{3,2}}&=\displaystyle\frac{1+8\cdot \alpha+34\cdot {{\alpha}^{2}}+94\cdot {{\alpha}^{3}}+164\cdot {{\alpha}^{4}}+148\cdot {{\alpha}^{5}}+51\cdot {{\alpha}^{6}}}{6\cdot {{\alpha}^{6}}+24\cdot {{\alpha}^{5}}+60\cdot {{\alpha}^{4}}+120\cdot {{\alpha}^{3}}+60\cdot {{\alpha}^{2}}+24\cdot \alpha+6}\\
{{W}_{3,2}}&=\displaystyle\frac{1+8\cdot \alpha+34\cdot {{\alpha}^{2}}+94\cdot {{\alpha}^{3}}+164\cdot {{\alpha}^{4}}+148\cdot {{\alpha}^{5}}+51\cdot {{\alpha}^{6}}}{6\cdot {{\alpha}^{6}}+24\cdot {{\alpha}^{5}}+60\cdot {{\alpha}^{4}}+120\cdot {{\alpha}^{3}}+60\cdot {{\alpha}^{2}}+24\cdot \alpha+6}\\
{{W}_{3,3}}&=\displaystyle-\frac{5\cdot {{\alpha}^{2}}+20\cdot {{\alpha}^{3}}+35\cdot {{\alpha}^{4}}+30\cdot {{\alpha}^{5}}+10\cdot {{\alpha}^{6}}}{3\cdot {{\alpha}^{6}}+12\cdot {{\alpha}^{5}}+30\cdot {{\alpha}^{4}}+60\cdot {{\alpha}^{3}}+30\cdot {{\alpha}^{2}}+12\cdot \alpha+3}
{{W}_{3,3}}&=\displaystyle-\frac{5\cdot {{\alpha}^{2}}+20\cdot {{\alpha}^{3}}+35\cdot {{\alpha}^{4}}+30\cdot {{\alpha}^{5}}+10\cdot {{\alpha}^{6}}}{3\cdot {{\alpha}^{6}}+12\cdot {{\alpha}^{5}}+30\cdot {{\alpha}^{4}}+60\cdot {{\alpha}^{3}}+30\cdot {{\alpha}^{2}}+12\cdot \alpha+3}
\end{array}</math>.{{MyCodeBlock|title=Rayleigh-Ritz Approach
\end{array}</math>.
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/************************************************************/
/* Rayleigh-Ritz                                            */
/* try different degrees of polyomials                      */
fcts: [];
sols: [];
polyMax : 4;
for poly:2 thru polyMax do (
  /* trial function */
  trial: w[poly](xi) = sum(W[ref]*W[poly,j]*xi^(j),j,2,poly),
  /* potential energies */
  /* define potential energy of system */
  PMPE : [U  = Pi - A,
          Pi = 1/2*ℓ*'integrate(E*I(xi)*'diff(w[i](xi),xi,2)^2/ℓ^4,xi,0,1),
          A  = ℓ*'integrate(q(xi)*w[i](xi),xi,0,1)],
  PMPE: subst(dimless,subst(params,subst(trial,subst([i=poly],PMPE)))),
  PMPE: subst(PMPE[3],subst(PMPE[2], PMPE[1])),
  PMPE : ev(PMPE,nouns),
  /* equilibreium condition */
  X : makelist(W[poly,j],j,2,poly),
  equilibrium : ratsimp(subst(dimless,subst(reference,
                    makelist(diff(subst(PMPE, U),W[poly,j]) = 0,j,2,poly)))),
  /* solve */
  sol: ratsimp(solve(equilibrium,X)),
  sols: append(sols, sol),
  /* post-processing */
  fcts: append(fcts, [ratsimp(subst(geometry,subst(sol,subst(trial,w[poly](xi)/W[ref]))))]),
  print("done: #",poly))$
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==


<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Processing
|text=
Für die verschiedenen Ansätze (Polynimial-Grade der Trial-Functions) erhaltem wir Lösungen, die die analytische Lösung aus UEBI unterschiedlich gut approximieren. Hier wählen wir als Ansätze die Polynome bis zum Grad 2, 3 und 4.
Für die verschiedenen Ansätze (Polynimial-Grade der Trial-Functions) erhaltem wir Lösungen, die die analytische Lösung aus UEBI unterschiedlich gut approximieren. Hier wählen wir als Ansätze die Polynome bis zum Grad 2, 3 und 4.
[[Datei:UEBJ-21.png|mini|Parameterstudie: Biegelinie ''w(x)'']]Und so berechnen wir die normierten Absenkungen des Balkens für die verschiedenen Ansätze:
[[Datei:UEBJ-21.png|mini|Parameterstudie: Biegelinie ''w(x)'']]Und so berechnen wir die normierten Absenkungen des Balkens für die verschiedenen Ansätze:


Für Moment- und Querkraftverläufe erhalten wir[[Datei:UEBJ-22.png|mini|Parameterstudie Biegemomentenverlauf ''M(x)''|alternativtext=|ohne]]
Für Moment- und Querkraftverläufe erhalten wir[[Datei:UEBJ-22.png|mini|Parameterstudie Biegemomentenverlauf ''M(x)''|alternativtext=|ohne]]
[[Datei:UEBJ-23.png|mini|Parameterstudie Querkraftverlauf ''Q(x)''|alternativtext=|ohne]]<!-------------------------------------------------------------------------------->
[[Datei:UEBJ-23.png|mini|Parameterstudie Querkraftverlauf ''Q(x)''|alternativtext=|ohne]]
{{MyCodeBlock|title=Post-Processing
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/************************************************************/
/* post - processing                                        */
 
/* cross-sectional bending moment */
M : subst(geometry,ratsimp(subst(dimless,subst(reference,subst(params,-E*I(xi)*W[ref]*diff(fcts,xi,2)/ℓ^2/(m*g*ℓ/2))))))$
/* cross-sectional shear force */
Q : subst(geometry,ratsimp(subst(dimless,subst(reference,subst(params,-E*I(xi)*W[ref]*diff(fcts,xi,3)/ℓ^3/(m*g))))))$
 
fcts :append([[discrete, WA]], fcts)$
plot2d(fcts,[xi,0,1],
      [gnuplot_preamble, "set yrange [] reverse"],
      [legend, "analytic", "2nd Ord", "3rd Ord", "4th Ord", "5th Ord", "6th Ord"],
      [xlabel, "x/ℓ->"], [ylabel, "<-w/w_ref"],
      [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);
   
M :append([[discrete, MA]], M)$
plot2d(M,[xi,0,1],
      [legend, "analytic", "p02","p03","p04","p05","p06","p07","p08","p09","p10","p11","p12"],
      [xlabel, "x/ℓ->"], [ylabel, "M/(mg ℓ->"],
      [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);
 
Q :append([[discrete, QA]], Q)$
plot2d(Q,[xi,0,1],
      [legend, "analytic", "p02","p03","p04","p05","p06","p07","p08","p09","p10","p11","p12"],
      [xlabel, "x/ℓ->"], [ylabel, "Q/mg->"],
      [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);
</syntaxhighlight>
</syntaxhighlight>
}}
}}

Version vom 17. April 2021, 06:28 Uhr


Aufgabenstellung

Der Euler-Bernoulli-Balken AB wird durch seine Gewichtskraft belastet. Er ist in A fest eingespannt und hat eine konstante Breite b sowie eine zwischen A und B linear veränderliche Höhe h.

Für diese Aufgabe gibt es in UEBI eine analytische Lösung - hier schauen wir uns an, wie sich die Qualität der Näherungslösungen mit der Steigerung der Anzahl der Trial-Functions ändert.


Lageplan

Gesucht ist die Biegeline und Schnittkraftverläufe mit dem Ansatz von Ritz und mehreren Trial-Funktionen.

Gegeben sind für den Balken:

  • Länge , Breite b,
  • E-Modul E, Dichte ρ und
  • die Höhe h0=b und h1 jeweils in A und B; dazwischen ist die Höhe linear veränderlich.

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 einseitig fest eingespannten Balkens  mit konstanten I unter einer konstanten Streckenlast q0. 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.

Header

In diesem Problem werden wir Lösungen zu verschiedenen Ansatzfunktionen miteinander vergleichen.

Es geht also nicht nur um die Berechnung einer Lösung - sondern vieler. Damit können wir uns die Lösungen dieses Problems als Vielfaches der analytischen Lösung eines ähnlichen Problems denken.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2019-08-30                            */
/* ref: TMC                                            */
/* description: Rayley-Ritz-Solution for EBB           */
/*              with I(x)                              */
/*******************************************************/




Declarations

Wir arbeiten mit den System-Parametern

Für die numerische Lösung verwenden wir - wie in UEBI -

.

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

/* system parameters                                        */
params: [q(xi) = A(xi)*rho*g,
         A(xi) = b*h(xi),
         I(xi) = b*h(xi)^3/12,
         h(xi) = H[0]*(1-xi)+ H[1]*xi];
params: append(params,
               solve((H[0]+H[1])/2*b*ℓ*rho=m, rho));

geometry : [alpha=1/2];

dimless: [x = xi*ℓ, H[0]=b, H[1]=alpha*b];

/* load analytic solutions as discrete tables from UEBI */
file_search_maxima: append(file_search_maxima, ["C:/Users/abs384/OneDrive/Confluence Sources/UEBJ/"]);
batch("analyticSolFromUEBI.data")$

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




Rayleigh-Ritz Approach

Gesucht ist hier ein Ansatz mit polynomialen Trial Functions. Wir probieren verschiedene Ansätze aus, die wir mit "i" kennzeichnen, also

und den gesuchten Koeffizienten Wij. Die ϕj müssen dabei alle geometrischen Randbedingungen erfüllen, also:

.

Die Funktionen müssen nicht die Randbedingungen für Schnittlasten in B erfüllen - schließlich suchen wir nach einer Näherungslösung!

Diese Funktionen ϕj zu konstruieren ist einfach: wir brauchen lediglich eine doppelte Nullstelle in . Das erreichen wir, indem wir nur Polynome ab einem Grad ≥ 2 (also jmin=2) zulassen:

.

Damit ist

.

Die freien Koeffizienten Wij sind nun die anteiligen Auslenkungen in B.


Für die Gleichgewichtsbedingungen setzten wir die Formänderungsenergie Π (aus dem Abschnitt Euler-Bernoulli-Balken)

und die Arbeitsfunktion der Gewichtskraft A

in U ein und schreiben die skalare Gleichung allgemein in Matrizenform an. Dabei müssen wir

berücksichtigen und erhalten

.

In der Spaltenmatrix

stehen nun zwischen einer und I-1 Gewichtungsfaktoren Wij : die gesuchten Unbekannten.

Die Gleichgewichtsbedingungen

,

liefern uns die benötigte Anzahl von Gleichungen, z.B. für i=3:

.

Hier - für i=3 - ist

.

/************************************************************/
/* Rayleigh-Ritz                                            */
/* try different degrees of polyomials                      */
fcts: [];
sols: [];
polyMax : 4;
for poly:2 thru polyMax do (
   /* trial function */
   trial: w[poly](xi) = sum(W[ref]*W[poly,j]*xi^(j),j,2,poly),
   /* potential energies */
   /* define potential energy of system */
   PMPE : [U  = Pi - A,
          Pi = 1/2*ℓ*'integrate(E*I(xi)*'diff(w[i](xi),xi,2)^2/ℓ^4,xi,0,1),
          A  = ℓ*'integrate(q(xi)*w[i](xi),xi,0,1)],
   PMPE: subst(dimless,subst(params,subst(trial,subst([i=poly],PMPE)))),
   PMPE: subst(PMPE[3],subst(PMPE[2], PMPE[1])),
   PMPE : ev(PMPE,nouns),
   /* equilibreium condition */
   X : makelist(W[poly,j],j,2,poly),
   equilibrium : ratsimp(subst(dimless,subst(reference,
                     makelist(diff(subst(PMPE, U),W[poly,j]) = 0,j,2,poly)))),
   /* solve */
   sol: ratsimp(solve(equilibrium,X)),
   sols: append(sols, sol),
   /* post-processing */
   fcts: append(fcts, [ratsimp(subst(geometry,subst(sol,subst(trial,w[poly](xi)/W[ref]))))]),
   print("done: #",poly))$




Post-Processing

Für die verschiedenen Ansätze (Polynimial-Grade der Trial-Functions) erhaltem wir Lösungen, die die analytische Lösung aus UEBI unterschiedlich gut approximieren. Hier wählen wir als Ansätze die Polynome bis zum Grad 2, 3 und 4.

Parameterstudie: Biegelinie w(x)

Und so berechnen wir die normierten Absenkungen des Balkens für die verschiedenen Ansätze: Für Moment- und Querkraftverläufe erhalten wir

Parameterstudie Biegemomentenverlauf M(x)
Parameterstudie Querkraftverlauf Q(x)

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

/* cross-sectional bending moment */
M : subst(geometry,ratsimp(subst(dimless,subst(reference,subst(params,-E*I(xi)*W[ref]*diff(fcts,xi,2)/ℓ^2/(m*g*ℓ/2))))))$
/* cross-sectional shear force */
Q : subst(geometry,ratsimp(subst(dimless,subst(reference,subst(params,-E*I(xi)*W[ref]*diff(fcts,xi,3)/ℓ^3/(m*g))))))$

fcts :append([[discrete, WA]], fcts)$
plot2d(fcts,[xi,0,1],
       [gnuplot_preamble, "set yrange [] reverse"],
       [legend, "analytic", "2nd Ord", "3rd Ord", "4th Ord", "5th Ord", "6th Ord"],
       [xlabel, "x/ℓ->"], [ylabel, "<-w/w_ref"],
       [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);
     
M :append([[discrete, MA]], M)$
plot2d(M,[xi,0,1],
       [legend, "analytic", "p02","p03","p04","p05","p06","p07","p08","p09","p10","p11","p12"],
       [xlabel, "x/ℓ->"], [ylabel, "M/(mg ℓ->"],
       [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);

Q :append([[discrete, QA]], Q)$
plot2d(Q,[xi,0,1],
       [legend, "analytic", "p02","p03","p04","p05","p06","p07","p08","p09","p10","p11","p12"],
       [xlabel, "x/ℓ->"], [ylabel, "Q/mg->"],
       [style, [lines,2], [lines,1], [lines,1], [lines,1], [lines,1], [lines,1]]);





Links

  • ...

Literature

  • ...


h