Gelöste Aufgaben/W8Zv: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
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: | 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> | <onlyinclude> | ||
[[Datei:W8Zv-01.png|200px|left|mini| | [[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. | 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. | Gesucht ist das Verschiebungsfeld ''w(x)'' im Vergleich von FEM und analytischer Lösung. | ||
Zeile 29: | Zeile 29: | ||
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]]. | 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. | 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 | Also ist | ||
<math>\delta \Pi = \delta \Pi_1 + \delta \Pi_2</math> , | ::<math>\delta \Pi = \delta \Pi_1 + \delta \Pi_2</math> , | ||
die virtuelle Arbeit der äußeren Kraft ''F'' ist | die virtuelle Arbeit der äußeren Kraft ''F'' ist | ||
<math>\delta W^a = F \cdot \delta w_F</math> . | ::<math>\delta W^a = F \cdot \delta w_F</math> . | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <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> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title= | {{MyCodeBlock|title=Virtual Strain-Energy per Element | ||
|text= | |text= | ||
Aus der Finite Elemente Methode kennen wir die [[Sources/Anleitungen/FEM-Formulierung für den Euler-Bernoulli-Balken|virtuelle Formänderungsenergie]] eines Balkenelements | 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> | ::<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 | 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 = | ::<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}}\\ | \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}}\\ | 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}}\\ | -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>. | 6\cdot {\ell_{E}} & 2\cdot {\ell_{E}^{2}} & -6\cdot {\ell_{E}} & 4\cdot {\ell_{E}^{2}}\end{pmatrix}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <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> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Equilibrium Conditions | |||
|text= | |||
Das Gesamt-Gleichungssystem für die Koordinaten | 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> | ::<math>\underline{Q} = \left(\begin{array}{l} W_0\\\Phi_0\\W_1\\\Phi_1\\W_2\\\Phi_2 \end{array}\right)</math> | ||
ist | ist | ||
<math>\underline{\underline{K}}_0 \cdot \underline{Q} = \underline{P}</math> | ::<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 | 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>\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> | </math> | ||
Weil die Auslenkung des Kraft-Angriffspunktes | Weil die Auslenkung des Kraft-Angriffspunktes | ||
<math>\delta w_F = \delta W_1</math> | ::<math>\delta w_F = \delta W_1</math> | ||
ist | ist | ||
<math>\underline{P} = \left(\begin{array}{c}0\\0\\F\\0\\0\\0 \end{array}\right)</math>. | ::<math>\underline{P} = \left(\begin{array}{c}0\\0\\F\\0\\0\\0 \end{array}\right)</math>. | ||
Hier fehlen noch die ... | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+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> | </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 | [[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= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
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> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solve | |||
|text= | |||
Die Lösung des verbleibenden Gleichungssystems mit | Die Lösung des verbleibenden Gleichungssystems mit | ||
<math>\displaystyle \alpha = \frac{a}{\ell_0}, \;\;\;\ell_0 = a + b</math> | ::<math>\displaystyle \alpha = \frac{a}{\ell_0}, \;\;\;\ell_0 = a + b</math> | ||
ist | 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>\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> | </math> | ||
Und die Ergebnisse können wir mit der analytischen Lösung vergleichen: | Und die Ergebnisse können wir mit der analytischen Lösung vergleichen: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
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> | </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: | Der Vergleich der tabellierten Lösungen mit unseren Lösungen: | ||
Zeile 175: | Zeile 184: | ||
"> | "> | ||
<tr><th>Ort</th><th>analytische Lösung</th><th>FEM-Lösung</th><th>Vergleich</th></tr> | <tr><th>Ort</th><th>analytische Lösung</th><th>FEM-Lösung</th><th>Vergleich</th></tr> | ||
<tr><td>A</td><td></td><td></td><td></td></tr> | <tr><td>A</td><td><math>EI \cdot w'_A = \displaystyle \frac{F\; \ell^2}{6} (\beta - \beta^3)</math> | ||
<tr><td>B</td><td></td><td></td><td></td></tr> | </td><td><math>\displaystyle EI \; \Phi_0 = F\;\ell_0^2 \cdot \frac{2\cdot \alpha-3\cdot {{\alpha}^{2}}+{{\alpha}^{3}}}{6}</math> | ||
<tr><td>Kraftangriffspunkt</td><td></td><td></td><td></td></tr> | </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> | </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?}} | {{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= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* displacement of beam at force F */ | ||
plot2d(sol[2][2],[alpha,0,1],[xlabel, "α→"],[ylabel, "W1/(F l^3/EI)→"]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 200: | Zeile 214: | ||
'''Literature''' | '''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:
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
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:
Der Vergleich der tabellierten Lösungen mit unseren Lösungen:
Ort | analytische Lösung | FEM-Lösung | Vergleich |
---|---|---|---|
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
- ...