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

α=a/ℓ, β=1−α und ξ=x/ℓ

ist die analytische Lösung:

EIw(x)=Fℓ36[βξ(1−β2−ξ2)+<ξ−α>3].

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

δΠ=δΠ1+δΠ2 ,

die virtuelle Arbeit der äußeren Kraft F ist

δWa=F⋅δwF .

/*******************************************************/
/* 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

δΠi=(δWi−1,δΦi−1,δWi,δΦi)⋅K__i⋅(Wi−1Φi−1WiΦi)

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

K__i=EIℓE3⋅(126⋅ℓE−126⋅ℓE6⋅ℓE4⋅ℓE2−6⋅ℓE2⋅ℓE2−12−6⋅ℓE12−6⋅ℓE6⋅ℓE2⋅ℓE2−6⋅ℓE4⋅ℓE2).

/* 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

Q_=(W0Φ0W1Φ1W2Φ2)

ist

K__0⋅Q_=P_

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

K__0=EI⋅(12ℓ136ℓ12−12ℓ136ℓ12006ℓ124ℓ1−6ℓ122ℓ100−12ℓ13−6ℓ1212ℓ23+12ℓ136ℓ22−6ℓ12−12ℓ236ℓ226ℓ122ℓ16ℓ22−6ℓ124ℓ2+4ℓ1−6ℓ222ℓ200−12ℓ23−6ℓ2212ℓ23−6ℓ22006ℓ222ℓ2−6ℓ224ℓ2)

Weil die Auslenkung des Kraft-Angriffspunktes

δwF=δW1

ist

P_=(00F000).

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

W0=0(δW0=0)W2=0(δW2=0)

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

α=aℓ0,ℓ0=a+b

ist

Φ0⋅EIℓ02⋅F=2⋅α−3⋅α2+α36W1⋅EIℓ03⋅F=α2−2⋅α3+α43Φ1⋅EIℓ02⋅F=α−3⋅α2+2⋅α33Φ2⋅EIℓ02⋅F=α3−α6

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
AEI⋅w'A=Fℓ26(β−β3) EIΦ0=Fℓ02⋅2⋅α−3⋅α2+α36 Erfüllt, weil w'A = Φ0 und

β−β3=α3−3⋅α2+2⋅α

BEI⋅w'B=−Fℓ26(α−α3) EIΦ2=Fℓ2⋅α3−α6 Erfüllt, weil w'B = Φ2
KraftangriffspunktEIwmax=Fℓ348 für α=β=1/2 EIW1=Fℓ3⋅α2−2⋅α3+α43 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

  • ...