Gelöste Aufgaben/Buck: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 16: Zeile 16:
für Anwendungen in Finite-Elemente-Methoden unterschieldliche Wege.  
für Anwendungen in Finite-Elemente-Methoden unterschieldliche Wege.  
<onlyinclude>
<onlyinclude>
[[Datei:Buck-01.png|100px|left|mini|Caption]]
[[Datei:Buck-01.png|100px|left|mini|Erster Eulerscher Knickfall.]]
Gesucht sind die Ansätze für die Berechnung der kritischen Drucklast ausgehen von
Gesucht sind die Ansätze für die Berechnung der kritischen Drucklast, ausgehend von
* dem Kräfte-Gleichgewicht am ausgelenkten System und
* dem Kräfte-Gleichgewicht am ausgelenkten Stab und
* dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.
* dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.
Das soll hier für den ersten Eulerschen Knickfall passieren.
Ziel ist es, die Vorgehensweisen beider Ansätze einmal im Vergleich darzustellen. Der Fokus liegt dabei auf der Anwendung für Finite-Elemente-Methoden - also dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.
</onlyinclude>
</onlyinclude>
Das sehen wir uns für den ersten Eulerschen Knickfall genauer an und vergleichen die Ergebnisse. Der homogene Stab mit dem Elastizitätsmodul <math>E</math>
hat die Länge <math>\ell</math>, einen Kreisquerschnitt mit der Querschnittsfläche
<math>A</math> und dem Flächenmoment zweiten Grades <math>I</math>.
Ziel ist es, die Vorgehensweisen beider Ansätze im Vergleich darzustellen. Der Fokus liegt dabei auf der Anwendung für Finite-Elemente-Methoden - also dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.


== Ansatz mit dem Kräftegleichgewicht am ausgelenkten System ==
== Ansatz mit dem Kräftegleichgewicht am ausgelenkten System ==


Für das Verständnis des Phänomens "Knicken" ist es sinnvoll, die Zusammenhänge zwischen Koordinaten und Kräften anhand von Überlegungen zum Kräftegleichgewicht aufzuzeigen.
Für das Verständnis des Phänomens "Knicken" ist es sinnvoll, die Zusammenhänge zwischen Koordinaten und Kräften anhand von Überlegungen zum Kräftegleichgewicht aufzuzeigen.
=== Gleichgewicht am Stabelement ===


Dafür gehen wir von einem Stabelement der Länge <math>\Delta x</math> aus und tragen die Koordinaten <math>w(x), \varphi(x)</math> sowie die Schnittlasten <math>N(x),Q(x),M(x)</math> in einem Freikörperbild an:
Dafür gehen wir von einem Stabelement der Länge <math>\Delta x</math> aus und tragen die Koordinaten <math>w(x), \varphi(x)</math> sowie die Schnittlasten <math>N(x),Q(x),M(x)</math> in einem Freikörperbild an:


[[Datei:Buck-11.png|180px|right|mini|Schnittlasten am ausgelenkten Stab-Element.]]
[[Datei:Buck-11.png|220px|right|mini|Schnittlasten am ausgelenkten Stab-Element.]]


Wir finden
Die Gleichgewichtsbedinungen am Element liefern


::<math>
::<math>
\begin{array}{lll}
\begin{array}{lllll}
\sum F_{x,i} = 0 &:& N(x+\Delta x) \; \cos(\varphi(x+\Delta x)) - N(x) \; \cos(\varphi(x))
\sum F_{x,i} &=& 0 &:& N(x+\Delta x) \; \cos(\varphi(x+\Delta x)) - N(x) \; \cos(\varphi(x))
                     -Q(x+\Delta x) \; \sin(\varphi(x+\Delta x)) + Q(x) \; \sin(\varphi(x)) = 0,\\
                     -Q(x+\Delta x) \; \sin(\varphi(x+\Delta x)) + Q(x) \; \sin(\varphi(x)) = 0,\\
\sum F_{z,i} = 0 &:& Q(x+\Delta x) \; \cos(\varphi(x+\Delta x)) - Q(x) \; \cos(\varphi(x))
\sum F_{z,i} &=& 0 &:& Q(x+\Delta x) \; \cos(\varphi(x+\Delta x)) - Q(x) \; \cos(\varphi(x))
                     +N(x+\Delta x) \; \sin(\varphi(x+\Delta x)) - N(x) \; \sin(\varphi(x)) = 0,\\
                     +N(x+\Delta x) \; \sin(\varphi(x+\Delta x)) - N(x) \; \sin(\varphi(x)) = 0,\\
\sum M^{x+\Delta x} = 0 &:& M(x+\Delta x) - M(x)  
\sum M^{x+\Delta x} &=& 0 &:& M(x+\Delta x) - M(x)  
                     +N(x)\;\sin(\varphi(x))\;\Delta x -N(x)\;\cos(\varphi(x))\;\left(w(x+\Delta x)-w(x)\right)
                     +N(x)\;\sin(\varphi(x))\;\Delta x -N(x)\;\cos(\varphi(x))\;\left(w(x+\Delta x)-w(x)\right)
                     +Q(x)\;\cos(\varphi(x))\;\Delta x +Q(x)\;\sin(\varphi(x))\;\left(w(x+\Delta x)-w(x)\right).
                     +Q(x)\;\cos(\varphi(x))\;\Delta x +Q(x)\;\sin(\varphi(x))\;\left(w(x+\Delta x)-w(x)\right).
Zeile 46: Zeile 50:
</math>
</math>


Teilen durch <math>\Delta x</math> und der Grenzwert-Übergang von <math>\Delta x \rightarrow dx</math> liefert due differentiallen Gleichgewichtsbedingungen
Teilen durch <math>\Delta x</math> und der Grenzwert-Übergang von <math>\Delta x \rightarrow dx</math> liefert die differentiallen Gleichgewichtsbedingungen


::<math>
::<math>
Zeile 55: Zeile 59:
                     + \frac{d}{dx}\;w \; \left(-N\;\cos(\varphi) + Q\;\sin(\varphi)\right) = 0
                     + \frac{d}{dx}\;w \; \left(-N\;\cos(\varphi) + Q\;\sin(\varphi)\right) = 0
\end{array}
\end{array}
</math>
</math>.


Mit etwas Übersicht können wir die drei Gleichungen stark vereinfachen, wenn wir die dritte Gleichung nach <math>x</math> ableiten. Dann nutzen wir die ersten beiden Gleichungen, um sie stark zu vereinfachen:
Mit etwas Übersicht können wir die drei Gleichungen stark vereinfachen, wenn wir die dritte Gleichung nach <math>x</math> ableiten und die ersten beiden Gleichungen nutzen, um Terme zu eliminieren:


::<math>
::<math>
Zeile 67: Zeile 71:
\end{array}
\end{array}
</math>
</math>
=== Differentialgleichung der Biegelinie für den Knickfall ===


Wir gehen weiter davon aus, dass wir in dieser Gleichung
Wir gehen weiter davon aus, dass wir in dieser Gleichung
<math>Q\;\sin(\varphi) \approx 0</math> und
<math>|Q\;\sin(\varphi)| \ll |N\;\cos(\varphi)|</math> und
<math>-N\;\cos(\varphi)\approx P</math> setzen dürfen - die Querkraft wird klein gegenüber der Normalkräft sein, und die Normalkraft setzen wir zur äußeren, eingeprägten Druckkraft <math>P</math>.
<math>-N\;\cos(\varphi)\approx P</math> setzen dürfen - die Querkraft wird klein gegenüber der Normalkräft sein, und die Normalkraft setzen wir zur äußeren, eingeprägten Druckkraft <math>P</math>.


Zeile 78: Zeile 84:
</math>
</math>


das Knickproblem. Für den Euler-Bernoulli-Balken mit konstanter Querschnittsfläche gilt demnach für die Aulenkung
das Knickproblem. Für den Euler-Bernoulli-Balken mit konstanter Querschnittsfläche gilt demnach für die Auslenkung <math>w(x)</math> die Gleichgewichtsbedingung


::<math>
::<math>
Zeile 95: Zeile 101:
</math>
</math>


mit <math>j:=\sqrt{-1}</math>. Die Lösung der Differentialbeziehung ist demnach mit <math>\kappa := \kappa[3]</math>
wobei <math>j:=\sqrt{-1}</math>. Die Lösung der Differentialbeziehung ist demnach mit <math>\kappa := \kappa_3 = j\; \kappa_4</math>


::<math>
::<math>
Zeile 101: Zeile 107:
</math>,
</math>,


wobei <math>W_1, W_2, W_3, W_4</math> reelwertige Integrationskonstanten sind, die aus den Randbedingungen des Problems kommen.
die <math>W_1, W_2, W_3, W_4</math> sind reellwertige Integrationskonstanten, die aus den Randbedingungen des Problems kommen.
 
=== Beispiel: erster Eulerscher Knickfall ===
Für den ersten Eulerschen Knickfall oben gilt  
Für den ersten Eulerschen Knickfall oben gilt  


Zeile 113: Zeile 121:
</math>
</math>


also in Matrixschreibweise
also in Matrixschreibweise mit <math>\kappa^2=-\frac{\displaystyle P}{\displaystyle EI}</math>


::<math>
::<math>
Zeile 141: Zeile 149:
0\\
0\\
\end{array}\right)
\end{array}\right)
</math>
</math>.


Dieses homogene Gleichungssystem hat Lösungen, wenn
Dieses homogene Gleichungssystem hat nichttriviale - von Null verschiedene - Lösungen, wenn


::<math>\text{det}(\underline{\underline{\displaystyle A}})=\kappa^5 \cos(\kappa \ell) \stackrel{!}{=}0</math>
::<math>\text{det}(\underline{\underline{\displaystyle A}})=\kappa^5 \cos(\kappa \ell) \stackrel{!}{=}0</math>
Zeile 156: Zeile 164:


Das gezeigte Vorgehen finden Sie in allen Mechanik-Lehrbüchern.
Das gezeigte Vorgehen finden Sie in allen Mechanik-Lehrbüchern.
Dieser Lösungsansatz - Gleichgewicht am ausgelenkten System - funktioniert allerdings nur gut für sehr einfache Systeme. Für technsche Systeme brauchen wir einen Ansatz, der immer funktionert und bei dem man kein Freikörperbild zeichnen muss. Das geht mit dem Prinzip der virtuellen Verrückungen.
Der Lösungsansatz "Gleichgewicht am ausgelenkten System" funktioniert allerdings nur gut für sehr einfache Systeme. Für technsche relevante Systeme brauchen wir einen Ansatz, der immer funktionert und bei dem man kein Freikörperbild zeichnen muss. Das geht mit dem  
[[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe_der_Analytischen_Mechanik/Prinzip_der_virtuellen_Verrückungen|Prinzip der virtuellen Verrückungen]].


== Ansatz mit dem Prinzip der virtuellen Verrückungen mit großen Dehnungen ==
==Ansatz mit dem Prinzip der virtuellen Verrückungen mit großen Dehnungen==


Für den Einsatz in Finite-Elemente-Methoden ist der Ansatz über ein Kräftegleichgewicht wie oben nicht möglich und sinnvoll: im Allgemeinen kann man für die zu untersuchenden Systeme kein Kräftegleichgewicht aufstellen. Hier geht man vom Prinzip der virtuellen Verrückungen aus, wobei in der virtuellen Formänderungsarbeit
Für den Einsatz in Finite-Elemente-Methoden ist der Ansatz über ein Kräftegleichgewicht wie oben nicht möglich und sinnvoll: im Allgemeinen kann man für die zu untersuchenden Systeme kein Kräftegleichgewicht aufstellen. Hier geht man vom [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe_der_Analytischen_Mechanik/Prinzip_der_virtuellen_Verrückungen|Prinzip der virtuellen Verrückungen]] aus, wobei in der virtuellen Formänderungsarbeit


::<math>\delta \Pi = \int_V \underline{\sigma} \cdot \delta\underline{\varepsilon} dV</math>
::<math>\delta \Pi = \int_V \underline{\sigma} \cdot \delta\underline{\varepsilon} \;dV</math>


die Dehnung <math>\underline{\varepsilon}</math> nichtlineare Anteile der Koordinaten der Verformung enthält.
die Dehnung <math>\underline{\varepsilon}</math> nichtlineare Anteile der Koordinaten der Verformung enthält.
Nach unserer Untersuchung oben erwarten wir dabei nicht lineare Terme in den Koordianten, also mindestens Anteile mit <math>u'(x) \cdot w''(x)</math>, bei dem die Längskraft (hier <math>u'</math) in Kombination mit der Biegung (hier <math>w''</math> auftritt. Wir müssen also in <math><math>\delta \Pi</math> nichtlineare Anteile mitnehmen.
Nach unserer Untersuchung oben erwarten wir dabei nichtlineare Terme in den Koordianten, also mindestens Anteile mit <math>u'(x) \cdot w''(x)</math>, bei dem die Längskraft (hier <math>u'</math>) in Kombination mit der Biegung (hier <math>w''</math>) auftritt.


Wir starten mit der Auslenkung eines Punktes P und den unabhängigen materiellen Koordinaten <math>x, y, z</math> und den abhänfigen Koordinaten <math>u(x),w(x),\varphi(x)</math>.
Wir müssen also in <math>\delta \Pi</math> nichtlineare Anteile mitnehmen.
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title= Kinematik der Bewegung der materiellen Punkte
|text=
 
Wir konstruieren die Auslenkung des Punktes <math>P</math> mit den unabhängigen, materiellen Koordinaten <math>x, y, z</math> und den abhängigen Koordinaten <math>u(x),w(x),\varphi(x)</math>:


[[Datei:Buck-12.png|180px|right|mini|Kinemtik der Auslenkung eines Stab-Querschnitts <math>x</math>.]]
[[Datei:Buck-12.png|180px|right|mini|Kinemtik der Auslenkung eines Stab-Querschnitts <math>x</math>.]]


Damit konstruieren wir den Ortsvektor (die Koeffizienten des Ortsvektors) zum Punkt <math>P'</math> zu
Aus dem Bild lesen wir die als Ortsvektor (die Koeffizienten des Ortsvektors) zum Punkt <math>P'</math> ab:


::<math>\underline{r}_{P'} =  
::<math>\underline{r}_{P'} =  
Zeile 184: Zeile 199:
y\\
y\\
w(x)+z\\
w(x)+z\\
\end{array}\right) +
\end{array}\right)
</math>
</math>


Zeile 196: Zeile 211:
-\sin(\varphi)&0&\cos(\varphi)
-\sin(\varphi)&0&\cos(\varphi)
\end{array}\right)
\end{array}\right)
</math>
</math>.


Wir erhalten für die Auslenkung des Punktes P demnach
Wir erhalten für die Auslenkung des Punktes P demnach
Zeile 210: Zeile 225:
                           \right)
                           \right)
\end{array}
\end{array}
</math>
</math>.


Und interessiert hier nur der ebene Spannungszustand in der <math>x-z</math>-Ebene, bei dem außerdem noch  
Uns interessiert hier nur der ebene Spannungszustand in der <math>x-z</math>-Ebene, bei dem außerdem noch  
<math>\sigma_{zz}=0</math> ist.
<math>\sigma_{zz}=0</math> ist.
Mit den allgemeinen Beziehungen in der Ebene für den Zusammenhang zwischen den Auslenkungen <math>u_i</math> und den materiellen Koordinaten <math>x_j</math>  
Mit den allgemeinen Beziehungen in der Ebene für den Zusammenhang zwischen den Auslenkungen <math>u_i</math> und den materiellen Koordinaten <math>x_j</math>  
Zeile 233: Zeile 248:
-(\sin(\varphi)\;\varphi'\;(z+w))+u\;\cos(\varphi)\;\varphi'+u'\;\sin(\varphi)-\sin(\varphi)+w'\;\cos(\varphi)
-(\sin(\varphi)\;\varphi'\;(z+w))+u\;\cos(\varphi)\;\varphi'+u'\;\sin(\varphi)-\sin(\varphi)+w'\;\cos(\varphi)
                           \end{array}\right)
                           \end{array}\right)
</math>
</math>.


Die Spannungen <math>\underline{\sigma}</math> kommen dann - mit der Annahme <math>\sigma_{zz}=0</math>, dem Elastizitätsmodul <math>E</math> und dem Schubmodul <math>G</math> - aus
Die Spannungen <math>\underline{\sigma}</math> kommen dann - mit der Annahme <math>\sigma_{zz}=0</math>, dem Elastizitätsmodul <math>E</math> und dem Schubmodul <math>G</math> - aus
Zeile 239: Zeile 254:
::<math>\underline{\sigma} =  
::<math>\underline{\sigma} =  
\left(\begin{array}{ccc}
\left(\begin{array}{ccc}
E&0&0\\0&0&0\\0&0&G
E&0&0\\0&0&0\\0&0&2G
\end{array}\right)
\end{array}\right)
\cdot
\cdot
Zeile 245: Zeile 260:
\varepsilon_{xx}\\\varepsilon_{zz}\\\varepsilon_{xz}\\
\varepsilon_{xx}\\\varepsilon_{zz}\\\varepsilon_{xz}\\
\end{array}\right)
\end{array}\right)
</math>.
|code=
<syntaxhighlight lang="lisp" line start=1>
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 21.05.3                          */
/* author: Andreas Baumgart                            */
/* last updated: 2025-11-20                            */
/* ref: buckling of straight rods                      */
/*      FEM-formulation (large strain analysis)        */
/*******************************************************/
/* parameters*/
assume(d>0, e>0, ℓ[e]>0);
params: [ℓ[e]=100*d,A=d^2, I=%pi*d^4/64, G=E/(2*(1-ν)), ν=0.3];
/* trial functions */
ψ: [[1-ξ,ξ],
    [2*ξ^3-3*ξ^2+1,
    ℓ[e]*ξ^3-2*ℓ[e]*ξ^2+ℓ[e]*ξ,
    3*ξ^2-2*ξ^3,
    ℓ[e]*ξ^3-ℓ[e]*ξ^2]];
/* coordinates and their variations */
Q :[[ U[e-1], U[e]],[ W[e-1], Φ[e-1], W[e], Φ[e]],
    [δU[e-1],δU[e]],[δW[e-1],δΦ[e-1],δW[e],δΦ[e]]];
dimless: [ξ=x/ℓ[e]];
trials: [ u(x)= sum(Q[1][i]*ψ[1][i],i,1,2),
        δu(x)= sum(Q[3][i]*ψ[1][i],i,1,2),
          w(x)= sum(Q[2][i]*ψ[2][i],i,1,4),
        δw(x)= sum(Q[4][i]*ψ[2][i],i,1,4)];
/* linear stre-strain-relations (not employed) */
k: E/(1-ν^2)*matrix([1,ν,0],[ν,1,0],[0,0,1-ν]);
/* functional coordinates and their variations */
coord: [[u(x),w(x),φ(x)],[δu(x),δw(x),δφ(x)]];
/* compute strains and their vaiations*/
null : makelist(coord[1][i]=0,i,1,3);
disp: r(x,y,z) = [x,0,0]+[[cos(φ(x)),0,sin(φ(x))],[0,1,0],[-sin(φ(x)),0,cos(φ(x))]].[u(x),y,w(x)+z];
disp: [disp, Δr(x,y,z) = subst(disp,r(x,y,z))-subst(null,subst(disp,r(x,y,z)))];
ε : [diff(subst(disp,Δr(x,y,z))[1],x),
    diff(subst(disp,Δr(x,y,z))[3],z),
    1/2*(diff(subst(disp,Δr(x,y,z))[1],z)+diff(subst(disp,Δr(x,y,z))[3],x))];
ε : expand(ε);
δε : subst(η=0,sum(diff(subst([coord[1][i] = coord[1][i]+η*coord[2][i]],ε),η),i,1,3));
/* compute stresses σ assuming σ[yy]=0 */
σ : [E*ε[1],0,G*ε[3]];
</syntaxhighlight>
}}
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title= Virtuelle Arbeiten am Stabelement
|text=
Wie üblich bei der Methode der Finiten Elemente setzen wir die Arbeitsanteile additiv aus den Element-Arbeiten zusammen, also auch für die virtuelle Formänderungsarbeit
::<math>
\delta \Pi =\sum_e \delta \Pi_e.
</math>
Für <math>\delta \Pi_e</math> im Element benötigen wir noch - wie [[Sources/Lexikon/Virtuelle_Verrückung|im Lexikon-Eintrag "virtuelle Verrückung"]] beschrieben - die virtuelle Dehnung <math>\delta\underline{\epsilon} </math>. Daraus folgt die virtuelle Formänderungsarbeit zu
::<math>\delta\Pi = \int_V (G\;\delta \varphi\;\cos( \varphi)\;\sin( \varphi)\;\varphi'^2\;z^2)/4-E\;\delta \varphi\;\cos( \varphi)\;\sin( \varphi)\;\varphi'^2\;z^2+(G\;\delta \varphi'\;\sin( \varphi)^2\;\varphi'\;z^2)/4+E\;\delta \varphi'\;\cos( \varphi)^2\;\varphi'\;z^2+(G\;u\;\delta \varphi\;\sin( \varphi)^2\;\varphi'^2\;z)/4-E\;u\;\delta \varphi\;\sin( \varphi)^2\;\varphi'^2\;z + \ldots \text{ viele weitere Terme } \;dV
</math>
in der insgesamt 121 Summanden stehen. Die Integration über die Querschnittsfläche liefert hier
::<math>\delta\Pi_e = \int_{\ell_e}\;\left(
  \underbrace{\int_A \left( \ldots \right)\cdot 1 \; dA}_{\displaystyle = (\ldots)\; A}
+ \underbrace{\int_A \left( \ldots \right)\cdot z \; dA}_{\displaystyle = 0}
+ \underbrace{\int_A \left( \ldots \right)\cdot z^2 \; dA}_{\displaystyle = (\ldots)\; I}
\right) \; dx
</math>.
Die Komplexität dieses Ausdrucks ist erhelblich und eine genauere Untersuchung der einzelnen Terme nicht zielführend. Wir suchen nach zweckmäßigen Vereinfachungen und setzen zunächst
::<math>\cos(\varphi) = 1</math> und <math>\sin(\varphi) = \varphi</math>.
Dann vernachlässign wir alle Summenden, in denen mehr als zwei funktionale Freiheitsgrade auftrauchen, also z.B. Terme mit <math>w\;\varphi^2\;u'</math>. Dann bleibt
::<math>\delta\Pi_e = \int_{\ell_e}\;E\;I\;\delta \varphi'\;\varphi'+(A\;G\;u(x)\;\delta w'\;\varphi')/4-A\;E\;w(x)\;\delta u'\;\varphi'+(A\;G\;\delta u(x)\;w'\;\varphi')/4-A\;E\;\delta w(x)\;u'\;\varphi'-(A\;G\;\delta u(x)\;\varphi\;\varphi')/4-(A\;G\;u(x)\;\delta \varphi\;\varphi')/4+(A\;G\;u(x)\;w'\;\delta \varphi')/4-A\;E\;w(x)\;u'\;\delta \varphi'-(A\;G\;u(x)\;\varphi\;\delta \varphi')/4+(A\;G\;w'\;\delta w')/4+(A\;G\;\varphi\;u'\;\delta w')/4-A\;E\;\varphi\;u'\;\delta w'-(A\;G\;\varphi\;\delta w')/4+(A\;G\;\varphi\;w'\;\delta u')/4-A\;E\;\varphi\;w'\;\delta u'+A\;E\;u'\;\delta u'-(A\;G\;\varphi^2\;\delta u')/4+(A\;G\;\delta \varphi\;u'\;w')/4-A\;E\;\delta \varphi\;u'\;w'-(A\;G\;\delta \varphi\;w')/4-(A\;G\;\delta \varphi\;\varphi\;u')/2+(A\;G\;\delta \varphi\;\varphi)/4 \; dV</math>
- ein Ausdruck mit nur noch 23 Summenden. Hier wählen wir noch die Euler-Bernoulli-Hypothese
::<math>\varphi(x) = w'(x)</math> sowie <math>\delta \varphi(x) = \delta w'(x)</math>
und setzen nun unsere aus der Methode der FEM [[Randwertprobleme/Methoden_zur_Lösung_von_Randwertproblemen/Finite_Elemente_Methode#Ansatzfunktionen|bekannten Ansatzfunktionen]] ein:
::<math>
\begin{array}{lll}
u(x) &=& U_{e-1}\cdot(1-\xi) +
      U_{ e }\cdot(\xi)\\
w(x) &=& W_{e-1}\cdot\left(2 \xi^3-3 \xi^2+1\right) +
    \Phi_{e-1}\cdot\left(\xi^3-2 \xi^2+\xi\right) \ell_e +
      W_{ e }\cdot\left(3 \xi^2-2 \xi^3\right) +
    \Phi_{ e }\cdot\left(\xi^3-\xi^2\right)\ell_e
\end{array}
</math>
</math>


Für <math>\delta \Pi_e</math> in Element benötigen wir noch - wie [[Sources/Lexikon/Virtuelle_Verrückung|im Eintrag "virtuelle Verrückung"]] beschreiben - die virtuelle Dehnung <math>\delta\underline{\epsilon} </math>. Daraus folgt - nach Integration über die Querschnittsfläche -  die virtuelle Formänderungsarbeit
Das geschieht analog für <math>\delta u(x), \delta w(x)</math> in <math>\delta \Pi_e</math>. Dann führen wir die Integration über die Stablänge in <math>x = \xi\; \ell_e</math> aus.
 
Wir berücksichtigen als äußere, eingeprägte Lasten im Element eine konstante Streckenlast <math>q_0</math> senkrecht zur Stab-Längsachse.
Für diese Lastform auf den Stab nehmen wir die Ergebnisse aus
[[Sources/Anleitungen/FEM-Formulierung_für_den_Euler-Bernoulli-Balken#Maxima-Code_für_die_Berechnung_der_"Rechten-Seite"|den Faltungsintegralen]] für kubische Formfunktionen
 
::<math>\delta W_e^a = q_0\;\ell_e\;\left(
                    +\frac{\displaystyle 1}{\displaystyle  2} \delta W_{e-1}
                    -\frac{\displaystyle \ell_e}{\displaystyle 12} \delta \Phi_{e-1}
                    +\frac{\displaystyle 1}{\displaystyle  2} \delta W_e
                    +\frac{\displaystyle \ell_e}{\displaystyle 12} \delta \Phi_e\right)
</math>


::<math>\delta\Pi = </math>
hinzu, so dass wir die virtuelle Arbeit <math>\delta W_e</math> je Element zu


::<math>\delta\Pi_e =
\left(\delta U_{e-1},\delta U_{e}, \delta W_{e-1}, \delta \Phi_{e-1},\delta W_{e},\delta \Phi_{e}\right)\cdot
\left(\begin{array}{c}
-\left( \frac{A E {W_e} {{\Phi }_e}}{{\ell_e}}\right) +\frac{A E {U_e}}{{\ell_e}}+\frac{A E {W_{e-1}} {{\Phi }_{e-1}}}{{\ell_e}}-\frac{A E {U_{e-1}}}{{\ell_e}}\\
\frac{A E {W_e} {{\Phi }_e}}{{\ell_e}}-\frac{A E {U_e}}{{\ell_e}}-\frac{A E {W_{e-1}} {{\Phi }_{e-1}}}{{\ell_e}}+\frac{A E {U_{e-1}}}{{\ell_e}}\\
\frac{{q_0} {\ell_e}}{2}-\frac{A E {{\Phi }_{e-1}} {U_e}}{{\ell_e}}+\frac{A E {U_{e-1}} {{\Phi }_{e-1}}}{{\ell_e}}-\frac{6 E I {{\Phi }_e}}{{{\ell}_{e}^{2}}}-\frac{6 E I {{\Phi }_{e-1}}}{{{\ell}_{e}^{2}}}+\frac{12 E I {W_e}}{{{\ell}_{e}^{3}}}-\frac{12 E I {W_{e-1}}}{{{\ell}_{e}^{3}}}\\
\frac{{q_0} {{\ell}_{e}^{2}}}{12}-\frac{2 E I {{\Phi }_e}}{{\ell_e}}-\frac{A E {W_{e-1}} {U_e}}{{\ell_e}}-\frac{4 E I {{\Phi }_{e-1}}}{{\ell_e}}+\frac{A E {U_{e-1}} {W_{e-1}}}{{\ell_e}}+\frac{6 E I {W_e}}{{{\ell}_{e}^{2}}}-\frac{6 E I {W_{e-1}}}{{{\ell}_{e}^{2}}}\\
\frac{{q_0} {\ell_e}}{2}+\frac{A E {U_e} {{\Phi }_e}}{{\ell_e}}-\frac{A E {U_{e-1}} {{\Phi }_e}}{{\ell_e}}+\frac{6 E I {{\Phi }_e}}{{{\ell}_{e}^{2}}}+\frac{6 E I {{\Phi }_{e-1}}}{{{\ell}_{e}^{2}}}-\frac{12 E I {W_e}}{{{\ell}_{e}^{3}}}+\frac{12 E I {W_{e-1}}}{{{\ell}_{e}^{3}}}\\
-\left( \frac{{q_0} {{\ell}_{e}^{2}}}{12}\right) -\frac{4 E I {{\Phi }_e}}{{\ell_e}}+\frac{A E {U_e} {W_e}}{{\ell_e}}-\frac{A E {U_{e-1}} {W_e}}{{\ell_e}}-\frac{2 E I {{\Phi }_{e-1}}}{{\ell_e}}+\frac{6 E I {W_e}}{{{\ell}_{e}^{2}}}-\frac{6 E I {W_{e-1}}}{{{\ell}_{e}^{2}}}
\end{array}\right)
</math>
finden.
|code=
<syntaxhighlight lang="lisp" line start=1>
/* virtuelle Formänderungsenergie */
δΠ: expand(σ.δε);
δΠ: makelist(coeff(δΠ,z,i),i,0,2);
δΠ: expand(A*δΠ[1] + I*δΠ[3]);
δΠ: expand(subst([cos(φ(x))=1,sin(φ(x))=φ(x)],δΠ));


== Lösung mit Maxima ==
/* controlled reduction of complexity -> throw out really very small contributions */
Lorem Ipsum ....
small: makelist(coord[1][i] = η*coord[1][i],i,1,3);
small: append(small, diff(small,x));
δΠ: expand(subst(small,δΠ));
δΠ: subst([η^6=0,η^5=0,η^4=0,η^3=0,η=1],ev(δΠ,nouns));


==tmp==
/* Euler-Bernoulli approach */
δΠ: subst([φ(x)=diff(w(x),x),δφ(x)=diff(δw(x),x)],δΠ);
δΠ: expand(ev(δΠ,nouns));


δΠ: subst(dimless,subst(trials,δΠ))$
δΠ: ev(δΠ,nouns)$
δΠ: expand(δΠ)$


/* integrate over length ℓ[e] */
δΠ: expand(integrate(expand(δΠ),x,0,ℓ[e]))$


δV[a]: expand(integrate(subst(dimless,subst(trials,q[0]*δw(x))),x,0,ℓ[e]))+P*δU[e-1];


equ : append( makelist(coeff(δV[a]-δΠ,Q[3][i]),i,1,2),
              makelist(coeff(δV[a]-δΠ,Q[4][i]),i,1,4))$


</syntaxhighlight>
}}


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Title
{{MyCodeBlock|title= Beispiel: erster Eulerscher Knickfall
|text=Text
|text=
Für den Eulerschen Knickfall #1 wählen wir nun ein einziges Element, also <math>e=1</math> und damit <math>\delta W = \delta W_e</math> mit den Randbedingungen
 
::<math>U_1 = 0, W_1 = 0 \text{ und } \Phi_1=0</math>.
 
Dann bringen wir eine vertiakle Drucklast <math>P</math> auf den Stab mit
<math>\delta W^a = P \; \delta U_0</math> auf.
Das resultierende Gleichungssystem in
<math>\underline{Q} = \left(U_{0},W_{0},\Phi_{0}\right)</math>
 
::<math>\underline{f}(\underline{Q}) = \underline{0}</math>
 
ist nichtlinear. Wir lösen es - nach weiteren Vereinfachungen - für die verbleibenden Koordinaten zu
 
::<math>
\begin{array}{ccc}
{U^*_{0}}&=&\frac{\displaystyle P {\ell_e}}{\displaystyle A E}\\
{W^*_{0}}&=&-\left( \frac{\displaystyle q_0 P\, {{\ell}_{e}^{6}}+18 {q_0} E I\, {{\ell}_{e}^{4}}}{\displaystyle 12 {{P}^{2}} {{\ell}_{e}^{4}}-144 E I P\, {{\ell}_{e}^{2}}-144 {{E}^{2}} {{I}^{2}}}\right)\\
{\Phi^*_{0}}&=&-\left( \frac{\displaystyle q_0 P\, {{\ell}_{e}^{5}}-4 {q_0} E I\, {{\ell}_{e}^{3}}}{\displaystyle 2 {{P}^{2}} {{\ell}_{e}^{4}}-24 E I P\, {{\ell}_{e}^{2}}-24 {{E}^{2}} {{I}^{2}}}\right)
\end{array}
</math>.
 
Um den Knickfall zu bestimmen, "wackeln" wir an dieser statischen Lösung mit
<math>P \rightarrow P + \Delta P</math> und suchen nach Lösungen
::<math>
\begin{array}{ccc}
U_{0}  &=&U^*_{0}+\Delta U_{0}\\
W_{0}  &=&W^*_{0}+\Delta W_{0}\\
\Phi_{0}&=&\Phi^*_{0}+\Delta \Phi_{0}
\end{array}
</math>,
 
schauen also nach der Lösung für
 
::<math>\underline{f}(\underline{Q}^*+\Delta \underline{Q}) = \underline{0}</math>
 
Wir approximieren dies für kleine <math>\Delta \underline{Q}</math> zu
 
::<math>\underline{f}(\underline{Q}^*)+\left.\frac{\displaystyle \partial\underline{f}}{\displaystyle \partial \Delta \underline{Q}}\right\vert_{\displaystyle \underline{Q}^*}
\cdot \Delta \underline{Q} = \underline{f}^*(\Delta\underline{P})</math>
 
Das führt - wegen <math>\underline{f}(\underline{Q}^*) = \underline{0}</math> - auf das lineare Gleichungssystem
 
::<math>
\underbrace{
\left(\begin{array}{ccc}
-\left( \frac{A E}{{\ell_e}}\right)  & 0 & 0\\
-\left( \frac{{q_0} A E P\, {{\ell}_{e}^{4}}-4 {q_0} A {{E}^{2}} I\, {{\ell}_{e}^{2}}}{2 {{P}^{2}} {{\ell}_{e}^{4}}-24 E I P\, {{\ell}_{e}^{2}}-24 {{E}^{2}} {{I}^{2}}}\right)  & -\left( \frac{12 E I}{{{\ell}_{e}^{3}}}\right)  & \frac{P\, {{\ell}_{e}^{2}}-6 E I}{{{\ell}_{e}^{2}}}\\
-\left( \frac{{q_0} A E P\, {{\ell}_{e}^{5}}+18 {q_0} A {{E}^{2}} I\, {{\ell}_{e}^{3}}}{12 {{P}^{2}} {{\ell}_{e}^{4}}-144 E I P\, {{\ell}_{e}^{2}}-144 {{E}^{2}} {{I}^{2}}}\right)  & \frac{P\, {{\ell}_{e}^{2}}-6 E I}{{{\ell}_{e}^{2}}} & -\left( \frac{4 E I}{{\ell_e}}\right)
\end{array}\right)}_{\displaystyle \underline{\underline{A}}}\cdot \Delta\underline{Q} = \underline{f}^*(\Delta\underline{P})
</math>
 
Knicken tritt dann ein, wenn es im Umfeld von <math>\underline{Q}^*</math> keine Lösung für
<math>\Delta\underline{Q}</math> gibt, also
 
::<math>
\begin{array}{ccc}
\text{det}(\underline{\underline{A}})&=&0\\
&=&\frac{\displaystyle A E {{P}^{2}}}{\displaystyle {\ell_e}}-\frac{\displaystyle 12 A {{E}^{2}} I P}{\displaystyle {{\ell}_{e}^{3}}}-\frac{\displaystyle 12 A {{E}^{3}} {{I}^{2}}}{\displaystyle{\ell_{e}^{5}}}
\end{array}
</math>
 
Das ist für
 
::<math>P=\frac{\displaystyle \left( 4 \sqrt{3}\operatorname{+}6\right)  E I}{\displaystyle {{\ell}_{e}^{2}}}</math>
 
der Fall. Der Vergleich der analytischen Lösung oben mit unserer Näherungslösung basierend auf einem Finiten Element liefert:
 
::<math>P_{krit.}=\frac{12.9 E I}{\ell_e^2}, P_{FEM}=\frac{\displaystyle 9.9 E I}{\ell_e^2}</math>
 
Das FE-Modell zeigt also eine deutlich geringere kritische Knicklast an, als die analytische Lösung. Ob dies beim Einsatz von mehr Finiten Elementen für eine Untersuchung besser wird, kann in Modellen mit mehr Finiten Elemente untersucht werden.
 
Durch den Einsatz des Prinzips der virtuellen Verrückungen haben wir ein numerisches Näherungsverfahren, mit dem wir praktisch beliebig komplizierte Systeme untersuchen können. Aufwändig ist dabei jeweils die Lösung des nichtlinearen Gleichungssystems
 
::<math>\underline{f}(\underline{Q}) = \underline{0}</math>,
 
das Finden der Knick-Eigenwerte "P" des Systems ist dann numerisch relativ einfach.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* test with only one Finite Element and for Euler-case "1" */
/* boundary condictions: U[e]=0, Φ[e]=0, W[e]=0 */
minCoords: [U[e-1],W[e-1],Φ[e-1]];
bc: [U[e]=0, W[e]=0, Φ[e]=0];
equ : subst(bc,[equ[1],equ[3],equ[4]])$
equ[1]: subst([Φ[e-1]=0,Φ[e]=0],equ[1]);
sol: solve(equ,minCoords)[1];
 
/* Linearization about this solution */
minCoords: [minCoords, [ΔU[e-1],ΔΦ[e-1],ΔΦ[e]]];
null: makelist(minCoords[2][i]=0,i,1,3);
 
Δequ: expand(subst(sol,subst([P=P+ΔP,q[0]=q[0]+Δq[0]],subst(makelist(minCoords[1][i]=minCoords[1][i]+minCoords[2][i],i,1,3),equ))));
Δequ: expand(ratsimp(Δequ));
Δequ: subst(null,Δequ) + sum(subst(null,diff(Δequ,minCoords[2][i]))*minCoords[2][i],i,1,3);
 
ACM: augcoefmatrix(Δequ, minCoords[2]);
K: submatrix(ACM,4);
p: -col(ACM,4);
 
/* we are interested to find P so that no more solution is feasable -> det(K) = 0 */
knicken: ratsimp(solve(determinant(K),P)[2]);
 
/* compare */
EulerKnickfall:[P=(%pi/2)^2*E*I/ℓ[e]^2,P=%pi^2*e*I/ℓ[e]^2];
 
print(knicken," : ", EulerKnickfall[2])$;
print(float(knicken)," : ", float(EulerKnickfall[2]))$;
print(expand(float(subst(params,knicken)))," : ", float(subst(params,EulerKnickfall[2])))$;
</syntaxhighlight>
</syntaxhighlight>
}}
}}


<table class="wikitable mw-collapsible" style="background-color:white; float: left; margin-right:14px;">
 
<tr><th></th><th></th></tr>
<tr><td></td><td></td></tr>
</table>





Aktuelle Version vom 23. November 2025, 13:12 Uhr


Aufgabenstellung

Bei der Modellbildung für das Knicken von Stäben - also dem Stabilitätsverlust von Stäben durch seitliches Ausweichen unter axialer Druckbeanspruchung - gehen die Ansätze in Lehrbüchern und für Anwendungen in Finite-Elemente-Methoden unterschieldliche Wege.

Erster Eulerscher Knickfall.

Gesucht sind die Ansätze für die Berechnung der kritischen Drucklast, ausgehend von

  • dem Kräfte-Gleichgewicht am ausgelenkten Stab und
  • dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.

Das sehen wir uns für den ersten Eulerschen Knickfall genauer an und vergleichen die Ergebnisse. Der homogene Stab mit dem Elastizitätsmodul E hat die Länge , einen Kreisquerschnitt mit der Querschnittsfläche A und dem Flächenmoment zweiten Grades I. Ziel ist es, die Vorgehensweisen beider Ansätze im Vergleich darzustellen. Der Fokus liegt dabei auf der Anwendung für Finite-Elemente-Methoden - also dem Prinzip der virtuellen Verrückungen mit großen Dehnungen.

Ansatz mit dem Kräftegleichgewicht am ausgelenkten System

Für das Verständnis des Phänomens "Knicken" ist es sinnvoll, die Zusammenhänge zwischen Koordinaten und Kräften anhand von Überlegungen zum Kräftegleichgewicht aufzuzeigen.

Gleichgewicht am Stabelement

Dafür gehen wir von einem Stabelement der Länge Δx aus und tragen die Koordinaten w(x),φ(x) sowie die Schnittlasten N(x),Q(x),M(x) in einem Freikörperbild an:

Schnittlasten am ausgelenkten Stab-Element.

Die Gleichgewichtsbedinungen am Element liefern

Fx,i=0:N(x+Δx)cos(φ(x+Δx))N(x)cos(φ(x))Q(x+Δx)sin(φ(x+Δx))+Q(x)sin(φ(x))=0,Fz,i=0:Q(x+Δx)cos(φ(x+Δx))Q(x)cos(φ(x))+N(x+Δx)sin(φ(x+Δx))N(x)sin(φ(x))=0,Mx+Δx=0:M(x+Δx)M(x)+N(x)sin(φ(x))ΔxN(x)cos(φ(x))(w(x+Δx)w(x))+Q(x)cos(φ(x))Δx+Q(x)sin(φ(x))(w(x+Δx)w(x)).

Teilen durch Δx und der Grenzwert-Übergang von Δxdx liefert die differentiallen Gleichgewichtsbedingungen

ddx(Ncos(φ))ddx(Qsin(φ))=0ddx(Qcos(φ)+ddx(Nsin(φ)=0ddx(M)+Nsin(φ)+Qcos(φ)+ddxw(Ncos(φ)+Qsin(φ))=0.

Mit etwas Übersicht können wir die drei Gleichungen stark vereinfachen, wenn wir die dritte Gleichung nach x ableiten und die ersten beiden Gleichungen nutzen, um Terme zu eliminieren:

d2dx2(M)+ddx(Nsin(φ)+Qcos(φ))=0 wg. Gleichung 2 oben+d2dx2w(Ncos(φ)+Qsin(φ))+ddxwddx(Ncos(φ)+Qsin(φ))=0 wg. Gleichung 1 oben=0

Differentialgleichung der Biegelinie für den Knickfall

Wir gehen weiter davon aus, dass wir in dieser Gleichung |Qsin(φ)||Ncos(φ)| und Ncos(φ)P setzen dürfen - die Querkraft wird klein gegenüber der Normalkräft sein, und die Normalkraft setzen wir zur äußeren, eingeprägten Druckkraft P.

Dann erfasst die Differentialbeziehung

M+Pw=0

das Knickproblem. Für den Euler-Bernoulli-Balken mit konstanter Querschnittsfläche gilt demnach für die Auslenkung w(x) die Gleichgewichtsbedingung

EIwIV+Pw=0.

Diese lineare Differentialgleichung liefer mit dem Ansatz w(x)=eκx die vier Eigenwerte

κ1=0,κ2=0,κ3=+jPEI,κ4=jPEI,

wobei j:=1. Die Lösung der Differentialbeziehung ist demnach mit κ:=κ3=jκ4

w(x)=W1+W2x+W3sin(κx)+W4cos(κx),

die W1,W2,W3,W4 sind reellwertige Integrationskonstanten, die aus den Randbedingungen des Problems kommen.

Beispiel: erster Eulerscher Knickfall

Für den ersten Eulerschen Knickfall oben gilt

w(0)=0w(0)=0EIw()=0EIw()Pw()=0,

also in Matrixschreibweise mit κ2=PEI

(100101κ000κ2EIsin(κ)κ2EIcos(κ)0κ2EI00)A__(W1W2W3W4)=(0000).

Dieses homogene Gleichungssystem hat nichttriviale - von Null verschiedene - Lösungen, wenn

det(A__)=κ5cos(κ)=!0

ist, also

κ0=0,κ1=±π2,κ2=±3π2,.

Der kritische Wert von κ ist der niedrigeste, zur nicht-trivialen Lösung gehörende Wert κ1 und damit

Pkrit=π2EI42.

Das gezeigte Vorgehen finden Sie in allen Mechanik-Lehrbüchern. Der Lösungsansatz "Gleichgewicht am ausgelenkten System" funktioniert allerdings nur gut für sehr einfache Systeme. Für technsche relevante Systeme brauchen wir einen Ansatz, der immer funktionert und bei dem man kein Freikörperbild zeichnen muss. Das geht mit dem Prinzip der virtuellen Verrückungen.

Ansatz mit dem Prinzip der virtuellen Verrückungen mit großen Dehnungen

Für den Einsatz in Finite-Elemente-Methoden ist der Ansatz über ein Kräftegleichgewicht wie oben nicht möglich und sinnvoll: im Allgemeinen kann man für die zu untersuchenden Systeme kein Kräftegleichgewicht aufstellen. Hier geht man vom Prinzip der virtuellen Verrückungen aus, wobei in der virtuellen Formänderungsarbeit

δΠ=Vσ_δε_dV

die Dehnung ε_ nichtlineare Anteile der Koordinaten der Verformung enthält. Nach unserer Untersuchung oben erwarten wir dabei nichtlineare Terme in den Koordianten, also mindestens Anteile mit u(x)w(x), bei dem die Längskraft (hier u) in Kombination mit der Biegung (hier w) auftritt.

Wir müssen also in δΠ nichtlineare Anteile mitnehmen.

Kinematik der Bewegung der materiellen Punkte

Wir konstruieren die Auslenkung des Punktes P mit den unabhängigen, materiellen Koordinaten x,y,z und den abhängigen Koordinaten u(x),w(x),φ(x):

Kinemtik der Auslenkung eines Stab-Querschnitts x.

Aus dem Bild lesen wir die als Ortsvektor (die Koeffizienten des Ortsvektors) zum Punkt P ab:

r_P=(x00)+D__(φ(x))(u(x)yw(x)+z)

mit der Eulerschen Drehmatrix

D__(φ)=(cos(φ)0sin(φ)010sin(φ)0cos(φ)).

Wir erhalten für die Auslenkung des Punktes P demnach

Δr_P=r_Pr_P=(ucos(φ)sin(φ)(z+w)0cos(φ)(z+w)z+usin(φ)]).

Uns interessiert hier nur der ebene Spannungszustand in der xz-Ebene, bei dem außerdem noch σzz=0 ist. Mit den allgemeinen Beziehungen in der Ebene für den Zusammenhang zwischen den Auslenkungen ui und den materiellen Koordinaten xj

εi,j=12(uixj+ujxi)

erhalten wir hier

ε_=(εxxεzzεxz)=((cos(φ)φ(z+w))usin(φ)φwsin(φ)+ucos(φ)cos(φ)1(sin(φ)φ(z+w))+ucos(φ)φ+usin(φ)sin(φ)+wcos(φ)).

Die Spannungen σ_ kommen dann - mit der Annahme σzz=0, dem Elastizitätsmodul E und dem Schubmodul G - aus

σ_=(E00000002G)(εxxεzzεxz).

/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 21.05.3                           */
/* author: Andreas Baumgart                            */
/* last updated: 2025-11-20                            */
/* ref: buckling of straight rods                      */
/*      FEM-formulation (large strain analysis)        */
/*******************************************************/
/* parameters*/
assume(d>0, e>0, ℓ[e]>0);
params: [ℓ[e]=100*d,A=d^2, I=%pi*d^4/64, G=E/(2*(1-ν)), ν=0.3];

/* trial functions */
ψ: [[1-ξ,ξ],
    [2*ξ^3-3*ξ^2+1,
     ℓ[e]*ξ^3-2*ℓ[e]*ξ^2+ℓ[e]*ξ,
     3*ξ^2-2*ξ^3,
     ℓ[e]*ξ^3-ℓ[e]*ξ^2]];
/* coordinates and their variations */
Q :[[ U[e-1], U[e]],[ W[e-1], Φ[e-1], W[e], Φ[e]],
    [δU[e-1],δU[e]],[δW[e-1],δΦ[e-1],δW[e],δΦ[e]]];

dimless: [ξ=x/ℓ[e]];

trials: [ u(x)= sum(Q[1][i]*ψ[1][i],i,1,2),
         δu(x)= sum(Q[3][i]*ψ[1][i],i,1,2),
          w(x)= sum(Q[2][i]*ψ[2][i],i,1,4),
         δw(x)= sum(Q[4][i]*ψ[2][i],i,1,4)];

/* linear stre-strain-relations (not employed) */
k: E/(1-ν^2)*matrix([1,ν,0],[ν,1,0],[0,0,1-ν]);

/* functional coordinates and their variations */
coord: [[u(x),w(x),φ(x)],[δu(x),δw(x),δφ(x)]];
/* compute strains and their vaiations*/
null : makelist(coord[1][i]=0,i,1,3);
disp: r(x,y,z) = [x,0,0]+[[cos(φ(x)),0,sin(φ(x))],[0,1,0],[-sin(φ(x)),0,cos(φ(x))]].[u(x),y,w(x)+z];
disp: [disp, Δr(x,y,z) = subst(disp,r(x,y,z))-subst(null,subst(disp,r(x,y,z)))];

ε : [diff(subst(disp,Δr(x,y,z))[1],x),
     diff(subst(disp,Δr(x,y,z))[3],z),
     1/2*(diff(subst(disp,Δr(x,y,z))[1],z)+diff(subst(disp,Δr(x,y,z))[3],x))];
ε : expand(ε);

δε : subst(η=0,sum(diff(subst([coord[1][i] = coord[1][i]+η*coord[2][i]],ε),η),i,1,3));

/* compute stresses σ assuming σ[yy]=0 */
σ : [E*ε[1],0,G*ε[3]];




Virtuelle Arbeiten am Stabelement

Wie üblich bei der Methode der Finiten Elemente setzen wir die Arbeitsanteile additiv aus den Element-Arbeiten zusammen, also auch für die virtuelle Formänderungsarbeit

δΠ=eδΠe.

Für δΠe im Element benötigen wir noch - wie im Lexikon-Eintrag "virtuelle Verrückung" beschrieben - die virtuelle Dehnung δϵ_. Daraus folgt die virtuelle Formänderungsarbeit zu

δΠ=V(Gδφcos(φ)sin(φ)φ'2z2)/4Eδφcos(φ)sin(φ)φ'2z2+(Gδφsin(φ)2φz2)/4+Eδφcos(φ)2φz2+(Guδφsin(φ)2φ'2z)/4Euδφsin(φ)2φ'2z+ viele weitere Terme dV

in der insgesamt 121 Summanden stehen. Die Integration über die Querschnittsfläche liefert hier

δΠe=e(A()1dA=()A+A()zdA=0+A()z2dA=()I)dx.

Die Komplexität dieses Ausdrucks ist erhelblich und eine genauere Untersuchung der einzelnen Terme nicht zielführend. Wir suchen nach zweckmäßigen Vereinfachungen und setzen zunächst

cos(φ)=1 und sin(φ)=φ.

Dann vernachlässign wir alle Summenden, in denen mehr als zwei funktionale Freiheitsgrade auftrauchen, also z.B. Terme mit wφ2u. Dann bleibt

δΠe=eEIδφφ+(AGu(x)δwφ)/4AEw(x)δuφ+(AGδu(x)wφ)/4AEδw(x)uφ(AGδu(x)φφ)/4(AGu(x)δφφ)/4+(AGu(x)wδφ)/4AEw(x)uδφ(AGu(x)φδφ)/4+(AGwδw)/4+(AGφuδw)/4AEφuδw(AGφδw)/4+(AGφwδu)/4AEφwδu+AEuδu(AGφ2δu)/4+(AGδφuw)/4AEδφuw(AGδφw)/4(AGδφφu)/2+(AGδφφ)/4dV

- ein Ausdruck mit nur noch 23 Summenden. Hier wählen wir noch die Euler-Bernoulli-Hypothese

φ(x)=w(x) sowie δφ(x)=δw(x)

und setzen nun unsere aus der Methode der FEM bekannten Ansatzfunktionen ein:

u(x)=Ue1(1ξ)+Ue(ξ)w(x)=We1(2ξ33ξ2+1)+Φe1(ξ32ξ2+ξ)e+We(3ξ22ξ3)+Φe(ξ3ξ2)e

Das geschieht analog für δu(x),δw(x) in δΠe. Dann führen wir die Integration über die Stablänge in x=ξe aus.

Wir berücksichtigen als äußere, eingeprägte Lasten im Element eine konstante Streckenlast q0 senkrecht zur Stab-Längsachse. Für diese Lastform auf den Stab nehmen wir die Ergebnisse aus den Faltungsintegralen für kubische Formfunktionen

δWea=q0e(+12δWe1e12δΦe1+12δWe+e12δΦe)

hinzu, so dass wir die virtuelle Arbeit δWe je Element zu

δΠe=(δUe1,δUe,δWe1,δΦe1,δWe,δΦe)((AEWeΦee)+AEUee+AEWe1Φe1eAEUe1eAEWeΦeeAEUeeAEWe1Φe1e+AEUe1eq0e2AEΦe1Uee+AEUe1Φe1e6EIΦee26EIΦe1e2+12EIWee312EIWe1e3q0e2122EIΦeeAEWe1Uee4EIΦe1e+AEUe1We1e+6EIWee26EIWe1e2q0e2+AEUeΦeeAEUe1Φee+6EIΦee2+6EIΦe1e212EIWee3+12EIWe1e3(q0e212)4EIΦee+AEUeWeeAEUe1Wee2EIΦe1e+6EIWee26EIWe1e2)

finden.


/* virtuelle Formänderungsenergie */
δΠ: expand(σ.δε);
δΠ: makelist(coeff(δΠ,z,i),i,0,2);
δΠ: expand(A*δΠ[1] + I*δΠ[3]);
δΠ: expand(subst([cos(φ(x))=1,sin(φ(x))(x)],δΠ));

/* controlled reduction of complexity -> throw out really very small contributions */
small: makelist(coord[1][i] = η*coord[1][i],i,1,3);
small: append(small, diff(small,x));
δΠ: expand(subst(small,δΠ));
δΠ: subst([η^6=0,η^5=0,η^4=0,η^3=0,η=1],ev(δΠ,nouns));

/* Euler-Bernoulli approach */
δΠ: subst((x)=diff(w(x),x),δφ(x)=diff(δw(x),x)],δΠ);
δΠ: expand(ev(δΠ,nouns));

δΠ: subst(dimless,subst(trials,δΠ))$
δΠ: ev(δΠ,nouns)$
δΠ: expand(δΠ)$

/* integrate over length ℓ[e] */
δΠ: expand(integrate(expand(δΠ),x,0,ℓ[e]))$

δV[a]: expand(integrate(subst(dimless,subst(trials,q[0]*δw(x))),x,0,ℓ[e]))+P*δU[e-1];

equ : append( makelist(coeff(δV[a]-δΠ,Q[3][i]),i,1,2),
              makelist(coeff(δV[a]-δΠ,Q[4][i]),i,1,4))$




Beispiel: erster Eulerscher Knickfall

Für den Eulerschen Knickfall #1 wählen wir nun ein einziges Element, also e=1 und damit δW=δWe mit den Randbedingungen

U1=0,W1=0 und Φ1=0.

Dann bringen wir eine vertiakle Drucklast P auf den Stab mit δWa=PδU0 auf. Das resultierende Gleichungssystem in Q_=(U0,W0,Φ0)

f_(Q_)=0_

ist nichtlinear. Wir lösen es - nach weiteren Vereinfachungen - für die verbleibenden Koordinaten zu

U0*=PeAEW0*=(q0Pe6+18q0EIe412P2e4144EIPe2144E2I2)Φ0*=(q0Pe54q0EIe32P2e424EIPe224E2I2).

Um den Knickfall zu bestimmen, "wackeln" wir an dieser statischen Lösung mit PP+ΔP und suchen nach Lösungen

U0=U0*+ΔU0W0=W0*+ΔW0Φ0=Φ0*+ΔΦ0,

schauen also nach der Lösung für

f_(Q_*+ΔQ_)=0_

Wir approximieren dies für kleine ΔQ_ zu

f_(Q_*)+f_ΔQ_|Q_*ΔQ_=f_*(ΔP_)

Das führt - wegen f_(Q_*)=0_ - auf das lineare Gleichungssystem

((AEe)00(q0AEPe44q0AE2Ie22P2e424EIPe224E2I2)(12EIe3)Pe26EIe2(q0AEPe5+18q0AE2Ie312P2e4144EIPe2144E2I2)Pe26EIe2(4EIe))A__ΔQ_=f_*(ΔP_)

Knicken tritt dann ein, wenn es im Umfeld von Q_* keine Lösung für ΔQ_ gibt, also

det(A__)=0=AEP2e12AE2IPe312AE3I2e5

Das ist für

P=(43+6)EIe2

der Fall. Der Vergleich der analytischen Lösung oben mit unserer Näherungslösung basierend auf einem Finiten Element liefert:

Pkrit.=12.9EIe2,PFEM=9.9EIe2

Das FE-Modell zeigt also eine deutlich geringere kritische Knicklast an, als die analytische Lösung. Ob dies beim Einsatz von mehr Finiten Elementen für eine Untersuchung besser wird, kann in Modellen mit mehr Finiten Elemente untersucht werden.

Durch den Einsatz des Prinzips der virtuellen Verrückungen haben wir ein numerisches Näherungsverfahren, mit dem wir praktisch beliebig komplizierte Systeme untersuchen können. Aufwändig ist dabei jeweils die Lösung des nichtlinearen Gleichungssystems

f_(Q_)=0_,

das Finden der Knick-Eigenwerte "P" des Systems ist dann numerisch relativ einfach.


/* test with only one Finite Element and for Euler-case "1" */
/* boundary condictions: U[e]=0, Φ[e]=0, W[e]=0 */
minCoords: [U[e-1],W[e-1],Φ[e-1]];
bc: [U[e]=0, W[e]=0, Φ[e]=0];
equ : subst(bc,[equ[1],equ[3],equ[4]])$
equ[1]: subst([Φ[e-1]=0,Φ[e]=0],equ[1]);
sol: solve(equ,minCoords)[1];

/* Linearization about this solution */
minCoords: [minCoords, [ΔU[e-1],ΔΦ[e-1],ΔΦ[e]]];
null: makelist(minCoords[2][i]=0,i,1,3);

Δequ: expand(subst(sol,subst([P=P+ΔP,q[0]=q[0]+Δq[0]],subst(makelist(minCoords[1][i]=minCoords[1][i]+minCoords[2][i],i,1,3),equ))));
Δequ: expand(ratsimp(Δequ));
Δequ: subst(null,Δequ) + sum(subst(null,diff(Δequ,minCoords[2][i]))*minCoords[2][i],i,1,3);

ACM: augcoefmatrix(Δequ, minCoords[2]);
K: submatrix(ACM,4);
p: -col(ACM,4);

/* we are interested to find P so that no more solution is feasable -> det(K) = 0 */
knicken: ratsimp(solve(determinant(K),P)[2]);

/* compare */
EulerKnickfall:[P=(%pi/2)^2*E*I/ℓ[e]^2,P=%pi^2*e*I/ℓ[e]^2]; 

print(knicken," : ", EulerKnickfall[2])$;
print(float(knicken)," : ", float(EulerKnickfall[2]))$;
print(expand(float(subst(params,knicken)))," : ", float(subst(params,EulerKnickfall[2])))$;






Links

  • ...

Literature

  • ...