Gelöste Aufgaben/W8Zv: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „v“)
 
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
v
[[Category:Gelöste Aufgaben]]
[[Category:Numerische Lösung]]
[[Category:Randwertproblem]]
[[Category:Biege-Belastung]][[Category:Euler-Bernoulli-Balken]]
[[Category:Finite-Elemente-Methode‎]]
[[Category:Maxima‎]]
 
==Aufgabenstellung==
Zu den tabellierten [[Sources/Lexikon/Euler-Bernoulli-Balken/Standard-Lösungen#Einzellast, doppeltgelenkige Lagerung|Standardlösungen für den Euler-Bernoulli-Blaken]] berechnen wir eine Näherungslösung für einen beidseitig gelenkig gelagerten Euler-Bernoulli-Balken:
<onlyinclude>
[[Datei:W8Zv-01.png|200px|left|mini|Lageplan]]
Hier soll mit dem Ansatz mit der [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Elemente Methode|Methode der Finiten Elemente]] gearbeitet werden.
Gesucht ist das Verschiebungsfeld ''w(x)'' im Vergleich von FEM und analytischer Lösung.
</onlyinclude>
Diese Aufgabe ist eng verwandt mit [[Gelöste Aufgaben/W8Zt|W8Zt]] und [[Gelöste Aufgaben/W8Zu|W8Zu]].
 
 
== Lösung mit Maxima ==
Mit dem [[Sources/Lexikon/Föppl-Symbol|Föppl-Symbol "<>"]], sowie
 
::<math>\alpha = a/\ell</math>, <math>\beta = 1-\alpha</math> und <math>\xi = x/\ell</math>
 
ist die analytische Lösung:
 
::<math>EI w(x) = \frac{\displaystyle F \ell^3}{\displaystyle 6}\left[ \beta \xi ( 1-\beta^2-\xi^2)+<\xi-\alpha>^3 \right]</math>.
 
Bei dieser Lösung hat die [[Sources/Lexikon/unabhängige Koordinaten|unabhängige Koordinate]] ''x'' ihren Ursprung in ''A'' - wir verwenden unten einen anderen Ursprung!
 
Mit den passenden Ansatzfunktionen berechnen wir eine Näherungslösung des Problems nach dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Prinzip der virtuellen Verrückungen]].
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Header
|text=
Bei der Methode der Finiten Elemente setzen wir die virtuelle Formänderungsenergie des Systems additiv aus den Anteilen je Element zusammen. Hier arbeiten wir mit zwei Elementen, die am Kraft-Angriffspunkt aneinander stoßen.
 
Also ist
 
::<math>\delta \Pi = \delta \Pi_1 + \delta \Pi_2</math> ,
 
die virtuelle Arbeit der äußeren Kraft ''F'' ist
 
::<math>\delta W^a = F \cdot \delta w_F</math> .
|code=
<syntaxhighlight lang="lisp" line start=1>
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 15.08.2                          */
/* author: Andreas Baumgart                            */
/* last updated: 2017-11-21                            */
/* ref: TM-C, Labor 3 - aus Gross, Augf. TM 2,Biegestab*/
/* description: finds the approx. solution employing  */
/*              the FEM-approach                      */
/*******************************************************/
</syntaxhighlight>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Virtual Strain-Energy per Element
|text=
Aus der Finite Elemente Methode kennen wir die [[Sources/Anleitungen/FEM-Formulierung für den Euler-Bernoulli-Balken|virtuelle Formänderungsenergie]] eines Balkenelements
 
::<math>\delta \Pi_i = \left(\delta W_{i-1},\delta \Phi_{i-1},\delta W_{i},\delta \Phi_{i}\right) \cdot \underline{\underline{K}}_i \cdot \left(\begin{array}{l} W_{i-1}\\\Phi_{i-1}\\W_{i}\\\Phi_{i}\end{array}\right)</math>
 
für das klassische ''x-z''-Koordinatensystem des [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balkens]] und mit der Element-Steifigkeitsmatrix
 
::<math>\displaystyle \underline{\underline{K}}_i =
\frac{\mathit{EI}}{{{\ell}_{E}^{3}}} \cdot \begin{pmatrix}12 & 6\cdot {\ell_{E}} & -12 & 6\cdot {\ell_{E}}\\
6\cdot {\ell_{E}} & 4\cdot {\ell_{E}^{2}} & -6\cdot {\ell_{E}} & 2\cdot {\ell_{E}^{2}}\\
-12 & -6\cdot {\ell_{E}} & 12 & -6\cdot {\ell_{E}}\\
6\cdot {\ell_{E}} & 2\cdot {\ell_{E}^{2}} & -6\cdot {\ell_{E}} & 4\cdot {\ell_{E}^{2}}\end{pmatrix}</math>.
|code=
<syntaxhighlight lang="lisp" line start=1>
/* virtual strain engergy */
K[e] : EI/l[i]^3*matrix([12,6*l[i],-12,6*l[i]],
                        [6*l[i],4*l[i]^2,-6*l[i],2*l[i]^2],
                        [-12,-6*l[i],12,-6*l[i]],
                        [6*l[i],2*l[i]^2,-6*l[i],4*l[i]^2]);
</syntaxhighlight>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Equilibrium Conditions
|text=
Das Gesamt-Gleichungssystem für die Koordinaten
 
::<math>\underline{Q} = \left(\begin{array}{l} W_0\\\Phi_0\\W_1\\\Phi_1\\W_2\\\Phi_2 \end{array}\right)</math>
 
ist
 
::<math>\underline{\underline{K}}_0 \cdot \underline{Q} = \underline{P}</math>
 
mit der 6x6 Matrix ''K<sub>0</sub>''. In diese Matrix müssen wir jetzt die Element-Steifigkeitsmatrizen für das Element 1 und das Element 2 hineinaddieren, also
 
::<math>\underline{\underline{K}}_0 = EI\cdot \begin{pmatrix}\frac{12}{{\ell_{1}^{3}}} & \frac{6}{{\ell_{1}^{2}}} & -\frac{12}{{\ell_{1}^{3}}} & \frac{6}{{\ell_{1}^{2}}} & 0 & 0\\ \frac{6}{{\ell_{1}^{2}}} & \frac{4}{{\ell_{1}}} & -\frac{6}{{\ell_{1}^{2}}} & \frac{2}{{\ell_{1}}} & 0 & 0\\ -\frac{12}{{\ell_{1}^{3}}} & -\frac{6}{{\ell_{1}^{2}}} & \frac{12}{{\ell_{2}^{3}}}+\frac{12}{{\ell_{1}^{3}}} & \frac{6}{{\ell_{2}^{2}}}-\frac{6}{{\ell_{1}^{2}}} & -\frac{12}{{\ell_{2}^{3}}} & \frac{6}{{\ell_{2}^{2}}}\\ \frac{6}{{\ell_{1}^{2}}} & \frac{2}{{\ell_{1}}} & \frac{6}{{\ell_{2}^{2}}}-\frac{6}{{\ell_{1}^{2}}} & \frac{4}{{\ell_{2}}}+\frac{4}{{\ell_{1}}} & -\frac{6}{{\ell_{2}^{2}}} & \frac{2}{{\ell_{2}}}\\ 0 & 0 & -\frac{12}{{\ell_{2}^{3}}} & -\frac{6}{{\ell_{2}^{2}}} & \frac{12}{{\ell_{2}^{3}}} & -\frac{6}{{\ell_{2}^{2}}}\\ 0 & 0 & \frac{6}{{\ell_{2}^{2}}} & \frac{2}{{\ell_{2}}} & -\frac{6}{{\ell_{2}^{2}}} & \frac{4}{{\ell_{2}}}\end{pmatrix}
</math>
 
Weil die Auslenkung des Kraft-Angriffspunktes
 
::<math>\delta w_F = \delta W_1</math>
 
ist
 
::<math>\underline{P} = \left(\begin{array}{c}0\\0\\F\\0\\0\\0 \end{array}\right)</math>.
 
Hier fehlen noch die ...
|code=
<syntaxhighlight lang="lisp" line start=1>
/* coordinates */
Q: [ W[0],Phi[0], W[1],Phi[1], W[2], Phi[2]];
 
/* initiate matrices */
K[0] : zeromatrix(6,6);
P    : zeromatrix(6,1);
 
/* virtual work of F */
P[3][1] : F;
 
/* compose system matrix */
for E:1 thru 2 do
  (for j:1 thru 4 do
    (for k:1 thru 4 do
        (row : 2*(E-1)+j,
          col : 2*(E-1)+k,
          K[0][row][col] : K[0][row][col]+subst([i=E],K[e][j][k]))));
</syntaxhighlight>
}}
 
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Boundary Conditions
|text=
[[Datei:W8Zv-11.png|mini|Einarbeiten der Randbedingungen in die Systemmatrix|alternativtext=|400x400px]]Im Gesamt-Gleichungssystem müssen wir noch die Randbedingungen einarbeiten, nämlich
 
::<math>\begin{array}{ll}W_0 = 0 & (\delta W_0 = 0)\\W_2 = 0 & (\delta W_2 = 0) \end{array}</math>
 
Das machen wir durch Streichen der zugehörigen Zeilen und Spalten (1 und 5) im Gleichungssystem.
|code=
<syntaxhighlight lang="lisp" line start=1>
/* eliminate rows and columns of constrained coordinates */
K[0] : submatrix(1,5,K[0],1,5);
P    : submatrix(1,5,P);
Q    : [Q[2],Q[3],Q[4],Q[6]];
 
print(EI,expand(K[0]/EI),transpose(Q),"=",P)$
</syntaxhighlight>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Solve
|text=
Die Lösung des verbleibenden Gleichungssystems mit
 
::<math>\displaystyle \alpha = \frac{a}{\ell_0}, \;\;\;\ell_0 = a + b</math>
 
ist
 
::<math>\begin{array}{ccl} \displaystyle {{\Phi}_{0}} \cdot &\displaystyle \frac{EI}{{\ell_{0}^{2}} \cdot F} &\displaystyle =\frac{2\cdot \alpha-3\cdot {{\alpha}^{2}}+{{\alpha}^{3}}}{6}\\ \displaystyle {  {W}_{1}} \cdot &\displaystyle \frac{EI}{{\ell_{0}^{3}} \cdot F} &\displaystyle =\frac{{{\alpha}^{2}}-2\cdot {{\alpha}^{3}}+{{\alpha}^{4}}}{3}\\ \displaystyle {{\Phi}_{1}} \cdot &\displaystyle \frac{EI}{{\ell_{0}^{2}}\cdot F}  &\displaystyle =\frac{\alpha-3\cdot {{\alpha}^{2}}+2\cdot {{\alpha}^{3}}}{3}\\ \displaystyle {{\Phi}_{2}} \cdot &\displaystyle \frac{EI}{{\ell_{0}^{2}}\cdot F}  &\displaystyle =\frac{{{\alpha}^{3}}-\alpha}{6} \end{array}
</math>
 
Und die Ergebnisse können wir mit der analytischen Lösung vergleichen:
|code=
<syntaxhighlight lang="lisp" line start=1>
/* solve */
sol[1] : ratsimp(linsolve_by_lu(K[0],P));
sol[1] : ratsimp(subst([l[1]=alpha*l[0],l[2]=(1-alpha)*l[0]],sol[1][1]));
 
/* dim'less results */
scale : EI/(l[0]^3*F)*[l[0],1,l[0],l[0]];
sol[2] : ratsimp(scale*sol[1]);
 
/* print results */
print(transpose(scale*Q),"=",sol[2])$
</syntaxhighlight>
}}
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Process: Results
|text=
Die Auslenkung des Kraft-Angriffspunktes ''w(a)'' tragen wir hier auf:[[Datei:W8Zv-31.png|mini|Absenkung ''w(a)'' des Kraftangriffspunktes|alternativtext=|ohne]]
 
Der Vergleich der tabellierten Lösungen mit unseren Lösungen:
 
<table class="wikitable" style="background-color:white; float: left; margin-right:14px;
">
<tr><th>Ort</th><th>analytische Lösung</th><th>FEM-Lösung</th><th>Vergleich</th></tr>
<tr><td>A</td><td><math>EI \cdot w'_A = \displaystyle \frac{F\; \ell^2}{6} (\beta - \beta^3)</math>
</td><td><math>\displaystyle EI \; \Phi_0 = F\;\ell_0^2 \cdot \frac{2\cdot \alpha-3\cdot {{\alpha}^{2}}+{{\alpha}^{3}}}{6}</math>
</td><td>Erfüllt, weil ''w'<sub>A</sub> = Φ<sub>0</sub>'' und
 
<math>\displaystyle \beta-\beta^3 ={{\alpha}^{3}}-3\cdot \alpha^{2}+2\cdot \alpha</math>
</td></tr>
<tr><td>B</td><td><math>EI \cdot w'_B = -\displaystyle \frac{F\; \ell^2}{6} (\alpha - \alpha^3)</math>
</td><td><math>\displaystyle EI \; \Phi_2  = F\; \ell^2 \cdot \frac{{{\alpha}^{3}}-\alpha}{6} </math>
</td><td>Erfüllt, weil ''w'<sub>B</sub> = Φ<sub>2</sub>''
</td></tr>
<tr><td>Kraftangriffspunkt</td><td><math>\displaystyle EI \; w_\text{max} = \frac{F \; \ell^3}{48} \text{ für } \alpha = \beta = 1/2</math>
</td><td><math>\displaystyle EI \; W_1  = F\; \ell^3 \cdot \frac{{{\alpha}^{2}}-2\cdot {{\alpha}^{3}}+{{\alpha}^{4}}}{3} </math>
</td><td>Erfüllt, weil ''w<sub>max</sub> = W''<sub>1</sub> für α = 1/2
</td></tr>
</table>
 
{{MyAttention|title=Ist das jetzt die analytische Lösung?|text=Sind die FEM-Ergebnisse nicht exakt die der analytischen Lösung? Stimmt das? Und wenn ja:  wie kommt das?}}
|code=
<syntaxhighlight lang="lisp" line start=1>
/* displacement of beam at force F */
plot2d(sol[2][2],[alpha,0,1],[xlabel, "α→"],[ylabel, "W1/(F l^3/EI)→"]);
</syntaxhighlight>
}}
 
<hr/>
'''Links'''
* [[Gelöste Aufgaben/W8Zt|W8Zt]], [[Gelöste Aufgaben/W8Zu|W8Zu]]
 
'''Literature'''
* ...

Aktuelle Version vom 19. November 2024, 08:21 Uhr


Aufgabenstellung

Zu den tabellierten Standardlösungen für den Euler-Bernoulli-Blaken berechnen wir eine Näherungslösung für einen beidseitig gelenkig gelagerten Euler-Bernoulli-Balken:

Lageplan

Hier soll mit dem Ansatz mit der Methode der Finiten Elemente gearbeitet werden. Gesucht ist das Verschiebungsfeld w(x) im Vergleich von FEM und analytischer Lösung.

Diese Aufgabe ist eng verwandt mit W8Zt und W8Zu.


Lösung mit Maxima

Mit dem Föppl-Symbol "<>", sowie

,  und

ist die analytische Lösung:

.

Bei dieser Lösung hat die unabhängige Koordinate x ihren Ursprung in A - wir verwenden unten einen anderen Ursprung!

Mit den passenden Ansatzfunktionen berechnen wir eine Näherungslösung des Problems nach dem Prinzip der virtuellen Verrückungen.

Header

Bei der Methode der Finiten Elemente setzen wir die virtuelle Formänderungsenergie des Systems additiv aus den Anteilen je Element zusammen. Hier arbeiten wir mit zwei Elementen, die am Kraft-Angriffspunkt aneinander stoßen.

Also ist

,

die virtuelle Arbeit der äußeren Kraft F ist

.

/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2017-11-21                            */
/* ref: TM-C, Labor 3 - aus Gross, Augf. TM 2,Biegestab*/
/* description: finds the approx. solution employing   */
/*              the FEM-approach                       */
/*******************************************************/




Virtual Strain-Energy per Element

Aus der Finite Elemente Methode kennen wir die virtuelle Formänderungsenergie eines Balkenelements

für das klassische x-z-Koordinatensystem des Euler-Bernoulli-Balkens und mit der Element-Steifigkeitsmatrix

.

/* virtual strain engergy */
K[e] : EI/l[i]^3*matrix([12,6*l[i],-12,6*l[i]],
                        [6*l[i],4*l[i]^2,-6*l[i],2*l[i]^2],
                        [-12,-6*l[i],12,-6*l[i]],
                        [6*l[i],2*l[i]^2,-6*l[i],4*l[i]^2]);




Equilibrium Conditions

Das Gesamt-Gleichungssystem für die Koordinaten

ist

mit der 6x6 Matrix K0. In diese Matrix müssen wir jetzt die Element-Steifigkeitsmatrizen für das Element 1 und das Element 2 hineinaddieren, also

Weil die Auslenkung des Kraft-Angriffspunktes

ist

.

Hier fehlen noch die ...


/* coordinates */
Q: [ W[0],Phi[0], W[1],Phi[1], W[2], Phi[2]];

/* initiate matrices */
K[0] : zeromatrix(6,6);
P    : zeromatrix(6,1);

/* virtual work of F */
P[3][1] : F;

/* compose system matrix */
for E:1 thru 2 do
  (for j:1 thru 4 do
     (for k:1 thru 4 do
         (row : 2*(E-1)+j,
          col : 2*(E-1)+k,
          K[0][row][col] : K[0][row][col]+subst([i=E],K[e][j][k]))));




Boundary Conditions

Einarbeiten der Randbedingungen in die Systemmatrix

Im Gesamt-Gleichungssystem müssen wir noch die Randbedingungen einarbeiten, nämlich

Das machen wir durch Streichen der zugehörigen Zeilen und Spalten (1 und 5) im Gleichungssystem.


/* eliminate rows and columns of constrained coordinates */
K[0] : submatrix(1,5,K[0],1,5);
P    : submatrix(1,5,P);
Q    : [Q[2],Q[3],Q[4],Q[6]];

print(EI,expand(K[0]/EI),transpose(Q),"=",P)$




Solve

Die Lösung des verbleibenden Gleichungssystems mit

ist

Und die Ergebnisse können wir mit der analytischen Lösung vergleichen:


/* solve */
sol[1] : ratsimp(linsolve_by_lu(K[0],P));
sol[1] : ratsimp(subst([l[1]=alpha*l[0],l[2]=(1-alpha)*l[0]],sol[1][1]));

/* dim'less results */
scale : EI/(l[0]^3*F)*[l[0],1,l[0],l[0]];
sol[2] : ratsimp(scale*sol[1]);

/* print results */
print(transpose(scale*Q),"=",sol[2])$




Post-Process: Results

Die Auslenkung des Kraft-Angriffspunktes w(a) tragen wir hier auf:

Absenkung w(a) des Kraftangriffspunktes

Der Vergleich der tabellierten Lösungen mit unseren Lösungen:

Ortanalytische LösungFEM-LösungVergleich
A Erfüllt, weil w'A = Φ0 und

B Erfüllt, weil w'B = Φ2
Kraftangriffspunkt Erfüllt, weil wmax = W1 für α = 1/2
Ist das jetzt die analytische Lösung?:
Sind die FEM-Ergebnisse nicht exakt die der analytischen Lösung? Stimmt das? Und wenn ja:  wie kommt das?

/* displacement of beam at force F */
plot2d(sol[2][2],[alpha,0,1],[xlabel, "α→"],[ylabel, "W1/(F l^3/EI)→"]);





Links

Literature

  • ...