Gelöste Aufgaben/TC12: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
==Aufgabenstellung== | ==Aufgabenstellung== | ||
Ein Stab ''ABC'' (E-Modul: ''E'') besteht aus zwei Sektionen mit den Längen ''ℓ<sub>1</sub>'' bzw. ''ℓ<sub>2</sub>'' sowie den Flächenmomenten ''I<sub>1</sub>'' bzw. ''I<sub>2</sub>''. Die Sektionen haben jeweils einen quadratischen Querschnitt, Sektion ''AB'' ist durch eine konstante Streckenlast ''q<sub>0</sub>'' belastet, in ''B'' wirkt das Moment ''M<sub>B0</sub>''. 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 ''<sub> </sub>k<sub>B</sub>''. | |||
Interessant ist die kinematische Randbedingung aus der Rolle. | |||
<onlyinclude> | <onlyinclude> | ||
[[Datei:TC12-01.png|300px|left|mini|Lageplan]] | [[Datei:TC12-01.png|300px|left|mini|Lageplan]] | ||
Gesucht ist | Gesucht ist die Analytische Lösung für den [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]] und die Verläufe der Schnittgrößen. | ||
</onlyinclude> | </onlyinclude>[[Datei:TC12-02.png|mini|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 == | == Lösung mit Maxima == | ||
Die Aufgabe ist ein klassisches Randwertproblem: | |||
== | <ol> | ||
<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/> | |||
<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: | |||
<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><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|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]] | |||
</td></tr> | |||
</table> | |||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Header | {{MyCodeBlock|title=Header | ||
|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 | /*******************************************************/ | ||
/* 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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | {{MyCodeBlock|title=Declarations | ||
|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 | /* 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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Generic Solutions for Euler-Bernoulli-Beam | {{MyCodeBlock|title=Generic Solutions for Euler-Bernoulli-Beam | ||
|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 | /* 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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Boundary Conditions | {{MyCodeBlock|title=Boundary Conditions | ||
|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/> | |||
[[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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Prepare for Solver | {{MyCodeBlock|title=Prepare for Solver | ||
|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 | /* 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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | {{MyCodeBlock|title=Solving | ||
|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 | /* 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> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | {{MyCodeBlock|title=Post-Processing | ||
|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> | ||
}} | }} | ||
<hr /> | |||
<hr/> | |||
'''Links''' | '''Links''' | ||
* ... | * ... | ||
Zeile 107: | Zeile 330: | ||
'''Literature''' | '''Literature''' | ||
* ... | * ... | ||
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.
Gesucht ist die Analytische Lösung für den Euler-Bernoulli-Balken und die Verläufe der Schnittgrößen.
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:
- 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. - 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 II | Rand 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):
... für Φ(x):
... für M(x):
... für 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
- ...