Gelöste Aufgaben/W8Zv: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 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|Caption]]
[[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]].  


==tmp==
<!-------------------------------------------------------------------------------->
 
{{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> .
 
 
{{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: 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>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Virtual Strain-Energy per Element
|text=Text
|text=
|code=
<syntaxhighlight lang="lisp" line start=1>
1+1
</syntaxhighlight>
}}
 
 
 
 
==tmp==
 
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>.
 
{{MyCodeBlock|title=Virtual Strain-Energy per Element
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+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>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
 
{{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 ...<!-------------------------------------------------------------------------------->


{{MyCodeBlock|title=Equilibrium Conditions
Hier fehlen noch die ...
|text=Text
|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>
}}
}}


==tmp==
 
<!-------------------------------------------------------------------------------->
{{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.<!-------------------------------------------------------------------------------->
::<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.
{{MyCodeBlock|title=Boundary Conditions
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
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>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
 
{{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:
 
 
{{MyCodeBlock|title=Solve
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solve */
</syntaxhighlight>
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]));


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


Die Auslenkung des Kraft-Angriffspunktes ''w(a)'' tragen wir hier auf:[[Datei:W8Zv-31.png|mini|Absenkung ''w(a)'' des Kraftangriffspunktes|alternativtext=|ohne]]<!-------------------------------------------------------------------------------->
/* print results */
{{MyCodeBlock|title=Post-Process: Results
print(transpose(scale*Q),"=",sol[2])$
|text=Text
|code=
<syntaxhighlight lang="lisp" line start=1>
1+1
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
{{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:


{{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?}}<!-------------------------------------------------------------------------------->
<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>


{{MyCodeBlock|title=Post-Process: Compare with Analytic Solution
{{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?}}
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* displacement of beam at force F */
plot2d(sol[2][2],[alpha,0,1],[xlabel, "α→"],[ylabel, "W1/(F l^3/EI)→"]);
</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>


<hr/>
<hr/>
Zeile 196: Zeile 214:
'''Literature'''
'''Literature'''
* ...
* ...
[[Datei:W8Zv-01.png|mini|Lageplan]]

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

  • ...