Gelöste Aufgaben/TC12: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 22: Zeile 22:
Die Aufgabe ist ein klassisches Randwertproblem:
Die Aufgabe ist ein klassisches Randwertproblem:


# zwei Gebiete, in denen ein Euler-Bernoulli-Balken in ''AB'' und ''BC'' durch eine Streckenlast ''q'' belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung
<ol>
<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\}</math> berschrieben wird.
<li>zwei Gebiete, in denen ein Euler-Bernoulli-Balken in ''AB'' und ''BC'' durch eine Streckenlast ''q'' belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung<br/>
# Rand- und Übergangsbedingungen in den Punkten ''A, B, C''
<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\}</math> berschrieben wird.</li>
<li>Rand- und Übergangsbedingungen in den Punkten ''A, B, C''</li>
</ol>


Wir verwenden ''x<sub>i</sub>'' und ''ξ<sub>i</sub>'' als Koordinaten je Bereich, in der Übersicht sieht das Randwertproblem so aus:
Wir verwenden ''x<sub>i</sub>'' und ''ξ<sub>i</sub>'' als Koordinaten je Bereich, in der Übersicht sieht das Randwertproblem so aus:
Zeile 30: Zeile 32:
<table class="wikitable" style="background-color:white;">
<table class="wikitable" style="background-color:white;">
<tr><th>Rand<br/>A</th><th>Bereich I</th><th>Übergang<br/>B</th><th>Bereich II</th><th>Rand<br/>C</th></tr>
<tr><th>Rand<br/>A</th><th>Bereich I</th><th>Übergang<br/>B</th><th>Bereich II</th><th>Rand<br/>C</th></tr>
<tr><td></td><td>[[Datei:TC12-11AB.png|rahmenlos|alternativtext=|200x200px]]</td><td></td><td>[[Datei:TC12-11BC.png|rahmenlos|alternativtext=|260x260px]]</td><td></td></tr>
<tr><td></td><td>[[Datei:TC12-11AB.png|rahmenlos|alternativtext=|250x250px]]</td><td></td><td>[[Datei:TC12-11BC.png|rahmenlos|alternativtext=|150x150px]]</td><td></td></tr>
<tr><td>[[Datei:TC12-11A.png|116x116px|rahmenlos|alternativtext=]]</td><td></td><td>[[Datei:TC12-11B.png|rahmenlos|alternativtext=|128x128px]]</td><td></td><td>[[Datei:TC12-11C1.png|rahmenlos|alternativtext=|116x116px]]<br/>
<tr><td>[[Datei:TC12-11A.png|77x77px|rahmenlos|alternativtext=]]</td><td></td><td>[[Datei:TC12-11B.png|rahmenlos|alternativtext=|100x100px]]</td><td></td><td>[[Datei:TC12-11C1.png|rahmenlos|alternativtext=|116x116px]]<br/>
[[Datei:TC12-11C2.png|rahmenlos|alternativtext=|116x116px]]
[[Datei:TC12-11C2.png|rahmenlos|alternativtext=|116x116px]]
</td></tr>
</td></tr>
</table>
</table>
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Header
{{MyCodeBlock|title=Header
|text=Text
|text=Wir lösen die Feld-Differentialgleichung exakt und passen die Integrationskonstanten an die Rand- und Übergangsbedingungen an.
|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: 2018-02-08                            */
/* ref: TM-C, Labor 1                                 */
/* description: analytic solution for EBB with        */
/*              two sections                          */
/*******************************************************/
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Declarations
|text=Text
|text=Wir definieren zunächst die bekannten Parameter zu
 
::<math>\begin{array}{ll}{{\mathit{E I}}_{2}}&=2\cdot {{\mathit{E I}}_{1}}\\{{\ell}_{2}}&\displaystyle =\frac{{{\ell}_{1}}}{2}\\ r&=\displaystyle \frac{{{\ell}_{1}}}{4}\\ {{M}_{B}}&={{q}_{0}}\cdot {{\ell}_{1}^{2}}\\{{k}_{B}}&\displaystyle =\frac{3\cdot {{\mathit{E I}}_{1}}}{{{\ell}_{1}^{3}}}\\w_{max}&=90 \text{mm}\end{array}</math>.
Weitere brauchen nicht.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* parameter */
params : [EI[2]= 2*EI[1],
          l[2] = l[1]/2,
          r=l[1]/4,
          M[B] = q[0]*l[1]^2,
          k[B] = 3*EI[1]/l[1]^3];
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Generic Solutions for Euler-Bernoulli-Beam
{{MyCodeBlock|title=Generic Solutions for Euler-Bernoulli-Beam
|text=Text
|text=
In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung
 
::<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\} \text{ mit } q(x_i) = q_0\cdot\phi_0(\xi) + q_1\cdot\phi_1(\xi)</math>,
 
die wir durch Integration lösen und dann bereichsweise anpassen.
 
So gilt für Bereich II: ''q<sub>0</sub> = 0''.
 
Die allgemeine Lösung ist mit
 
... für Bereich I:
 
::<math>\begin{array}{l} {{w}_{1}}\left( x\right) := \frac{24\cdot {{C}_{1,0}}+24\cdot {{C}_{1,1}}\cdot x+12\cdot {{C}_{1,2}}\cdot {{x}^{2}}+4\cdot {{C}_{1,3}}\cdot {{x}^{3}}+{{q}_{0}}\cdot {{x}^{4}}}{24\cdot {{\mathit{EI}}_{1}}}  \\ {{\phi}_{1}}\left( x\right) := \frac{24\cdot {{C}_{1,1}}+24\cdot {{C}_{1,2}}\cdot x+12\cdot {{C}_{1,3}}\cdot {{x}^{2}}+4\cdot {{q}_{0}}\cdot {{x}^{3}}}{24\cdot {{\mathit{EI}}_{1}}}\\ {{M}_{1}}\left( x\right) :=-\frac{24\cdot {{C}_{1,2}}+24\cdot {{C}_{1,3}}\cdot x+12\cdot {{q}_{0}}\cdot {{x}^{2}}}{24}\\ {{Q}_{1}}\left( x\right) := -\frac{24\cdot {{C}_{1,3}}+24\cdot {{q}_{0}}\cdot x}{24}\end{array}</math>
 
... für Bereich II:
 
::<math>\begin{array}{l} {{w}_{2}}\left( x\right) :=\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,0}}+120\cdot {{l}_{2}}\cdot {{C}_{2,1}}\cdot x+60\cdot {{l}_{2}}\cdot {{C}_{2,2}}\cdot {{x}^{2}}+20\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot {{x}^{3}}}{120\cdot {{l}_{2}}\cdot {{\mathit{EI}}_{2}}}\\ {{\phi}_{2}}\left( x\right) :=\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,1}}+120\cdot {{l}_{2}}\cdot {{C}_{2,2}}\cdot x+60\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot {{x}^{2}}}{120\cdot {{l}_{2}}\cdot {{\mathit{EI}}_{2}}}\\ {{M}_{2}}\left( x\right) :=-\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,2}}+120\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot x}{120\cdot {{l}_{2}}}\\ {{Q}_{2}}\left( x\right) :=-{{C}_{2,3}} \end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solve partial differential equation ....*/
dgl : EI[i]*diff(w(x),x,4) = q[0];
 
/* generic solution */
displ : solve(integrate(integrate(integrate(integrate(dgl,x),x),x),x),w(x));
sections: [[i=1, %c4=C[1,0], %c3=C[1,1], %c2=C[1,2], %c1=C[1,3]          ],
          [i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0  ]];
 
/* section I */
define(  w[1](x),  subst(sections[1],subst(displ,w(x))));
define(Phi[1](x),  diff(w[1](x),x  ));
define(  M[1](x), -EI[1]*diff(w[1](x),x,2));
define(  Q[1](x), -EI[1]*diff(w[1](x),x,3));
 
/* section II */
define(  w[2](x),  subst(sections[2],subst(displ,w(x))));
define(Phi[2](x),  diff(w[2](x),x  ));
define(  M[2](x), -EI[2]*diff(w[2](x),x,2));
define(  Q[2](x), -EI[2]*diff(w[2](x),x,3));
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Boundary Conditions
{{MyCodeBlock|title=Boundary Conditions
|text=Text
|text=Für die 2*4 = 8 Integrationskonstanten
 
::<math>\left[ C_{1,0},C_{1,1},C_{1,2},C_{1,3},C_{2,0},C_{2,1},C_{2,2},C_{2,3}\right]</math>
 
suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen.
 
Zur besseren Übersicht nennen wir die Schnitt-Momente und -Kräfte nach den jeweiligen Knotenpunkten ''A, B, C'' und fügen als Index ein + / - hinzu, um die Seite (+: rechts vom Knoten, -: links vom Knoten) zu kennzeichnen, wenn diese unterschiedlich sind.
 
====Aus Rand "A"====
<table class="wikitable" style="background-color:white;">
<tr><td>[[Datei:TC12-11A.png|rahmenlos|alternativtext=|90x90px]]
</td><td>''Geometrische Randbedingungen''
# <math>w_1(0)=0</math>
 
''Kraft- und Momenten-Randbedingungen''
 
#<math>M_{A} = 0 \text{ mit } M_{A} = - EI_1\cdot w''(x)|_{x=0}</math>
</td></tr>
</table>
 
====Aus Übergang "B"====
<table class="wikitable" style="background-color:white;">
<tr><td>[[Datei:TC12-11B.png|rahmenlos|alternativtext=|120x120px]]
</td><td>''Geometrische Randbedingungen''
# <math>w_1(\ell_1)=w_2(\ell_1)</math>
# <math>\phi_1(\ell_1) = \phi_2(\ell_1)</math>
 
''Kraft- und Momenten-Randbedingungen''
 
#<math>-M_{B,-} - M_{B0} + M_{B,+} = 0</math>
#<math>-Q_{B,-}-k_B\cdot w_B + -Q_{B,+} = 0</math>
</td></tr>
</table>
 
====Aus Rand "C"====
<table class="wikitable" style="background-color:white;">
<tr><td>[[Datei:TC12-11C2.png|rahmenlos|alternativtext=|150px]]<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[[Datei:TC12-11C1.png|rahmenlos|alternativtext=|130px]]
</td><td>''Geometrische Randbedingungen''
#<math>w_C = r\cdot\Phi_C \text{ mit } \Phi_C = - \phi_2(l_2)</math>
 
''Kraft- und Momenten-Randbedingungen''
 
#<math>r\cdot Q_{C} + M_C = 0</math>
</td></tr>
</table>
 
Einsetzen liefert 8 Gleichungen
 
::<math>\begin{array}{rl} \displaystyle \frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}&=0\\ \displaystyle  -{{C}_{1,2}}&=0\\ \displaystyle  \frac{{{l}_{1}^{3}}\cdot {{C}_{1,3}}}{6\cdot {{\mathit{EI}}_{1}}}+\frac{{{l}_{1}^{2}}\cdot {{C}_{1,2}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{l}_{1}}\cdot {{C}_{1,1}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}+\frac{{{q}_{0}}\cdot {{l}_{1}^{4}}}{24\cdot {{\mathit{EI}}_{1}}}&=\frac{{{C}_{2,0}}}{{{\mathit{EI}}_{2}}}\\ \displaystyle  \frac{{{l}_{1}^{2}}\cdot {{C}_{1,3}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{l}_{1}}\cdot {{C}_{1,2}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,1}}}{{{\mathit{EI}}_{1}}}+\frac{{{q}_{0}}\cdot {{l}_{1}^{3}}}{6\cdot {{\mathit{EI}}_{1}}}&=\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}\\ \displaystyle  -\frac{{{C}_{2,0}}\cdot {{k}_{B}}}{{{\mathit{EI}}_{2}}}-{{C}_{2,3}}+{{C}_{1,3}}+{{q}_{0}}\cdot {{l}_{1}}&=0\\ \displaystyle  -{{C}_{2,2}}+{{l}_{1}}\cdot {{C}_{1,3}}+{{C}_{1,2}}+\frac{{{q}_{0}}\cdot {{l}_{1}^{2}}}{2}&={{M}_{B}}\\ \displaystyle  -\frac{{{l}_{2}^{2}}\cdot {{C}_{2,3}}\cdot r}{2\cdot {{\mathit{EI}}_{2}}}-\frac{{{l}_{2}}\cdot {{C}_{2,2}}\cdot r}{{{\mathit{EI}}_{2}}}-\frac{{{C}_{2,1}}\cdot r}{{{\mathit{EI}}_{2}}}&=\displaystyle\frac{{{l}_{2}^{3}}\cdot {{C}_{2,3}}}{6\cdot {{\mathit{EI}}_{2}}}+\frac{{{l}_{2}^{2}}\cdot {{C}_{2,2}}}{2\cdot {{\mathit{EI}}_{2}}}+\frac{{{l}_{2}}\cdot {{C}_{2,1}}}{{{\mathit{EI}}_{2}}}+\frac{{{C}_{2,0}}}{{{\mathit{EI}}_{2}}}\\ \displaystyle  -{{C}_{2,3}}\cdot r-{{l}_{2}}\cdot {{C}_{2,3}}-{{C}_{2,2}}&=0 \end{array}
</math>
 
für die Integrationskonstanten.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* boundary conditions */
node[A]: [ w[1](0) = 0,
          M[1](0) = 0];
node[B]: [ w[1](l[1]) = w[2](0),
          Phi[1](l[1]) = Phi[2](0),
          -Q[1](l[1]) -k[B]*w[2](0) +Q[2](0) = 0,
          -M[1](l[1])              +M[2](0) = M[B]];
node[C]: [-Phi[2](l[2])*r = w[2](l[2]),
          r*Q[2](l[2]) + M[2](l[2]) = 0];
BCs : expand(append(node[A],node[B],node[C]));       
ICs : [C[1,0],C[1,1],C[1,2],C[1,3],C[2,0],C[2,1],C[2,2],C[2,3]];   
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Prepare for Solver
{{MyCodeBlock|title=Prepare for Solver
|text=Text
|text=
Das Gleichungssystem wollen wir als
 
::<math>\underline{\underline{A}}\cdot\underline{x}= \underline{b}</math>
 
schreiben, also
 
::<math>\begin{pmatrix}\frac{1}{{{\mathit{EI}}_{1}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0\\ \frac{1}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}}}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{2}}}{2\cdot {{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{3}}}{6\cdot {{\mathit{EI}}_{1}}} & -\frac{1}{{{\mathit{EI}}_{2}}} & 0 & 0 & 0\\ 0 & \frac{1}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}}}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{2}}}{2\cdot {{\mathit{EI}}_{1}}} & 0 & -\frac{1}{{{\mathit{EI}}_{2}}} & 0 & 0\\ 0 & 0 & 0 & 1 & -\frac{{{k}_{B}}}{{{\mathit{EI}}_{2}}} & 0 & 0 & -1\\ 0 & 0 & 1 & {{\ell}_{1}} & 0 & 0 & -1 & 0\\ 0 & 0 & 0 & 0 & -\frac{1}{{{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}}+r}{{{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}^{2}}+2\cdot {{\ell}_{2}}\cdot r}{2\cdot {{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}^{3}}+3\cdot {{\ell}_{2}^{2}}\cdot r}{6\cdot {{\mathit{EI}}_{2}}}\\ 0 & 0 & 0 & 0 & 0 & 0 & -1 & -r-{{\ell}_{2}}\end{pmatrix}\cdot\begin{pmatrix}{{C}_{1,0}}\\ {{C}_{1,1}}\\ {{C}_{1,2}}\\ {{C}_{1,3}}\\ {{C}_{2,0}}\\ {{C}_{2,1}}\\ {{C}_{2,2}}\\ {{C}_{2,3}}\end{pmatrix}=\begin{pmatrix}0\\ 0\\ -\frac{{{q}_{0}}\cdot {{\ell}_{1}^{4}}}{24\cdot {{\mathit{EI}}_{1}}}\\ -\frac{{{q}_{0}}\cdot {{\ell}_{1}^{3}}}{6\cdot {{\mathit{EI}}_{1}}}\\ -{{q}_{0}}\cdot {{\ell}_{1}}\\ {{M}_{B}}-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{2}}}{2}\\ 0\\ 0\end{pmatrix}</math>.
 
Die Matrix-Elemente sind für die Koeffizientenmatrix
 
::<math>\begin{array}{l} a_{1,1} = 1/EI_{1}\\ a_{2,3} = -1\\ a_{3,1} = 1/EI_{1}\\ a_{3,2} = \ell_{1}/EI_{1}\\ a_{3,3} = \ell_{1}^2/(2\cdot EI_{1})\\ a_{3,4} = \ell_{1}^3/(6\cdot EI_{1})\\ a_{3,5} = -1/EI_{2}\\ a_{4,2} = 1/EI_{1}\\ a_{4,3} = \ell_{1}/EI_{1}\\ a_{4,4} = \ell_{1}^2/(2\cdot EI_{1})\\ a_{4,6} = -1/EI_{2}\\ a_{5,4} = 1\\ a_{5,5} = -k_B/EI_{2}\\ a_{5,8} = -1\\ a_{6,3} = 1\\ a_{6,4} = \ell_{1}\\ a_{6,7} = -1\\ a_{7,5} = -1/EI_{2}\\ a_{7,6} = -(r+\ell_{2})/EI_{2}\\ a_{7,7} = -(2\cdot \ell_{2}\cdot r+\ell_{2}^2)/(2\cdot EI_{2})\\ a_{7,8} = -(3\cdot \ell_{2}^2\cdot r+\ell_{2}^3)/(6\cdot EI_{2})\\ a_{8,7} = -1\\ a_{8,8} = -r-\ell_{2}\\ \end{array}</math>
 
und für die rechte Seite
 
::<math>\begin{array}{l} b_{1} = 0\\ b_{2} = 0\\ b_{3} = -(q_0\cdot\ell_{1}^4)/(24\cdot EI_{1})\\ b_{4} = -(q_0\cdot\ell_{1}^3)/(6\cdot EI_{1})\\ b_{5} = -q_0\cdot\ell_{1}\\ b_{6} = M_B-(q_0\cdot\ell_{1}^2)/2\\ b_{7} = 0\\ b_{8} = 0 \end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* rewrite equations for integration constants IC in matrix form */
ACM: augcoefmatrix(BCs,ICs);
AA :  submatrix(ACM,9);
bb : - col(ACM,9);
/* display ... */
print(AA,"*",transpose(ICs),"=",bb)$
 
/* print coefficients of inhomogenous linear equations */
for i: 1 thru 8 do
  print(simplode(["b[",i,"] = ", string(bb[i][1])]))$
for i: 1 thru 8 do
  for j: 1 thru 8 do
      if not AA[i][j] = 0 then
          print(simplode(["A[",i,",",j,"] = ", string(AA[i][j])]))$
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Solving
{{MyCodeBlock|title=Solving
|text=Text
|text=
Das Lösen des Gleichungssystems liefert
 
::<math>\begin{array}{ll} \displaystyle {{C}_{1,0}}&\displaystyle =0\\ \displaystyle {{C}_{1,1}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{3}}}{56}\\ \displaystyle {{C}_{1,2}}&\displaystyle =0\\ \displaystyle {{C}_{1,3}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}}}{7}\\ \displaystyle {{C}_{2,0}}&\displaystyle =0\\ \displaystyle {{C}_{2,1}}&\displaystyle =\frac{13\cdot {{q}_{0}}\cdot {{\ell}_{1}^{3}}}{84}\\ \displaystyle {{C}_{2,2}}&\displaystyle =-\frac{9\cdot {{q}_{0}}\cdot {{\ell}_{1}^{2}}}{14}\\ \displaystyle {{C}_{2,3}}&\displaystyle =\frac{6\cdot {{q}_{0}}\cdot {{\ell}_{1}}}{7} \end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solving */
D : ratsimp(determinant(AA))$
[ P, L, U] : ratsimp(get_lu_factors(lu_factor(AA)))$
cc : ratsimp(linsolve_by_lu(AA,bb)[1])$
sol : makelist(ICs[i] = cc[i][1],i,1,8)$
</syntaxhighlight>
</syntaxhighlight>
}}
}}
==tmp==


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Post-Processing
{{MyCodeBlock|title=Post-Processing
|text=Text
|text=
Zum Auftragen der Ergebnisse nutzen wir die  Standard-Lösungen - Lastfall 3 mit der maximalen Auslenkung
 
::<math>W^* = \displaystyle \frac{5\;\ell_1^4\cdot q_0}{384 \; EI_1}</math>
 
und dem Winkel
 
::<math>\displaystyle \Phi^* = \frac{q_0\;\ell_1^3}{24\;EI_1}</math>
 
Die Ergebnisse sind dann ...
 
==== ... für w(x): ====
[[Datei:TC12-21.png|mini|Biegelinie ''w(x)''|alternativtext=|ohne]]
 
==== ... für ''Φ(x)'': ====
[[Datei:TC12-22.png|mini|Kippung ''w'(x)''|alternativtext=|ohne]]
 
==== ... für M(x): ====
[[Datei:TC12-23.png|mini|Biegemoment M(x)|alternativtext=|ohne]]
 
==== ... für Q(x): ====
[[Datei:TC12-24.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]]
 
==== ... für die Lager-Reaktionskräfte ====
::<math>\begin{array}{l}\displaystyle {{A}_{z}}=\frac{{{q}_{0}}\cdot {{\ell}_{1}}}{7}\\ \displaystyle {{F}_{B}}=0\\ \displaystyle {{Q}_{C}}=-\frac{6\cdot {{q}_{0}}\cdot {{\ell}_{1}}}{7}\\ \displaystyle {{M}_{C}}=\frac{3\cdot {{q}_{0}}\cdot {{l}_{1}^{2}}}{14}\end{array}</math>.
 
Die Querschnitts-Parameter für Sektion 1 erhalten wir aus
 
::<math>W^* \stackrel{!}{=} 10\text{mm}</math>.
 
Die maximale Auslenkung kommt für Sektion I aus der Bedingung
 
::<math>\Phi_I(x_I^*) \stackrel{!}{=} 0</math> zu <math>x_I^*\simeq 0.67\cdot\ell_1</math>.
 
Hier ist
 
::<math>\displaystyle W^* \simeq \frac{0.01073\cdot {{q}_{0}}\cdot {{\ell}_{1}^{4}}}{{{\mathit{E\;I_{1}}}}}</math>
 
und damit ist das erforderliche Flächenmoment
 
::<math>\displaystyle {{I}_{1}^*} \simeq 53646\text{ mm}^4</math> und damit <math>h^* \simeq 28\text{mm}.</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* plot displacements */
fcts : [[ w [1](x), w [2](x-l[1])],
        [Phi[1](x),Phi[2](x-l[1])],
        [ M [1](x), M [2](x-l[1])],
        [ Q [1](x), Q [2](x-l[1])]];
fcts : subst(params,subst(sol,fcts));
facts: [384*EI[1]/(5*l[1]^4*q[0]),24*EI[1]/(l[1]^3*q[0]),1/(l[1]^2*q[0]),1/(l[1]^1*q[0])];
 
textlabels : [" w(x)/W*) →", "w'(x)/Φ* →", "M(x)/M[B] →", "Q(x)/(q[0] l[1]) →"];
for i: 1 thru 4 do(
  f : expand(subst(params,subst(xi*l[1],x,facts[i]*[subst(sol, fcts[i][1]),
                                                    subst(sol, fcts[i][2])]))),
  f1 : f[1],  f2 : f[2],
  toplot : [if xi<=1 then f1 else 0,
            if xi < 1 then 0 else f2],
  yRange : if i<=2 then "set yrange [] reverse" else "set yrange []",
  plot2d(toplot,[xi,0,1+subst(params,l[2]/l[1])], [legend, "sec. I", "sec. II"],
                            [gnuplot_preamble, yRange],
                            [xlabel, "x/l[1] ->"],
                            [ylabel, textlabels[i]]))$
 
/* bearing forces and moments */
reactForces: [A[z] = Q[1](0),
              F[B] = k[B]*w[2](0),
              Q[C] = Q[2](l[2]),
              M[C] = M[2](l[2])];
 
print(ratsimp(expand(subst(params,subst(sol, reactForces)))));
 
/****************************************/
/* required cross sectional properties: */
max: ratsimp(solve(subst(params,subst(sol,Phi[1](x)))=0,x)[3]);
W : float(ratsimp(subst(params,subst(sol,subst(max,w[1](x))))));
post: solve(subst([EI[1] = E*I[1], E=2*10^11*N/(1000*mm)^2, l[1]=1000*mm, q[0]=10*N/mm],-W=90*mm),I[1]);
solve(subst(post,h*h^3/12 = I[1]),h)[4];
</syntaxhighlight>
</syntaxhighlight>
}}
}}
<table class="wikitable" style="background-color:white; float: left; margin-right:14px;
">
<tr><th></th><th></th></tr>
<tr><td></td><td></td></tr>
</table>


<hr />
<hr />
Zeile 127: Zeile 330:
'''Literature'''
'''Literature'''
* ...
* ...
[[Datei:TC12-11A.png|rahmenlos]][[Datei:TC12-11AB.png|rahmenlos]][[Datei:TC12-11B.png|rahmenlos]][[Datei:TC12-11C1.png|rahmenlos]][[Datei:TC12-11C2.png|rahmenlos]][[Datei:TC12-11BC.png|rahmenlos]]
[[Datei:TC12-21.png|mini|Biegelinie ''w(x)'']]
[[Datei:TC12-23.png|mini|Biegemoment ''M(x)'']]
[[Datei:TC12-24.png|mini|Querkraft ''Q(x)'']]
[[Datei:TC12-01.png|mini|Lageplan]]
[[Datei:TC12-22.png|mini|Kippung ''w'(x)'']]

Aktuelle Version vom 26. April 2021, 06:53 Uhr


Aufgabenstellung

Ein Stab ABC (E-Modul: E) besteht aus zwei Sektionen mit den Längen 1 bzw. 2 sowie den Flächenmomenten I1 bzw. I2. Die Sektionen haben jeweils einen quadratischen Querschnitt, 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.

Interessant ist die kinematische Randbedingung aus der Rolle.


Lageplan

Gesucht ist die Analytische Lösung für den Euler-Bernoulli-Balken und die Verläufe der Schnittgrößen.

Parameter

Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:

Erstellen Sie dazu ein Programm, mit einem Euler-Bernoulli-Modell für die Berechnung der analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken. Bestimmen Sie Querschnitts-Abmessungen der Sektionen so, dass die maximale Auslenkung des Systems 10 mm beträgt.

Lösung mit Maxima

Die Aufgabe ist ein klassisches Randwertproblem:

  1. zwei Gebiete, in denen ein Euler-Bernoulli-Balken in AB und BC durch eine Streckenlast q belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung
    berschrieben wird.
  2. Rand- und Übergangsbedingungen in den Punkten A, B, C

Wir verwenden xi und ξi als Koordinaten je Bereich, in der Übersicht sieht das Randwertproblem so aus:

Rand
A
Bereich IÜbergang
B
Bereich IIRand
C

Header

Wir lösen die Feld-Differentialgleichung exakt und passen die Integrationskonstanten an die Rand- und Übergangsbedingungen an.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2018-02-08                            */
/* ref: TM-C, Labor 1                                  */
/* description: analytic solution for EBB with         */
/*              two sections                           */
/*******************************************************/




Declarations

Wir definieren zunächst die bekannten Parameter zu

.

Weitere brauchen nicht.


/* parameter */
params : [EI[2]= 2*EI[1],
          l[2] = l[1]/2,
          r=l[1]/4,
          M[B] = q[0]*l[1]^2,
          k[B] = 3*EI[1]/l[1]^3];




Generic Solutions for Euler-Bernoulli-Beam

In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung

,

die wir durch Integration lösen und dann bereichsweise anpassen.

So gilt für Bereich II: q0 = 0.

Die allgemeine Lösung ist mit

... für Bereich I:

... für Bereich II:

.

/* solve partial differential equation ....*/
dgl : EI[i]*diff(w(x),x,4) = q[0];

/* generic solution */
displ : solve(integrate(integrate(integrate(integrate(dgl,x),x),x),x),w(x));
sections: [[i=1, %c4=C[1,0], %c3=C[1,1], %c2=C[1,2], %c1=C[1,3]           ],
           [i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0  ]];

/* section I */
define(  w[1](x),  subst(sections[1],subst(displ,w(x))));
define(Phi[1](x),  diff(w[1](x),x  ));
define(  M[1](x), -EI[1]*diff(w[1](x),x,2));
define(  Q[1](x), -EI[1]*diff(w[1](x),x,3));

/* section II */
define(  w[2](x),  subst(sections[2],subst(displ,w(x))));
define(Phi[2](x),  diff(w[2](x),x  ));
define(  M[2](x), -EI[2]*diff(w[2](x),x,2));
define(  Q[2](x), -EI[2]*diff(w[2](x),x,3));




Boundary Conditions

Für die 2*4 = 8 Integrationskonstanten

suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen.

Zur besseren Übersicht nennen wir die Schnitt-Momente und -Kräfte nach den jeweiligen Knotenpunkten A, B, C und fügen als Index ein + / - hinzu, um die Seite (+: rechts vom Knoten, -: links vom Knoten) zu kennzeichnen, wenn diese unterschiedlich sind.

Aus Rand "A"

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Aus Übergang "B"

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Aus Rand "C"


    

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Einsetzen liefert 8 Gleichungen

für die Integrationskonstanten.


/* boundary conditions */
node[A]: [ w[1](0) = 0,
           M[1](0) = 0];
node[B]: [ w[1](l[1]) = w[2](0),
           Phi[1](l[1]) = Phi[2](0),
          -Q[1](l[1]) -k[B]*w[2](0) +Q[2](0) = 0,
          -M[1](l[1])               +M[2](0) = M[B]];
node[C]: [-Phi[2](l[2])*r = w[2](l[2]),
          r*Q[2](l[2]) +  M[2](l[2]) = 0];
BCs : expand(append(node[A],node[B],node[C]));         
ICs : [C[1,0],C[1,1],C[1,2],C[1,3],C[2,0],C[2,1],C[2,2],C[2,3]];




Prepare for Solver

Das Gleichungssystem wollen wir als

schreiben, also

.

Die Matrix-Elemente sind für die Koeffizientenmatrix

und für die rechte Seite

.

/* rewrite equations for integration constants IC in matrix form */
ACM: augcoefmatrix(BCs,ICs);
AA :   submatrix(ACM,9);
bb : - col(ACM,9);
/* display ... */
print(AA,"*",transpose(ICs),"=",bb)$

/* print coefficients of inhomogenous linear equations */
for i: 1 thru 8 do
   print(simplode(["b[",i,"] = ", string(bb[i][1])]))$
for i: 1 thru 8 do
   for j: 1 thru 8 do
      if not AA[i][j] = 0 then
          print(simplode(["A[",i,",",j,"] = ", string(AA[i][j])]))$




Solving

Das Lösen des Gleichungssystems liefert

.

/* solving */
D : ratsimp(determinant(AA))$
[ P, L, U] : ratsimp(get_lu_factors(lu_factor(AA)))$
cc : ratsimp(linsolve_by_lu(AA,bb)[1])$
sol : makelist(ICs[i] = cc[i][1],i,1,8)$




Post-Processing

Zum Auftragen der Ergebnisse nutzen wir die  Standard-Lösungen - Lastfall 3 mit der maximalen Auslenkung

und dem Winkel

Die Ergebnisse sind dann ...

... für w(x):

Biegelinie w(x)

... für Φ(x):

Kippung w'(x)

... für M(x):

Biegemoment M(x)

... für Q(x):

Querkraft Q(x)

... für die Lager-Reaktionskräfte

.

Die Querschnitts-Parameter für Sektion 1 erhalten wir aus

.

Die maximale Auslenkung kommt für Sektion I aus der Bedingung

zu .

Hier ist

und damit ist das erforderliche Flächenmoment

und damit .

/* plot displacements */
fcts : [[ w [1](x), w [2](x-l[1])],
        [Phi[1](x),Phi[2](x-l[1])],
        [ M [1](x), M [2](x-l[1])],
        [ Q [1](x), Q [2](x-l[1])]];
fcts : subst(params,subst(sol,fcts));
facts: [384*EI[1]/(5*l[1]^4*q[0]),24*EI[1]/(l[1]^3*q[0]),1/(l[1]^2*q[0]),1/(l[1]^1*q[0])];

textlabels : [" w(x)/W*) →", "w'(x)/Φ* →", "M(x)/M[B] →", "Q(x)/(q[0] l[1]) →"];
for i: 1 thru 4 do(
  f : expand(subst(params,subst(xi*l[1],x,facts[i]*[subst(sol, fcts[i][1]),
                                                    subst(sol, fcts[i][2])]))),
  f1 : f[1],  f2 : f[2],
  toplot : [if xi<=1 then f1 else 0,
            if xi < 1 then 0 else f2],
  yRange : if i<=2 then "set yrange [] reverse" else "set yrange []",
  plot2d(toplot,[xi,0,1+subst(params,l[2]/l[1])], [legend, "sec. I", "sec. II"],
                             [gnuplot_preamble, yRange],
                             [xlabel, "x/l[1] ->"],
                             [ylabel, textlabels[i]]))$

/* bearing forces and moments */
reactForces: [A[z] = Q[1](0),
              F[B] = k[B]*w[2](0),
              Q[C] = Q[2](l[2]),
              M[C] = M[2](l[2])];

print(ratsimp(expand(subst(params,subst(sol, reactForces)))));

/****************************************/
/* required cross sectional properties: */
max: ratsimp(solve(subst(params,subst(sol,Phi[1](x)))=0,x)[3]);
W : float(ratsimp(subst(params,subst(sol,subst(max,w[1](x))))));
 
post: solve(subst([EI[1] = E*I[1], E=2*10^11*N/(1000*mm)^2, l[1]=1000*mm, q[0]=10*N/mm],-W=90*mm),I[1]);
solve(subst(post,h*h^3/12 = I[1]),h)[4];





Links

  • ...

Literature

  • ...