Gelöste Aufgaben/Buck: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 27: Zeile 27:


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:
Zeile 67: Zeile 69:
\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
Zeile 102: Zeile 106:


wobei <math>W_1, W_2, W_3, W_4</math> reelwertige Integrationskonstanten sind, die aus den Randbedingungen des Problems kommen.
wobei <math>W_1, W_2, W_3, W_4</math> reelwertige Integrationskonstanten sind, 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 158: Zeile 164:
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.
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.


== 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 Prinzip der virtuellen Verrückungen aus, wobei in der virtuellen Formänderungsarbeit
Zeile 166: Zeile 172:
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 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.
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title= Kinematik der Bewegung der materiellen Punkte
|text=


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 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>.
Zeile 212: Zeile 222:
</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 247: Zeile 257:
</math>
</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=
Für <math>\delta \Pi_e</math> in Element benötigen wir noch - wie [[Sources/Lexikon/Virtuelle_Verrückung|im Lexikon-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 zu
Für <math>\delta \Pi_e</math> in Element benötigen wir noch - wie [[Sources/Lexikon/Virtuelle_Verrückung|im Lexikon-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 zu


Zeile 310: Zeile 376:
</math>
</math>


|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)],δΠ));
/* 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))$
</syntaxhighlight>
}}
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title= Beispiel: erster Eulerscher Knickfall
|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  
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  


Zeile 324: Zeile 426:
::<math>
::<math>
\begin{array}{ccc}
\begin{array}{ccc}
{U_{e-1}}&=&\frac{\displaystyle P {\ell_e}}{\displaystyle A E}\\
{U^*_{e-1}}&=&\frac{\displaystyle P {\ell_e}}{\displaystyle A E}\\
{W_{e-1}}&=&-\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)\\
{W^*_{e-1}}&=&-\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 }_{e-1}}&=&-\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)
{\Phi^*_{e-1}}&=&-\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}
\end{array}
</math>.
</math>.


Um den Knickfall zu bestimmen, wackeln wir an dieser statischen Lösung mit
Um den Knickfall zu bestimmen, "wackeln" wir an dieser statischen Lösung mit
 
<math>P = P + \Delta P</math> und suchen nach Lösungen
::<math>
::<math>
\begin{array}{ccc}
\begin{array}{ccc}
U_{e-1}  &=&U_{e-1}+\Delta U_{e-1}\\
U_{e-1}  &=&U^*_{e-1}+\Delta U_{e-1}\\
W_{e-1}  &=&W_{e-1}+\Delta W_{e-1}\\
W_{e-1}  &=&W^*_{e-1}+\Delta W_{e-1}\\
\Phi_{e-1}&=&\Phi_{e-1}+\Delta \Phi_{e-1}
\Phi_{e-1}&=&\Phi^*_{e-1}+\Delta \Phi_{e-1}
\end{array}
\end{array}
</math>
</math>,


und schauen nach der Lösung für
schauen also nach der Lösung für


::<math>\underline{f}(\underline{Q}+\Delta \underline{Q}) = \underline{0}</math>
::<math>\underline{f}(\underline{Q}^*+\Delta \underline{Q}) = \underline{0}</math>


und approximieren dies für kleine <math>\Delta \underline{Q}</math> zu
Wir approximieren dies für kleine <math>\Delta \underline{Q}</math> zu


::<math>\underline{f}(\underline{Q})+\frac{\displaystyle \partial\underline{f}}{\displaystyle \partial \Delta \underline{Q}} \cdot \Delta \underline{Q} = \underline{0}</math>
::<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{0}</math>


Dies führt - wegen <math>\underline{f}(\underline{Q}) = \underline{0}</math> - auf das lineare Gleichungssystem
Dies führt - wegen <math>\underline{f}(\underline{Q}^*) = \underline{0}</math> - auf das lineare Gleichungssystem


::<math>
::<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>
</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>


::<math></math>
Das ist für
::<math></math>
::<math></math>


::<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_{anal.}=\frac{12.9 E I}{\ell_e^2}, P_{FEM}=\frac{\displaystyle 9.9 I e}{\ell_E^2}</math>


== Lösung mit Maxima ==
|code=
Lorem Ipsum ....
<syntaxhighlight lang="lisp" line start=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];


==tmp==
/* 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]))$;
{{MyCodeBlock|title=Title
print(expand(float(subst(params,knicken)))," : ", float(subst(params,EulerKnickfall[2])))$;
|text=Text
|code=
<syntaxhighlight lang="lisp" line start=1>
1+1
</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>





Version vom 19. November 2025, 15:29 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.

Caption

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

  • dem Kräfte-Gleichgewicht am ausgelenkten System und
  • 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.


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.

Wir finden

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 due 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. Dann nutzen wir die ersten beiden Gleichungen, um sie stark zu vereinfachen:

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(φ)0 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 Aulenkung

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,

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

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

wobei W1,W2,W3,W4 reelwertige Integrationskonstanten sind, 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

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

Dieses homogene Gleichungssystem hat 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. 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.

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 nicht lineare Terme in den Koordianten, also mindestens Anteile mit u(x)w(x), bei dem die Längskraft (hier u</math)inKombinationmitderBiegung(hier<math>w auftritt. Wir müssen also in <math>δΠ nichtlineare Anteile mitnehmen.

Kinematik der Bewegung der materiellen Punkte

Wir starten mit der Auslenkung eines Punktes P und den unabhängigen materiellen Koordinaten x,y,z und den abhänfigen Koordinaten u(x),w(x),φ(x).

Kinemtik der Auslenkung eines Stab-Querschnitts x.

Damit konstruieren wir den Ortsvektor (die Koeffizienten des Ortsvektors) zum Punkt P zu

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

σ_=(E0000000G)(ε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

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

δΠ=(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+

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 funktionalen Freiheitsgrade auftrauchen, also z.B. Terme mit wφ2u. Dann bleibt

δΠe=EIδφφ+(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δφφ)/4

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

φ(x)=w(x) und δφ(x)=δw(x)

und setzen nun unsere bekannten Ansatzfunktionen

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

und analog für δu(x),δw(x) in δΠe ein und führen die Integration über x=ξeaus. Für eine konstante seitliche Streckenlast 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 diese virtuelle Arbeit je Element finden:

δΠ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)

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

Ue=0,We=0 und Φe=0.

Und wir bringen noch eine vertiakle Drucklast P auf den Stab mit δWa=PδUe1 auf. Das resultierende Gleichungssystem in Q_=(Ue1,We1,Φe1)

f_(Q_)=0_

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

Ue1*=PeAEWe1*=(q0Pe6+18q0EIe412P2e4144EIPe2144E2I2)Φe1*=(q0Pe54q0EIe32P2e424EIPe224E2I2).

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

Ue1=Ue1*+ΔUe1We1=We1*+ΔWe1Φe1=Φe1*+ΔΦe1,

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_=0_

Dies 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:

Panal.=12.9EIe2,PFEM=9.9IeE2

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

  • ...