Gelöste Aufgaben/TC13: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 21: | Zeile 21: | ||
== Lösung mit Maxima == | == Lösung mit Maxima == | ||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Header | {{MyCodeBlock|title=Header | ||
|text= | |text= | ||
Wir suchen eine Lösung mit den [[Sources/Anleitungen/FEM-Formulierung für den Euler-Bernoulli-Balken|Standard-Trial-Functions (Hermitesche-Polynome) für einen Euler-Bernoulli-Balken]]. Aufpassen müssen wir am Rand "''C''". Hier sind Verschiebung und Verdrehung durch die Rolle gekoppelt. Die Element-Steifigkeitsmatrix müssen wir passend umschreiben. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/*******************************************************/ | |||
/* MAXIMA script */ | |||
/* version: wxMaxima 15.08.2 */ | |||
/* author: Andreas Baumgart */ | |||
/* last updated: 2018-04-15 */ | |||
/* ref: TM-C, Labor 4 */ | |||
/* description: finds the FE solution for */ | |||
/* lab problem #4 */ | |||
/*******************************************************/ | |||
/* declare variational variables - see 6.3 Identifiers */ | |||
declare("δA", alphabetic); | |||
declare("δΠ", alphabetic); | |||
declare("δW", alphabetic); | |||
declare("δΦ", alphabetic); | |||
declare("δw", alphabetic); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | |||
|text= | |||
Wir übernehmen die Systemparameter aus [[Gelöste Aufgaben/TC12|TC12]] zu | Wir übernehmen die Systemparameter aus [[Gelöste Aufgaben/TC12|TC12]] zu | ||
<math>\begin{array}{l} \displaystyle {\ell_{1}}=1000\cdot \mathit{mm},\\ \displaystyle {\ell_{2}}=\frac{{\ell_{1}}}{2},\\ \displaystyle r=\frac{{\ell_{1}}}{4},\\ \displaystyle E=\frac{210000.0\cdot N}{{{\mathit{mm}}^{2}}},\\ \displaystyle {{I}_{1}}=54000\cdot {{\mathit{mm}}^{4}},\\ \displaystyle {{I}_{2}}=2\cdot {{I}_{1}},\\ \displaystyle {{k}_{B}}=\frac{3\cdot {{I}_{1}}\cdot E}{{\ell_{1}^{3}}},\\ \displaystyle {{q}_{0}}=\frac{10\cdot N}{\mathit{mm}},\\ \displaystyle {{M}_{B}}={{q}_{0}}\cdot {\ell_{1}^{2}} \end{array}</math>, | ::<math>\begin{array}{l} \displaystyle {\ell_{1}}=1000\cdot \mathit{mm},\\ \displaystyle {\ell_{2}}=\frac{{\ell_{1}}}{2},\\ \displaystyle r=\frac{{\ell_{1}}}{4},\\ \displaystyle E=\frac{210000.0\cdot N}{{{\mathit{mm}}^{2}}},\\ \displaystyle {{I}_{1}}=54000\cdot {{\mathit{mm}}^{4}},\\ \displaystyle {{I}_{2}}=2\cdot {{I}_{1}},\\ \displaystyle {{k}_{B}}=\frac{3\cdot {{I}_{1}}\cdot E}{{\ell_{1}^{3}}},\\ \displaystyle {{q}_{0}}=\frac{10\cdot N}{\mathit{mm}},\\ \displaystyle {{M}_{B}}={{q}_{0}}\cdot {\ell_{1}^{2}} \end{array}</math>, | ||
und wählen als Referenzgröße ''w<sub>ref</sub>'' für die Auslenkung des Balkens die maximale Verschiebung eines [[Sources/Lexikon/Standard-Lösungen|Kragbalkens unter konstanter Streckenlast]]: | und wählen als Referenzgröße ''w<sub>ref</sub>'' für die Auslenkung des Balkens die maximale Verschiebung eines [[Sources/Lexikon/Standard-Lösungen|Kragbalkens unter konstanter Streckenlast]]: | ||
<math>\displaystyle w_{ref}=\frac{q_o\;\ell_1^4}{8\;E\,I_1}</math> | ::<math>\displaystyle w_{ref}=\frac{q_o\;\ell_1^4}{8\;E\,I_1}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /*** declarations ***/ | ||
assume(l[i]>0); | |||
/* system parameter */ | |||
units : [mm = m/1000, cm = m/100]; | |||
params : [l[1]=1000*mm, l[2] = l[1]/2, r=l[1]/4, | |||
E = 2.1*10^5*N/mm^2, | |||
I[1] = 54000*mm^4, I[2]=2*I[1], | |||
k[B] = 3*E*I[1]/l[1]^3, | |||
q[0]=10*N/mm, M[B]=q[0]*l[1]^2]; | |||
params : subst(units,makelist(lhs(params[i])=subst(params,rhs(params[i])),i,1,length(params))); | |||
/* kinematics of boundary condition at "C" */ | |||
kinematics : [W[2]=-r*Φ[2], δW[2] = -r*δΦ[2]]; | |||
/* max. displacement of cantilevered beam under load q[0] */ | |||
dimless : [w[ref] = q[0]*l[1]^4/(8*E*I[1])]; | |||
print(subst(params,dimless))$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Formfunctions | |||
|text= | |||
Die Trial-Functions je Element "''i''" zur Komposition der [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Elemente Methode/FEM: Trial-Functions für kubische Ansatz-Polynome|Form-Funktion]] kopieren wir aus Finite Elemente Methode zu | Die Trial-Functions je Element "''i''" zur Komposition der [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Elemente Methode/FEM: Trial-Functions für kubische Ansatz-Polynome|Form-Funktion]] kopieren wir aus Finite Elemente Methode zu | ||
<math>\begin{array}{l} \phi_1 = 2\cdot {{\xi}^{3}}-3\cdot {{\xi}^{2}}+1,\\ \phi_2 = {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-2\cdot {{\xi}^{2}}+\xi\right) ,\\ \phi_3 = 3\cdot {{\xi}^{2}}-2\cdot {{\xi}^{3}},\\ \phi_4 = {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-{{\xi}^{2}}\right) \end{array}</math>, | ::<math>\begin{array}{l} \phi_1 = 2\cdot {{\xi}^{3}}-3\cdot {{\xi}^{2}}+1,\\ \phi_2 = {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-2\cdot {{\xi}^{2}}+\xi\right) ,\\ \phi_3 = 3\cdot {{\xi}^{2}}-2\cdot {{\xi}^{3}},\\ \phi_4 = {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-{{\xi}^{2}}\right) \end{array}</math>, | ||
die Koordinaten der Verschiebung sind | die Koordinaten der Verschiebung sind | ||
<math>Q_i = \left(\begin{array}{l}W_{i-1}\\\Phi_{i-1}\\W_i\\\Phi_i\end{array}\right)</math>. | ::<math>Q_i = \left(\begin{array}{l}W_{i-1}\\\Phi_{i-1}\\W_i\\\Phi_i\end{array}\right)</math>. | ||
Damit ist | Damit ist | ||
<math>\begin{array}{lcll} w_i(x_i) = & &W_{i-1} &\cdot \left( 2\cdot {{\xi}^{3}}-3\cdot {{\xi}^{2}}+1 \right)\\ & +& \Phi_{i-1} &\cdot {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-2\cdot {{\xi}^{2}}+\xi\right) \\ &+& W_i &\cdot \left( 3\cdot {{\xi}^{2}}-2\cdot {{\xi}^{3}}\right)\\&+& \Phi_i &\cdot {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-{{\xi}^{2}}\right) \end{array}</math>. | ::<math>\begin{array}{lcll} w_i(x_i) = & &W_{i-1} &\cdot \left( 2\cdot {{\xi}^{3}}-3\cdot {{\xi}^{2}}+1 \right)\\ & +& \Phi_{i-1} &\cdot {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-2\cdot {{\xi}^{2}}+\xi\right) \\ &+& W_i &\cdot \left( 3\cdot {{\xi}^{2}}-2\cdot {{\xi}^{3}}\right)\\&+& \Phi_i &\cdot {{\ell}_{i}}\cdot \left( {{\xi}^{3}}-{{\xi}^{2}}\right) \end{array}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /**** define form functions ***/ | ||
/* coordinates */ | |||
coords : [[ W[i-1], Φ[i-1], W[i], Φ[i]], | |||
[δW[i-1],δΦ[i-1],δW[i],δΦ[i]]]; | |||
/* tial-functions */ | |||
phi : [ 2*xi^3-3*xi^2+1, | |||
(xi^3-2*xi^2+xi)*l[i], | |||
3*xi^2-2*xi^3, | |||
(xi^3-xi^2)*l[i]]; | |||
/* form-function */ | |||
form : w(xi) = sum(coords[1][j]*phi[j],j,1,4); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Equilibrium Conditions | |||
|text= | |||
Die Gleichgewichtsbedingungen kommen aus dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Prinzip der virtuellen Verrückungen]] zu | Die Gleichgewichtsbedingungen kommen aus dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Prinzip der virtuellen Verrückungen]] zu | ||
<math>\begin{array}{ll}\delta W &\stackrel{!}{=}0\\&=\delta W_a - \delta \Pi \end{array}</math>. | ::<math>\begin{array}{ll}\delta W &\stackrel{!}{=}0\\&=\delta W_a - \delta \Pi \end{array}</math>. | ||
Wir sortieren die Elemente der virtuellen Arbeit nach den virtuellen Koordinaten und den Koordinaten des System und konstruieren daraus das gewöhnliche Gleichungssystem | Wir sortieren die Elemente der virtuellen Arbeit nach den virtuellen Koordinaten und den Koordinaten des System und konstruieren daraus das gewöhnliche Gleichungssystem | ||
<math>\underline{\underline{K}}\cdot\underline{Q} = \underline{P}</math>. | ::<math>\underline{\underline{K}}\cdot\underline{Q} = \underline{P}</math>. | ||
Die Anteile an der gesamten virtuellen Arbeit kommen aus der virtuellen Formänderungsenergie ''δΠ'' und der virtuellen Arbeit der äußeren Lasten ''δW<sup>a</sup>.'' | Die Anteile an der gesamten virtuellen Arbeit kommen aus der virtuellen Formänderungsenergie ''δΠ'' und der virtuellen Arbeit der äußeren Lasten ''δW<sup>a</sup>.'' | ||
Zeile 88: | Zeile 127: | ||
Dabei ist für unsere zwei Elemente ''δΠ = ''δΠ<sub>1</sub> + ''δΠ<sub>2</sub>'''''' mit | Dabei ist für unsere zwei Elemente ''δΠ = ''δΠ<sub>1</sub> + ''δΠ<sub>2</sub>'''''' mit | ||
<math>\delta \Pi_i = \delta \underline{Q}^T_i \cdot \underline{\underline{k}}_0 \cdot \underline{Q_i}</math> | ::<math>\delta \Pi_i = \delta \underline{Q}^T_i \cdot \underline{\underline{k}}_0 \cdot \underline{Q_i}</math> | ||
und der Element-Steifigkeitsmatrix | und der Element-Steifigkeitsmatrix | ||
<math>\underline{\underline{k}}_0= \displaystyle \frac{\mathit{EI}}{{{\ell}_{i}^{3}}} \cdot \begin{pmatrix}12 & 6\cdot {{\ell}_{i}} & -12 & 6\cdot {{\ell}_{i}}\\ 6\cdot {{\ell}_{i}} & 4\cdot {{\ell}_{i}^{2}} & -6\cdot {{\ell}_{i}} & 2\cdot {{\ell}_{i}^{2}}\\ -12 & -6\cdot {{\ell}_{i}} & 12 & -6\cdot {{\ell}_{i}}\\ 6\cdot {{\ell}_{i}} & 2\cdot {{\ell}_{i}^{2}} & -6\cdot {{\ell}_{i}} & 4\cdot {{\ell}_{i}^{2}}\end{pmatrix} | ::<math>\underline{\underline{k}}_0= \displaystyle \frac{\mathit{EI}}{{{\ell}_{i}^{3}}} \cdot \begin{pmatrix}12 & 6\cdot {{\ell}_{i}} & -12 & 6\cdot {{\ell}_{i}}\\ 6\cdot {{\ell}_{i}} & 4\cdot {{\ell}_{i}^{2}} & -6\cdot {{\ell}_{i}} & 2\cdot {{\ell}_{i}^{2}}\\ -12 & -6\cdot {{\ell}_{i}} & 12 & -6\cdot {{\ell}_{i}}\\ 6\cdot {{\ell}_{i}} & 2\cdot {{\ell}_{i}^{2}} & -6\cdot {{\ell}_{i}} & 4\cdot {{\ell}_{i}^{2}}\end{pmatrix} | ||
</math>. | </math>. | ||
Zeile 99: | Zeile 138: | ||
Element 2 birgt eine Tücke: Hier sind Verschiebung ''W<sub>2</sub>'' und Verdrehung ''Φ<sub>2</sub>'' gekoppelt über die Kinematik der Rolle: | Element 2 birgt eine Tücke: Hier sind Verschiebung ''W<sub>2</sub>'' und Verdrehung ''Φ<sub>2</sub>'' gekoppelt über die Kinematik der Rolle: | ||
<math>W_2 = -r\cdot \Phi_2</math> | ::<math>W_2 = -r\cdot \Phi_2</math> | ||
Damit ist auch die Variation in diesen Koordinaten gekoppelt, also | Damit ist auch die Variation in diesen Koordinaten gekoppelt, also | ||
<math>\delta W_2 = -r\cdot \delta \Phi_2</math>. | ::<math>\delta W_2 = -r\cdot \delta \Phi_2</math>. | ||
Mit dieser Beziehung eliminieren wir demnach ''W<sub>2</sub>'' aus der Formulierung der Gleichgewichtsbedingungen. Das Einsetzen der kinematischen Beziehungen in ''δΠ'' liefert nun als Element-Steifigkeitsmatrix | Mit dieser Beziehung eliminieren wir demnach ''W<sub>2</sub>'' aus der Formulierung der Gleichgewichtsbedingungen. Das Einsetzen der kinematischen Beziehungen in ''δΠ'' liefert nun als Element-Steifigkeitsmatrix | ||
<math>\underline{\underline{k}}_2 = \displaystyle \frac{E\,I_2}{l_2^3} \cdot \begin{pmatrix}12 & 6\cdot {{\ell}_{2}} & 0 & 12\cdot r+6\cdot {{\ell}_{2}}\\ 6\cdot {{\ell}_{2}} & 4\cdot {{\ell}_{2}^{2}} & 0 & 6\cdot {{\ell}_{2}}\cdot r+2\cdot {{\ell}_{2}^{2}}\\ 0 & 0 & 0 & 0\\ 12\cdot r+6\cdot {{\ell}_{2}} & 6\cdot {{\ell}_{2}}\cdot r+2\cdot {{\ell}_{2}^{2}} & 0 & 12\cdot {{r}^{2}}+12\cdot {{\ell}_{2}}\cdot r+4\cdot {{\ell}_{2}^{2}}\end{pmatrix} | ::<math>\underline{\underline{k}}_2 = \displaystyle \frac{E\,I_2}{l_2^3} \cdot \begin{pmatrix}12 & 6\cdot {{\ell}_{2}} & 0 & 12\cdot r+6\cdot {{\ell}_{2}}\\ 6\cdot {{\ell}_{2}} & 4\cdot {{\ell}_{2}^{2}} & 0 & 6\cdot {{\ell}_{2}}\cdot r+2\cdot {{\ell}_{2}^{2}}\\ 0 & 0 & 0 & 0\\ 12\cdot r+6\cdot {{\ell}_{2}} & 6\cdot {{\ell}_{2}}\cdot r+2\cdot {{\ell}_{2}^{2}} & 0 & 12\cdot {{r}^{2}}+12\cdot {{\ell}_{2}}\cdot r+4\cdot {{\ell}_{2}^{2}}\end{pmatrix} | ||
</math>, | </math>, | ||
Zeile 114: | Zeile 153: | ||
Und das ist die anteilige Gesamt-Steifigkeitsmatrix der beiden Balken-Abschnitte: | Und das ist die anteilige Gesamt-Steifigkeitsmatrix der beiden Balken-Abschnitte: | ||
<math>\underline{\underline{K}}\,=\,\begin{pmatrix}\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & -\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & 0 & 0\\ \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0 & 0\\ -\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}\\ \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}+\frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0 & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\\ 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}} & 0 & \frac{12\cdot {{I}_{2}}\cdot {{r}^{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\end{pmatrix} | ::<math>\underline{\underline{K}}\,=\,\begin{pmatrix}\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & -\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & 0 & 0\\ \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0 & 0\\ -\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}\\ \frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}+\frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0 & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\\ 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}} & 0 & \frac{12\cdot {{I}_{2}}\cdot {{r}^{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\end{pmatrix} | ||
</math> | </math> | ||
Auch die Feder ist ein elastisches Element und trägt damit eine virtuelle Formänderungsenergie, zu ''δΠ'' hinzu, nämlich | Auch die Feder ist ein elastisches Element und trägt damit eine virtuelle Formänderungsenergie, zu ''δΠ'' hinzu, nämlich | ||
<math>\delta\Pi_3 = k_B\, W_1 \cdot \delta W_1</math> | ::<math>\delta\Pi_3 = k_B\, W_1 \cdot \delta W_1</math> | ||
Diesen Beitrag müssen wir in Zeile 3, Spalte 3 hinzuaddieren, also mit der Anweisung | Diesen Beitrag müssen wir in Zeile 3, Spalte 3 hinzuaddieren, also mit der Anweisung | ||
<math>K_{3,3} = K_{3,3} + k_B</math>. | ::<math>K_{3,3} = K_{3,3} + k_B</math>. | ||
Auf der rechten Seite des Gleichungssystem bleiben die Beiträge der virtuellen Arbeiten äußerer Lasten stehen. Dies sind | Auf der rechten Seite des Gleichungssystem bleiben die Beiträge der virtuellen Arbeiten äußerer Lasten stehen. Dies sind | ||
<math>\delta W^a = \int_{\ell_1} q_0 \cdot \delta w(x) \, dx + M_B\cdot \delta\Phi_1</math>, | ::<math>\delta W^a = \int_{\ell_1} q_0 \cdot \delta w(x) \, dx + M_B\cdot \delta\Phi_1</math>, | ||
wir erhalten | wir erhalten | ||
<math>\underline{P}\,=\,\begin{pmatrix} \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ \displaystyle {{M}_{B}}-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \displaystyle 0\\\displaystyle 0 \end{pmatrix}</math>. | ::<math>\underline{P}\,=\,\begin{pmatrix} \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \displaystyle \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ \displaystyle {{M}_{B}}-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \displaystyle 0\\\displaystyle 0 \end{pmatrix}</math>. | ||
Jetzt fehlen nur noch die Randbedingungen. Wir setzen | Jetzt fehlen nur noch die Randbedingungen. Wir setzen | ||
<math>W_0 = 0</math>, | ::<math>W_0 = 0</math>, | ||
die kinematische Beziehung | die kinematische Beziehung | ||
<math>W_2 = -r\cdot \Phi_2</math> | ::<math>W_2 = -r\cdot \Phi_2</math> | ||
haben wir schon eingearbeit - bleibt also nur noch, die entsprechenden Spalten und Zeilen in den Matrizen ''K, Q'' und ''P'' zu eliminieren. Es bleibt das Gleichungssystem | haben wir schon eingearbeit - bleibt also nur noch, die entsprechenden Spalten und Zeilen in den Matrizen ''K, Q'' und ''P'' zu eliminieren. Es bleibt das Gleichungssystem | ||
<math>\begin{pmatrix} \frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0\\ -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}}+{{k}_{B}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}\\ \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}+\frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\\ 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}} & \frac{12\cdot {{I}_{2}}\cdot {{r}^{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\end{pmatrix}\,\cdot\,\begin{pmatrix}{{\Phi}_{0}}\\ {{W}_{1}}\\ {{\Phi}_{1}}\\ {{\Phi}_{2}}\end{pmatrix}\,=\,\begin{pmatrix}\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ {{M}_{B}}-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ 0\end{pmatrix} | ::<math>\begin{pmatrix} \frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & 0\\ -\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{3}}}+{{k}_{B}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}\\ \frac{2\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}}-\frac{6\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}^{2}}} & \frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}+\frac{4\cdot {{I}_{1}}\cdot E}{{{\ell}_{1}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\\ 0 & \frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{3}}}+\frac{6\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}^{2}}} & \frac{6\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{2\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}} & \frac{12\cdot {{I}_{2}}\cdot {{r}^{2}}\cdot E}{{{\ell}_{2}^{3}}}+\frac{12\cdot {{I}_{2}}\cdot r\cdot E}{{{\ell}_{2}^{2}}}+\frac{4\cdot {{I}_{2}}\cdot E}{{{\ell}_{2}}}\end{pmatrix}\,\cdot\,\begin{pmatrix}{{\Phi}_{0}}\\ {{W}_{1}}\\ {{\Phi}_{1}}\\ {{\Phi}_{2}}\end{pmatrix}\,=\,\begin{pmatrix}\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ \frac{{{q}_{0}}\cdot {{\ell}_{1}}}{2}\\ {{M}_{B}}-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{12}\\ 0\end{pmatrix} | ||
</math>. | </math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
Zeile 155: | Zeile 190: | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | |||
|text= | |||
Auflösen nach ''Q'' liefert | Auflösen nach ''Q'' liefert | ||
<math>\begin{array}{ll} {\Phi_{0}}&=-0.0157,\\ W_{1} &=-4.86\cdot {{10}^{-18}}\; \text{m},\\ {\Phi_{1}}&=+0.0682,\\ {\Phi_{2}}&=-0.0262 \end{array}</math>, | ::<math>\begin{array}{ll} {\Phi_{0}}&=-0.0157,\\ W_{1} &=-4.86\cdot {{10}^{-18}}\; \text{m},\\ {\Phi_{1}}&=+0.0682,\\ {\Phi_{2}}&=-0.0262 \end{array}</math>, | ||
zusammen mit den {\color{green}Randbedingungen} also | |||
{{ | ::<math>\begin{array}{ll} {\color{green}{W_0}}&={\color{green}{0}},\\ {\Phi_{0}}&=-0.0157,\\ W_{1} &=-4.86\cdot {{10}^{-18}}\; \text{m},\\ {\Phi_{1}}&=+0.0682,\\ {\color{green}{W_2}}&={\color{green}{+0.00656 \text{ m}}},\\ {\Phi_{2}}&=-0.0262 \end{array}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /**** solve K Q = P ***/ | ||
sol[1] : linsolve_by_lu(subst(params,K),subst(params,P))[1]$ | |||
sol[1] : makelist(Q[i][1] = sol[1][i][1],i,1,4); | |||
sol[1] : append(subst(params,[W[0]=0, W[2]=-r*subst(sol[1], Φ[2])]), sol[1]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | |||
|text= | |||
[[Datei:TC13-21.png|mini|Biegelinie ''w(x)'']]Die Auslenkung ''w(x)'' der Querschnitte tragen wir jetzt auf. Für die dimensionslose Darstellung wählen wir aus der analytischen Lösung für den Kragbalken unter konstanter Streckenlast | [[Datei:TC13-21.png|mini|Biegelinie ''w(x)'']]Die Auslenkung ''w(x)'' der Querschnitte tragen wir jetzt auf. Für die dimensionslose Darstellung wählen wir aus der analytischen Lösung für den Kragbalken unter konstanter Streckenlast | ||
<math>\begin{array}{ll}{{w}_{\mathit{ref}}}&\displaystyle =\frac{{{q}_{0}}\cdot {{\ell}_{1}^{4}}}{8\cdot E\,{{I}_{1}}}\\&= 0.11 \text{ m}\end{array}</math> | ::<math>\begin{array}{ll}{{w}_{\mathit{ref}}}&\displaystyle =\frac{{{q}_{0}}\cdot {{\ell}_{1}^{4}}}{8\cdot E\,{{I}_{1}}}\\&= 0.11 \text{ m}\end{array}</math> | ||
und tragen ''w(x)/w<sub>ref</sub>'' auf: | und tragen ''w(x)/w<sub>ref</sub>'' auf: | ||
Zeile 183: | Zeile 221: | ||
Die maximale Auslenkung des Systems ist dann | Die maximale Auslenkung des Systems ist dann | ||
<math>\begin{array}{ll}w_{max} &\approx 0.1\cdot 0.11 \text{ m}\\&\approx 11\text{ mm}\end{array}</math>, | ::<math>\begin{array}{ll}w_{max} &\approx 0.1\cdot 0.11 \text{ m}\\&\approx 11\text{ mm}\end{array}</math>, | ||
und das entspricht der Vorgabe aus Aufgabe [[Gelöste Aufgaben/TC12|TC12]]. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /**** post-process ***/ | ||
f1 : subst([xi=t],subst(params,subst(dimless,expand(subst(sol[1],subst([i=1],subst(form,w(xi)/w[ref]))))))); | |||
f2 : subst([xi=t],subst(params,subst(dimless,expand(subst(sol[1],subst([i=2],subst(form,w(xi)/w[ref]))))))); | |||
scale : subst(params,(l[2]/l[1])); | |||
plot2d([[parametric, t, f1, [t, 0, 1]], | |||
[parametric, 1+t*scale, f2, [t, 0, 1]]], | |||
[gnuplot_preamble, "set yrange [] reverse"], | |||
[legend, "sec. I", "sec. II"], | |||
[xlabel, "x/l[1] →"], [ylabel, "w/w[ref] →"])$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<hr/> | <hr/> |
Version vom 9. April 2021, 06:39 Uhr
Aufgabenstellung
Das System ist eine Variante von Aufgabe TC12. Hier ist eine Näherungslösung mit der Methode der Finiten Elemente gefragt. Das Sytem besteht aus zwei Sektionen mit den Längen ℓ1 bzw. ℓ2 sowie den Flächenmomenten I1 bzw. I2. Sektion AB ist durch eine konstante Streckenlast q0 belastet, in B wirkt das Moment MB0. Der Stab ist in A durch ein gelenkiges Festlager gelagert. In C ist das Stabende fest mit dem Umfang einer Rolle vom Radius r verbunden, die in D frei drehbar gelagert ist. In B sind die beiden Sektionen fest miteinander verbunden. Die Feder in B ist eine Translationsfeder mit der Steifigkeit kB.
Gesucht ist die FEM-Lösung mit zwei Elementen für den Euler-Bernoulli-Balken.
Die Systemparameter sind die gleichen wie in TC12, das dort gesuchte Flächenmoment I1 übernehmen wir zu
.
Lösung mit Maxima
Header
Wir suchen eine Lösung mit den Standard-Trial-Functions (Hermitesche-Polynome) für einen Euler-Bernoulli-Balken. Aufpassen müssen wir am Rand "C". Hier sind Verschiebung und Verdrehung durch die Rolle gekoppelt. Die Element-Steifigkeitsmatrix müssen wir passend umschreiben.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2018-04-15 */
/* ref: TM-C, Labor 4 */
/* description: finds the FE solution for */
/* lab problem #4 */
/*******************************************************/
/* declare variational variables - see 6.3 Identifiers */
declare("δA", alphabetic);
declare("δΠ", alphabetic);
declare("δW", alphabetic);
declare("δΦ", alphabetic);
declare("δw", alphabetic);
Declarations
Wir übernehmen die Systemparameter aus TC12 zu
- ,
und wählen als Referenzgröße wref für die Auslenkung des Balkens die maximale Verschiebung eines Kragbalkens unter konstanter Streckenlast:
- .
/*** declarations ***/
assume(l[i]>0);
/* system parameter */
units : [mm = m/1000, cm = m/100];
params : [l[1]=1000*mm, l[2] = l[1]/2, r=l[1]/4,
E = 2.1*10^5*N/mm^2,
I[1] = 54000*mm^4, I[2]=2*I[1],
k[B] = 3*E*I[1]/l[1]^3,
q[0]=10*N/mm, M[B]=q[0]*l[1]^2];
params : subst(units,makelist(lhs(params[i])=subst(params,rhs(params[i])),i,1,length(params)));
/* kinematics of boundary condition at "C" */
kinematics : [W[2]=-r*Φ[2], δW[2] = -r*δΦ[2]];
/* max. displacement of cantilevered beam under load q[0] */
dimless : [w[ref] = q[0]*l[1]^4/(8*E*I[1])];
print(subst(params,dimless))$
Formfunctions
Die Trial-Functions je Element "i" zur Komposition der Form-Funktion kopieren wir aus Finite Elemente Methode zu
- ,
die Koordinaten der Verschiebung sind
- .
Damit ist
- .
/**** define form functions ***/
/* coordinates */
coords : [[ W[i-1], Φ[i-1], W[i], Φ[i]],
[δW[i-1],δΦ[i-1],δW[i],δΦ[i]]];
/* tial-functions */
phi : [ 2*xi^3-3*xi^2+1,
(xi^3-2*xi^2+xi)*l[i],
3*xi^2-2*xi^3,
(xi^3-xi^2)*l[i]];
/* form-function */
form : w(xi) = sum(coords[1][j]*phi[j],j,1,4);
Equilibrium Conditions
Die Gleichgewichtsbedingungen kommen aus dem Prinzip der virtuellen Verrückungen zu
- .
Wir sortieren die Elemente der virtuellen Arbeit nach den virtuellen Koordinaten und den Koordinaten des System und konstruieren daraus das gewöhnliche Gleichungssystem
- .
Die Anteile an der gesamten virtuellen Arbeit kommen aus der virtuellen Formänderungsenergie δΠ und der virtuellen Arbeit der äußeren Lasten δWa.
Dabei ist für unsere zwei Elemente δΠ = δΠ1 + δΠ2' mit
und der Element-Steifigkeitsmatrix
- .
Für Element 1 können wir diese Matrix direkt übernehmen, das heißt k1 = k0 für i=1.
Element 2 birgt eine Tücke: Hier sind Verschiebung W2 und Verdrehung Φ2 gekoppelt über die Kinematik der Rolle:
Damit ist auch die Variation in diesen Koordinaten gekoppelt, also
- .
Mit dieser Beziehung eliminieren wir demnach W2 aus der Formulierung der Gleichgewichtsbedingungen. Das Einsetzen der kinematischen Beziehungen in δΠ liefert nun als Element-Steifigkeitsmatrix
- ,
bei der die Elemente der dritten Zeile (zu δWi) und der dritten Spalte (zu Wi) verschwinden.
Wir setzen die Gesamt-Steifigkeitsmatrix K aus den beiden Element-Steifigkeitsmatrizen so zusammen:
Und das ist die anteilige Gesamt-Steifigkeitsmatrix der beiden Balken-Abschnitte:
Auch die Feder ist ein elastisches Element und trägt damit eine virtuelle Formänderungsenergie, zu δΠ hinzu, nämlich
Diesen Beitrag müssen wir in Zeile 3, Spalte 3 hinzuaddieren, also mit der Anweisung
- .
Auf der rechten Seite des Gleichungssystem bleiben die Beiträge der virtuellen Arbeiten äußerer Lasten stehen. Dies sind
- ,
wir erhalten
- .
Jetzt fehlen nur noch die Randbedingungen. Wir setzen
- ,
die kinematische Beziehung
haben wir schon eingearbeit - bleibt also nur noch, die entsprechenden Spalten und Zeilen in den Matrizen K, Q und P zu eliminieren. Es bleibt das Gleichungssystem
- .
1+1
Solving
Auflösen nach Q liefert
- ,
zusammen mit den {\color{green}Randbedingungen} also
- .
/**** solve K Q = P ***/
sol[1] : linsolve_by_lu(subst(params,K),subst(params,P))[1]$
sol[1] : makelist(Q[i][1] = sol[1][i][1],i,1,4);
sol[1] : append(subst(params,[W[0]=0, W[2]=-r*subst(sol[1], Φ[2])]), sol[1]);
Post-Processing
Die Auslenkung w(x) der Querschnitte tragen wir jetzt auf. Für die dimensionslose Darstellung wählen wir aus der analytischen Lösung für den Kragbalken unter konstanter Streckenlast
und tragen w(x)/wref auf:
Die maximale Auslenkung des Systems ist dann
- ,
und das entspricht der Vorgabe aus Aufgabe TC12.
/**** post-process ***/
f1 : subst([xi=t],subst(params,subst(dimless,expand(subst(sol[1],subst([i=1],subst(form,w(xi)/w[ref])))))));
f2 : subst([xi=t],subst(params,subst(dimless,expand(subst(sol[1],subst([i=2],subst(form,w(xi)/w[ref])))))));
scale : subst(params,(l[2]/l[1]));
plot2d([[parametric, t, f1, [t, 0, 1]],
[parametric, 1+t*scale, f2, [t, 0, 1]]],
[gnuplot_preamble, "set yrange [] reverse"],
[legend, "sec. I", "sec. II"],
[xlabel, "x/l[1] →"], [ylabel, "w/w[ref] →"])$
Links
- ...
Literature
- ...