Gelöste Aufgaben/T313: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 22: Zeile 22:
In der Gleichgewichtsbedinung beim Prinzip der virtuellen Verrückungen 
In der Gleichgewichtsbedinung beim Prinzip der virtuellen Verrückungen 


<math>\begin{array}{rl}\delta W =& \delta W^a - \delta\Pi\\\stackrel{!}{=}&0\end{array}</math>
::<math>\begin{array}{rl}\delta W =& \delta W^a - \delta\Pi\\\stackrel{!}{=}&0\end{array}</math>


teilen wir 
teilen wir 


<math>\displaystyle \Pi = \sum_i \delta\,\Pi_i</math>
::<math>\displaystyle \Pi = \sum_i \delta\,\Pi_i</math>


in die virtuelle Formänderungsenergie ''δΠ<sub>i</sub>'' je Stab auf.
in die virtuelle Formänderungsenergie ''δΠ<sub>i</sub>'' je Stab auf.


==tmp==


<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Header
|text=
Für die Aufgabe nutzen wir die Ergebnisse aus [[Gelöste Aufgaben/T312|T312]]. Dort haben wir die Anteile der viruellen Formänderungsenergievon  
Für die Aufgabe nutzen wir die Ergebnisse aus [[Gelöste Aufgaben/T312|T312]]. Dort haben wir die Anteile der viruellen Formänderungsenergievon  


<math>\delta\Pi_i</math>
::<math>\delta\Pi_i</math>


allgemein aufgeschrieben.[[Datei:T313-11.png|mini|Bezeichnung von Stäben und Knoten]]Den Stäben und Knoten geben wir Nummern - so können wir sie leichter ansprechen.<!-------------------------------------------------------------------------------->
allgemein aufgeschrieben.[[Datei:T313-11.png|mini|Bezeichnung von Stäben und Knoten]]Den Stäben und Knoten geben wir Nummern - so können wir sie leichter ansprechen.
 
{{MyCodeBlock|title=Header
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 15.08.2                          */
/* author: Andreas Baumgart                            */
/* last updated:                                      */
/* ref: %                                              */
/* description: Berechnung der Knoten-Verscheibungen  */
/*              eines elastischen Stabwerks            */
/*              - gehört zu Aufgabe T312              */
/*******************************************************/
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==


<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Parameter
|text=
Aus dem Lageplan lesen wir paarweise die x/y-Koordinaten der Knotenpunkte ''I, II, III, IV'' ab:
Aus dem Lageplan lesen wir paarweise die x/y-Koordinaten der Knotenpunkte ''I, II, III, IV'' ab:


<math>\begin{array}{lll}N = [&[0,&0 ],\\ &[2a,&a ],\\ &[2a,&0],\\ &[4a,&0 ]\;]\end{array}</math>.
::<math>\begin{array}{lll}N = [&[0,&0 ],\\ &[2a,&a ],\\ &[2a,&0],\\ &[4a,&0 ]\;]\end{array}</math>.


Für die Stäbe erfassen wir die Nummern Ihrer Start- und End-Knotenpunkte:
Für die Stäbe erfassen wir die Nummern Ihrer Start- und End-Knotenpunkte:


<math>\begin{array}{ll}R = [& [1,2]\\&[1,3]\\&[2,3]\\&[2,4]\\&[3,4]\;]\end{array}</math>.<!-------------------------------------------------------------------------------->
::<math>\begin{array}{ll}R = [& [1,2]\\&[1,3]\\&[2,3]\\&[2,4]\\&[3,4]\;]\end{array}</math>.
 
{{MyCodeBlock|title=Parameter
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* parameters */
assume(a>0);
 
/* nodal coordinates */
N : [[  0, 0 ],
    [2*a, a ],
    [2*a, 0 ],
    [4*a, 0 ]];
/* rod-connectivity */
R : [[1,2],
    [1,3],
    [2,3],
    [2,4],
    [3,4]];
dims: [length(N),length(R)];
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Element Stiffness Matrix
|text=Aus diesen Parametern können wir alle Elemente der Element-Steifigkeitsmatrix ''K<sub>E</sub>''


Aus diesen Parametern können wir alle Elemente der Element-Steifigkeitsmatrix ''K<sub>E</sub>''
::<math>\delta\Pi_i=[{{\mathit{\delta\,u}}_{k}},{{\mathit{\delta\,v}}_{k}},{{\mathit{\delta\,u}}_{l}},{{\mathit{\delta\,v}}_{l}}]\cdot \underbrace{{{k}_{i}}\cdot \begin{pmatrix}{{\xi}_{x}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{x}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}}\\ {{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{y}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{y}^{2}}\\ -{{\xi}_{x}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{x}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}}\\ -{{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{y}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{y}^{2}}\end{pmatrix}}_{  \displaystyle =:\underline{\underline{K}}_E  }\cdot \begin{pmatrix}{{u}_{k}}\\ {{v}_{k}}\\ {{u}_{l}}\\ {{v}_{l}}\end{pmatrix}
 
<math>\delta\Pi_i=[{{\mathit{\delta\,u}}_{k}},{{\mathit{\delta\,v}}_{k}},{{\mathit{\delta\,u}}_{l}},{{\mathit{\delta\,v}}_{l}}]\cdot \underbrace{{{k}_{i}}\cdot \begin{pmatrix}{{\xi}_{x}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{x}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}}\\ {{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{y}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{y}^{2}}\\ -{{\xi}_{x}^{2}} & -{{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{x}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}}\\ -{{\xi}_{x}}\cdot {{\xi}_{y}} & -{{\xi}_{y}^{2}} & {{\xi}_{x}}\cdot {{\xi}_{y}} & {{\xi}_{y}^{2}}\end{pmatrix}}_{  \displaystyle =:\underline{\underline{K}}_E  }\cdot \begin{pmatrix}{{u}_{k}}\\ {{v}_{k}}\\ {{u}_{l}}\\ {{v}_{l}}\end{pmatrix}
</math>(vgl. [[Gelöste Aufgaben/T312|T312]])
</math>(vgl. [[Gelöste Aufgaben/T312|T312]])


je Stab berechnen.<!-------------------------------------------------------------------------------->
je Stab berechnen.
 
{{MyCodeBlock|title=Element Stiffness Matrix
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* compute elements of Element-Stiffness Matrix */
/* Δx / Δy */
d : makelist(N[R[i][2]]-N[R[i][1]],i,1,length(R));
/* reference-lengths */
l : makelist(sqrt(d[i].d[i]),i,1,length(d));
/* normalized Δx / Δy ( xi )*/
e : makelist((N[R[i][2]]-N[R[i][1]])/l[i],
                                    i,1,length(R));
/* Element-Stiffness Matrix from T123 */
K[E] : k[i]*matrix(
          [ xi[x]^2,xi[x]*xi[y],-xi[x]^2,-xi[x]*xi[y]],
          [ xi[x]*xi[y],xi[y]^2,-xi[x]*xi[y],-xi[y]^2],
          [-xi[x]^2,-xi[x]*xi[y], xi[x]^2,xi[x]*xi[y]],
          [-xi[x]*xi[y],-xi[y]^2,xi[x]*xi[y],xi[y]^2]);
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==


<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Compose total Stiffness Matrix
|text=
Die skalaren Gleichgewichtsbeziehungen können wir auch als
Die skalaren Gleichgewichtsbeziehungen können wir auch als


<math>\underbrace{\delta\underline{Q}^T\cdot \underline{P}}_{\displaystyle = \delta W^a} - \underbrace{\delta\underline{Q}^T\cdot \underline{\underline{K}}\cdot \underline{Q}}_{\displaystyle = \delta\Pi} =0</math>
::<math>\underbrace{\delta\underline{Q}^T\cdot \underline{P}}_{\displaystyle = \delta W^a} - \underbrace{\delta\underline{Q}^T\cdot \underline{\underline{K}}\cdot \underline{Q}}_{\displaystyle = \delta\Pi} =0</math>


schreiben. Die Gesamt-Steifigkeitsmatrix ''K'' aus dem Gesamt-Gleichungssystem
schreiben. Die Gesamt-Steifigkeitsmatrix ''K'' aus dem Gesamt-Gleichungssystem


<math>\underline{\underline{K}}\cdot\underline{Q} = \underline{P}</math>
::<math>\underline{\underline{K}}\cdot\underline{Q} = \underline{P}</math>


komponieren wir gleich aus den jeweiligen Element-Steifigkeitsmatrizen je Stab. "Komponieren", weil wir dabei nichts mehr berechnen müssen, sondern die Elemente der Element-Steifigkeitsmatrix nur passend in die Gesamt-Steifigkeitsmatrix einsortieren müssen.
komponieren wir gleich aus den jeweiligen Element-Steifigkeitsmatrizen je Stab. "Komponieren", weil wir dabei nichts mehr berechnen müssen, sondern die Elemente der Element-Steifigkeitsmatrix nur passend in die Gesamt-Steifigkeitsmatrix einsortieren müssen.
Zeile 95: Zeile 128:
Es sind
Es sind


<math>\underline{Q} = \left(\begin{array}{c}u_1\\v_1\\u_2\\v_2\\u_3\\v_3\\u_4\\v_4\end{array} \right), \;\; \delta\underline{Q} = \left(\begin{array}{c}\delta u_1\\\delta v_1\\\delta u_2\\\delta v_2\\\delta u_3\\\delta v_3\\\delta u_4\\\delta v_4\end{array} \right)</math>
::<math>\underline{Q} = \left(\begin{array}{c}u_1\\v_1\\u_2\\v_2\\u_3\\v_3\\u_4\\v_4\end{array} \right), \;\; \delta\underline{Q} = \left(\begin{array}{c}\delta u_1\\\delta v_1\\\delta u_2\\\delta v_2\\\delta u_3\\\delta v_3\\\delta u_4\\\delta v_4\end{array} \right)</math>


die Koordinaten der Verschiebungen der Knoten in ''x-'' und ''y-''Richtung und ihre Variationen (ohne Berücksichtigung der Lager-Bindungen) sowie
die Koordinaten der Verschiebungen der Knoten in ''x-'' und ''y-''Richtung und ihre Variationen (ohne Berücksichtigung der Lager-Bindungen) sowie


<math>\underline{P} = F\cdot \left(\begin{array}{c}0\\0\\1\\0\\0\\-2\\0\\0\end{array} \right)</math>
::<math>\underline{P} = F\cdot \left(\begin{array}{c}0\\0\\1\\0\\0\\-2\\0\\0\end{array} \right)</math>


die Last-Spaltenmatrix mit den Kräften ''F, 2F'' auf das Stabwerk, die aus
die Last-Spaltenmatrix mit den Kräften ''F, 2F'' auf das Stabwerk, die aus


<math>\delta W^a = F\cdot \delta u_2 + (- 2F)\cdot \delta v_3</math>
::<math>\delta W^a = F\cdot \delta u_2 + (- 2F)\cdot \delta v_3</math>


kommt.
kommt.
Zeile 111: Zeile 144:
Die virtuellen Formänderungs-Energien des Stabwerks setzen sich additiv aus den (hier fünf) virtuellen Formänderungsenergien je Stab zusammen:
Die virtuellen Formänderungs-Energien des Stabwerks setzen sich additiv aus den (hier fünf) virtuellen Formänderungsenergien je Stab zusammen:


<math>\delta\Pi = \delta\Pi_1 + \delta\Pi_2 + ...\delta\Pi_i+ ... + \delta\Pi_5</math>
::<math>\delta\Pi = \delta\Pi_1 + \delta\Pi_2 + ...\delta\Pi_i+ ... + \delta\Pi_5</math>


Jedes Matrix-Element der Element-Steifigkeitsmatrix für den Stab ''i'' gehört nun zu genau einer Kombination aus Verschiebung und virtueller Verschiebung. So taucht in Liste der Summanden für Stab 1 (Knoten ''I'' und ''II'')auch der Term
Jedes Matrix-Element der Element-Steifigkeitsmatrix für den Stab ''i'' gehört nun zu genau einer Kombination aus Verschiebung und virtueller Verschiebung. So taucht in Liste der Summanden für Stab 1 (Knoten ''I'' und ''II'')auch der Term


<math>\delta\Pi_i = ... + \delta v_1 \cdot k_{23} \cdot \delta u_2 + ...</math>
::<math>\delta\Pi_i = ... + \delta v_1 \cdot k_{23} \cdot \delta u_2 + ...</math>


auf. [[Datei:T313-12.png|mini|Einarbeiten der Element-Steifigkeitsmatrix|alternativtext=|500x500px]]Diesen müssen wir jetzt zur Gesamt-Steifigkeitsmatrix hinzuaddieren - so wie unten beschreiben.
auf. [[Datei:T313-12.png|mini|Einarbeiten der Element-Steifigkeitsmatrix|alternativtext=|500x500px]]Diesen müssen wir jetzt zur Gesamt-Steifigkeitsmatrix hinzuaddieren - so wie unten beschreiben.
<!--p>
<img src="https://latex.codecogs.com/gif.latex?\dpi{300}
\displaystyle
\begin{array}{lcl}
\delta\Pi_i &=& \delta\underline{Q}^T\cdot\underline{\underline{K}}_i \cdot \delta\underline{Q}\\
&=&
\left(\delta u_k,\delta v_k,\delta u_l,\delta v_l \right) \cdot
\left(
\begin{array}{cccc}
k_{11}&k_{12}&k_{13}&k_{14}\\
k_{21}&k_{22}&k_{23}&k_{24}\\
k_{31}&k_{32}&k_{33}&k_{34}\\
k_{41}&k_{42}&k_{43}&k_{44}\\
\end{array}
\right) \cdot
\left(
\begin{array}{c}
u_k\\v_k\\u_l\\v_l
\end{array}
\right)
\end{array}
">
<br>
<br>
<img src="https://latex.codecogs.com/gif.latex?\dpi{300}
\displaystyle
\delta\Pi =
\left(\delta u_1,\delta v_1,\delta u_2,...,\delta v_4 \right) \cdot
\left(
\begin{array}{cccccccc}
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
...&...&...&...&...&...&...&...\\
\end{array}
\right) \cdot
\left(
\begin{array}{c}
u_1\\v_1\\u_2\\\vdots\\v_l
\end{array}
\right)
">
</p-->


Die Gesamt-Steifigkeitsmatrix erhalten wir schließlich zu
Die Gesamt-Steifigkeitsmatrix erhalten wir schließlich zu


<math>\underline{\underline{K}} = \displaystyle\frac{EA}{a}\;\begin{pmatrix}\frac{8+{{5}^{\frac{3}{2}}}}{2\cdot {{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{4}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{2} & 0 & 0 & 0\\ \frac{2}{{{5}^{\frac{3}{2}}}} & \frac{1}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0 & 0\\ -\frac{4}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & \frac{8}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0 & -\frac{4}{{{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}}\\ -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & \frac{2+{{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}} & 0 & -1 & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}}\\ -\frac{1}{2} & 0 & 0 & 0 & 1 & 0 & -\frac{1}{2} & 0\\ 0 & 0 & 0 & -1 & 0 & 1 & 0 & 0\\ 0 & 0 & -\frac{4}{{{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{2} & 0 & \frac{8+{{5}^{\frac{3}{2}}}}{2\cdot {{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}}\\ 0 & 0 & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & 0 & -\frac{2}{{{5}^{\frac{3}{2}}}} & \frac{1}{{{5}^{\frac{3}{2}}}}\end{pmatrix}
::<math>\underline{\underline{K}} = \displaystyle\frac{EA}{a}\;\begin{pmatrix}\frac{8+{{5}^{\frac{3}{2}}}}{2\cdot {{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{4}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{2} & 0 & 0 & 0\\ \frac{2}{{{5}^{\frac{3}{2}}}} & \frac{1}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0 & 0\\ -\frac{4}{{{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}} & \frac{8}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0 & -\frac{4}{{{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}}\\ -\frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & \frac{2+{{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}} & 0 & -1 & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}}\\ -\frac{1}{2} & 0 & 0 & 0 & 1 & 0 & -\frac{1}{2} & 0\\ 0 & 0 & 0 & -1 & 0 & 1 & 0 & 0\\ 0 & 0 & -\frac{4}{{{5}^{\frac{3}{2}}}} & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{2} & 0 & \frac{8+{{5}^{\frac{3}{2}}}}{2\cdot {{5}^{\frac{3}{2}}}} & -\frac{2}{{{5}^{\frac{3}{2}}}}\\ 0 & 0 & \frac{2}{{{5}^{\frac{3}{2}}}} & -\frac{1}{{{5}^{\frac{3}{2}}}} & 0 & 0 & -\frac{2}{{{5}^{\frac{3}{2}}}} & \frac{1}{{{5}^{\frac{3}{2}}}}\end{pmatrix}
</math>
</math>


Zeile 128: Zeile 211:
Lösen müssen wir nun das lineare Gleichungssystem aus
Lösen müssen wir nun das lineare Gleichungssystem aus


<math>\begin{array}{rl}\delta W^a - \delta\Pi &= 0\\\delta \underline{Q}^T\cdot\left(\underline{P}-\underline{\underline{K}}\cdot\underline{Q}\right)&=0 \text{ und damit }\\\underline{\underline{K}}\cdot\underline{Q} &= \underline{P}\end{array}</math>
::<math>\begin{array}{rl}\delta W^a - \delta\Pi &= 0\\\delta \underline{Q}^T\cdot\left(\underline{P}-\underline{\underline{K}}\cdot\underline{Q}\right)&=0 \text{ und damit }\\\underline{\underline{K}}\cdot\underline{Q} &= \underline{P}\end{array}</math>


Würden wir versuchen, diese Gleichungssystem direkt zu lösen, würden wir allerdings scheitern, denn:
Würden wir versuchen, diese Gleichungssystem direkt zu lösen, würden wir allerdings scheitern, denn:
Zeile 135: Zeile 218:


d.h. Zeilen oder Spalten der Matrix sind voneinander linear abhängig.
d.h. Zeilen oder Spalten der Matrix sind voneinander linear abhängig.
{| class="wikitable"
|
|}<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Compose total Stiffness Matrix
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* compose total stiffness matrix */
K[0]: zeromatrix(2*dims[1],2*dims[1]);
 
for rod:1 thru dims[2] do
  (K[rod] : subst([k[i]=EA/l[rod],
                  xi[x] = e[rod][1],
                  xi[y] = e[rod][2]],K[E]),
    iL: [2*R[rod][1]-1,2*R[rod][1],2*R[rod][2]-1,2*R[rod][2]],
    for rowi: 1 thru 4 do
      for coli: 1 thru 4 do
          (K[0][iL[rowi]][iL[coli]]:
          K[0][iL[rowi]][iL[coli]]+K[rod][rowi][coli]),
    print(r))$
 
/* coordiates and right-hand-side K*Q=P */
Q: transpose(matrix(flatten(makelist([u[i],v[i]],i,1,4))));
P: transpose(matrix([0,0,1,0,0,-2,0,0]))*(EA/a);
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->
[[Datei:T313-13.png|mini|Randbedingungen einarbeiten|alternativtext=|500x500px]]Was noch fehlt: die Randbedingungen haben wir noch nicht eingearbeitet! Und die erhalten wir durch Streichen der betroffenen Zeilen und Spalten im Gleichungssystem.
 
{{MyCodeBlock|title=Boundary Conditions
|text=[[Datei:T313-13.png|mini|Randbedingungen einarbeiten|alternativtext=|500x500px]]Das Problem: die Randbedingungen haben wir noch nicht eingearbeitet! Und die erhalten wir durch Streichen der betroffenen Zeilen und Spalten im Gleichungssystem.
 
<!--p>
<img src="https://latex.codecogs.com/gif.latex?\dpi{300}
\displaystyle
\left(
\begin{array}{llllllll}
k_{1,1} & k_{2,1} & k_{3,1} & k_{4,1} & k_{5,1} & k_{6,1} & k_{7,1} & k_{8,1}\\
k_{1,2} & k_{2,2} & k_{3,2} & k_{4,2} & k_{5,2} & k_{6,2} & k_{7,2} & k_{8,2}\\
k_{1,3} & k_{2,3} & k_{3,3} & k_{4,3} & k_{5,3} & k_{6,3} & k_{7,3} & k_{8,3}\\
k_{1,4} & k_{2,4} & k_{3,4} & k_{4,4} & k_{5,4} & k_{6,4} & k_{7,4} & k_{8,4}\\
k_{1,5} & k_{2,5} & k_{3,5} & k_{4,5} & k_{5,5} & k_{6,5} & k_{7,5} & k_{8,5}\\
k_{1,6} & k_{2,6} & k_{3,6} & k_{4,6} & k_{5,6} & k_{6,6} & k_{7,6} & k_{8,6}\\
k_{1,7} & k_{2,7} & k_{3,7} & k_{4,7} & k_{5,7} & k_{6,7} & k_{7,7} & k_{8,7}\\
k_{1,8} & k_{2,8} & k_{3,8} & k_{4,8} & k_{5,8} & k_{6,8} & k_{7,8} & k_{8,8}
\end{array}
\right)
\cdot
\left(
\begin{array}{c}
u_1\\
v_1\\
u_2\\
v_2\\
u_3\\
v_3\\
u_4\\
v_4\\
\end{array}
\right)
=
\left(
\begin{array}{c}
0\\
0\\
F\\
0\\
0\\
-2F\\
0\\
0\\
\end{array}
\right)
">
</p-->
 
 
Übrig bleibt
Übrig bleibt


<math>\displaystyle \frac{EA}{a}\;\left( \begin{array}{llll} \frac{8}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0\\ 0 & \frac{2+{{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}} & 0 & -1\\ 0 & 0 & 1 & 0\\  0 & -1 & 0 & 1 \end{array} \right) \cdot \left( \begin{array}{c} u_2\\ v_2\\ u_3\\ v_3\\ \end{array} \right) = \left( \begin{array}{c} F\\ 0\\ 0\\ -2F\\ \end{array} \right)</math><!-------------------------------------------------------------------------------->
::<math>\displaystyle \frac{EA}{a}\;\left( \begin{array}{llll} \frac{8}{{{5}^{\frac{3}{2}}}} & 0 & 0 & 0\\ 0 & \frac{2+{{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}} & 0 & -1\\ 0 & 0 & 1 & 0\\  0 & -1 & 0 & 1 \end{array} \right) \cdot \left( \begin{array}{c} u_2\\ v_2\\ u_3\\ v_3\\ \end{array} \right) = \left( \begin{array}{c} F\\ 0\\ 0\\ -2F\\ \end{array} \right)</math>
 
{{MyCodeBlock|title=Boundary Conditions
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* boundary conditions … */
nulls : [1,2,7,8];
nullNodes: makelist(Q[i][1]=0,i,nulls);
 
/* remove respective rows and columns*/
for iN:length(nulls) thru 1 step -1 do
(K[0]:submatrix(nulls[iN],K[0],nulls[iN]),
Q : submatrix(nulls[iN],Q),
P : submatrix(nulls[iN],P))$
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==
<!-------------------------------------------------------------------------------->


Diese Gleichungssystem hat eine Lösung:
{{MyCodeBlock|title=Solving
|text=Diese Gleichungssystem hat eine Lösung:


<math>\displaystyle \begin{array}{lll}  \displaystyle {{u}_{2}} \cdot \frac{F\;a}{EA}&=\frac{{{5}^{\frac{3}{2}}}}{8}&\approx 1.4\\ \displaystyle {{v}_{2}} \cdot \frac{EA}{F\;a}&=-\frac{125+2\cdot {{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}+2}&\approx -11.2\\  {{u}_{3}}&=0\\ \displaystyle {{v}_{3}} \cdot \frac{EA}{F\;a}&=-{{5}^{\frac{3}{2}}}-2&\approx -13.2 \end{array}</math>.<!-------------------------------------------------------------------------------->
::<math>\displaystyle \begin{array}{lll}  \displaystyle {{u}_{2}} \cdot \frac{F\;a}{EA}&=\frac{{{5}^{\frac{3}{2}}}}{8}&\approx 1.4\\ \displaystyle {{v}_{2}} \cdot \frac{EA}{F\;a}&=-\frac{125+2\cdot {{5}^{\frac{3}{2}}}}{{{5}^{\frac{3}{2}}}+2}&\approx -11.2\\  {{u}_{3}}&=0\\ \displaystyle {{v}_{3}} \cdot \frac{EA}{F\;a}&=-{{5}^{\frac{3}{2}}}-2&\approx -13.2 \end{array}</math>.
 
{{MyCodeBlock|title=Solving
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solve for nodal displacements */
sol[1]: ratsimp(linsolve_by_lu(K[0],P))[1];
sol[2]: makelist(Q[i][1]=sol[1][i][1],i,1,length(Q));
</syntaxhighlight>
</syntaxhighlight>
}}
}}


==tmp==


<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Processing
|text=
In einer Nachlaufrechnung können wir nun auch noch die Stabkräfte bestimmen:
In einer Nachlaufrechnung können wir nun auch noch die Stabkräfte bestimmen:


<math>\begin{array}{ll} S_1 &= \displaystyle -\frac{15\cdot a\cdot F}{4\cdot \mathit{EA}}\\ S_2 &= 0\\ S_3 &= \displaystyle \frac{2\cdot a\cdot F}{\mathit{EA}}\\ S_4 &= \displaystyle -\frac{25\cdot a\cdot F}{4\cdot \mathit{EA}}\\ S_5 &= 0 \end{array}</math><!-------------------------------------------------------------------------------->
..<math>\begin{array}{ll} S_1 &= \displaystyle -\frac{15\cdot a\cdot F}{4\cdot \mathit{EA}}\\ S_2 &= 0\\ S_3 &= \displaystyle \frac{2\cdot a\cdot F}{\mathit{EA}}\\ S_4 &= \displaystyle -\frac{25\cdot a\cdot F}{4\cdot \mathit{EA}}\\ S_5 &= 0 \end{array}</math>
 
{{MyCodeBlock|title=Post-Processing
|text=Text
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* post-process: rod normal forces */
post[1]: makelist( (d[rod][1]*(u[R[rod][2]]-u[R[rod][1]])+
                    d[rod][2]*(v[R[rod][2]]-v[R[rod][1]]))/l[rod],
                                      rod,1,length(R));
post[1]: subst(sol[2],subst(nullNodes,F/(EA/a)*post[1]));
</syntaxhighlight>
</syntaxhighlight>
}}
}}
<table class="wikitable" style="background-color:white; float: left; margin-right:14px;
">
<tr><th></th><th></th></tr>
<tr><td></td><td></td></tr>
</table>


<hr/>
<hr/>

Aktuelle Version vom 5. April 2021, 15:39 Uhr


Aufgabenstellung

Stäbe waren früher das zentrale Bauteil in Leichtbau-Konstruktionen. In dieser Aufgabe geht es um die Komposition der Gesamt-Steifigkeitsmatrix für ein Stabwerk. Das Stabwerk besteht aus 5 Stäben gleicher Dehnsteifigkeit EA und wird durch die Kräfte F, 2F belastet.

Lageplan

Gesucht sind Stabkräfte und Verschiebung der Knotenpunkte des Systems mit dem Prinzip der vertuellen Verrückungen.


Lösung mit Maxima

Dazu verwenden wir die Element-Steifigkeitsmatrix aus den Ergebnissen von Aufgabe T312.

In der Gleichgewichtsbedinung beim Prinzip der virtuellen Verrückungen 

teilen wir 

in die virtuelle Formänderungsenergie δΠi je Stab auf.


Header

Für die Aufgabe nutzen wir die Ergebnisse aus T312. Dort haben wir die Anteile der viruellen Formänderungsenergievon

allgemein aufgeschrieben.

Bezeichnung von Stäben und Knoten

Den Stäben und Knoten geben wir Nummern - so können wir sie leichter ansprechen.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated:                                       */
/* ref: %                                              */
/* description: Berechnung der Knoten-Verscheibungen   */
/*              eines elastischen Stabwerks            */
/*              - gehört zu Aufgabe T312               */
/*******************************************************/




Parameter

Aus dem Lageplan lesen wir paarweise die x/y-Koordinaten der Knotenpunkte I, II, III, IV ab:

.

Für die Stäbe erfassen wir die Nummern Ihrer Start- und End-Knotenpunkte:

.

/* parameters */
assume(a>0);

/* nodal coordinates */
N : [[  0, 0 ],
     [2*a, a ],
     [2*a, 0 ],
     [4*a, 0 ]];
/* rod-connectivity */
R : [[1,2],
     [1,3],
     [2,3],
     [2,4],
     [3,4]];
dims: [length(N),length(R)];




Element Stiffness Matrix

Aus diesen Parametern können wir alle Elemente der Element-Steifigkeitsmatrix KE

(vgl. T312)

je Stab berechnen.


/* compute elements of Element-Stiffness Matrix */
/* Δx / Δy */
d : makelist(N[R[i][2]]-N[R[i][1]],i,1,length(R));
/* reference-lengths */
l : makelist(sqrt(d[i].d[i]),i,1,length(d));
/* normalized Δx / Δy ( xi )*/
e : makelist((N[R[i][2]]-N[R[i][1]])/l[i],
                                     i,1,length(R));
/* Element-Stiffness Matrix from T123 */
K[E] : k[i]*matrix(
          [ xi[x]^2,xi[x]*xi[y],-xi[x]^2,-xi[x]*xi[y]],
          [ xi[x]*xi[y],xi[y]^2,-xi[x]*xi[y],-xi[y]^2],
          [-xi[x]^2,-xi[x]*xi[y], xi[x]^2,xi[x]*xi[y]],
          [-xi[x]*xi[y],-xi[y]^2,xi[x]*xi[y],xi[y]^2]);




Compose total Stiffness Matrix

Die skalaren Gleichgewichtsbeziehungen können wir auch als

schreiben. Die Gesamt-Steifigkeitsmatrix K aus dem Gesamt-Gleichungssystem

komponieren wir gleich aus den jeweiligen Element-Steifigkeitsmatrizen je Stab. "Komponieren", weil wir dabei nichts mehr berechnen müssen, sondern die Elemente der Element-Steifigkeitsmatrix nur passend in die Gesamt-Steifigkeitsmatrix einsortieren müssen.

Es sind

die Koordinaten der Verschiebungen der Knoten in x- und y-Richtung und ihre Variationen (ohne Berücksichtigung der Lager-Bindungen) sowie

die Last-Spaltenmatrix mit den Kräften F, 2F auf das Stabwerk, die aus

kommt.

Beim Komponieren der Gesamt-Steifigkeitsmatrix gehen wir so vor:

Die virtuellen Formänderungs-Energien des Stabwerks setzen sich additiv aus den (hier fünf) virtuellen Formänderungsenergien je Stab zusammen:

Jedes Matrix-Element der Element-Steifigkeitsmatrix für den Stab i gehört nun zu genau einer Kombination aus Verschiebung und virtueller Verschiebung. So taucht in Liste der Summanden für Stab 1 (Knoten I und II)auch der Term

auf.

Einarbeiten der Element-Steifigkeitsmatrix

Diesen müssen wir jetzt zur Gesamt-Steifigkeitsmatrix hinzuaddieren - so wie unten beschreiben.


Die Gesamt-Steifigkeitsmatrix erhalten wir schließlich zu

Diese Zuordnung - oder Komposition - macht man in komplexeren Programmen - wie FEM-Software - mit Inzidenztabellen.

Lösen müssen wir nun das lineare Gleichungssystem aus

Würden wir versuchen, diese Gleichungssystem direkt zu lösen, würden wir allerdings scheitern, denn:

  • die Determinante von ist Null,

d.h. Zeilen oder Spalten der Matrix sind voneinander linear abhängig.


/* compose total stiffness matrix */
K[0]: zeromatrix(2*dims[1],2*dims[1]);

for rod:1 thru dims[2] do
   (K[rod] : subst([k[i]=EA/l[rod],
                  xi[x] = e[rod][1],
                  xi[y] = e[rod][2]],K[E]),
    iL: [2*R[rod][1]-1,2*R[rod][1],2*R[rod][2]-1,2*R[rod][2]],
    for rowi: 1 thru 4 do
       for coli: 1 thru 4 do
          (K[0][iL[rowi]][iL[coli]]:
           K[0][iL[rowi]][iL[coli]]+K[rod][rowi][coli]),
     print(r))$

/* coordiates and right-hand-side K*Q=P */
Q: transpose(matrix(flatten(makelist([u[i],v[i]],i,1,4))));
P: transpose(matrix([0,0,1,0,0,-2,0,0]))*(EA/a);




Boundary Conditions

Randbedingungen einarbeiten

Das Problem: die Randbedingungen haben wir noch nicht eingearbeitet! Und die erhalten wir durch Streichen der betroffenen Zeilen und Spalten im Gleichungssystem.


Übrig bleibt


/* boundary conditions … */
nulls : [1,2,7,8];
nullNodes: makelist(Q[i][1]=0,i,nulls);

/* remove respective rows and columns*/
for iN:length(nulls) thru 1 step -1 do
	(K[0]:submatrix(nulls[iN],K[0],nulls[iN]),
	 Q : submatrix(nulls[iN],Q),
	 P : submatrix(nulls[iN],P))$




Solving

Diese Gleichungssystem hat eine Lösung:

.

/* solve for nodal displacements */
sol[1]: ratsimp(linsolve_by_lu(K[0],P))[1];
sol[2]: makelist(Q[i][1]=sol[1][i][1],i,1,length(Q));





Post-Processing

In einer Nachlaufrechnung können wir nun auch noch die Stabkräfte bestimmen:

..


/* post-process: rod normal forces */
post[1]: makelist( (d[rod][1]*(u[R[rod][2]]-u[R[rod][1]])+
                    d[rod][2]*(v[R[rod][2]]-v[R[rod][1]]))/l[rod],
                                       rod,1,length(R));
post[1]: subst(sol[2],subst(nullNodes,F/(EA/a)*post[1]));





Links

  • ...

Literature

  • ...