Gelöste Aufgaben/Kig1: Unterschied zwischen den Versionen
(→tmp) |
Keine Bearbeitungszusammenfassung |
||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 13: | Zeile 13: | ||
<onlyinclude> | <onlyinclude> | ||
[[Datei:Kig1-01.png| | [[Datei:Kig1-01.png|250x250px|left|mini|Lageplan|alternativtext=]] | ||
Damit der Schalter zuverlässig funktioniert soll die Kraft ''F'' an der Führung so gewählt werden, dass die vorgegebene Kontaktkraft ''K'' eingestellt wird.Gesucht ist die analytische Lösung für ein Euler-Bernoulli-Modell der elastischen Struktur. | Damit der Schalter zuverlässig funktioniert soll die Kraft ''F'' an der Führung so gewählt werden, dass die vorgegebene Kontaktkraft ''K'' eingestellt wird. | ||
Gesucht ist die analytische Lösung für ein Euler-Bernoulli-Modell der elastischen Struktur. | |||
</onlyinclude> | </onlyinclude> | ||
Wir lösen dazu das Gleichungssystem zur Bestimmung der Integrationskonstanten der Differentialgleichung des Euler-Bernoulli-Balkens und weiterer Unbekannten und geben die grafischen Lösungen für ''w, w', M'' und ''Q'' an. | Wir lösen dazu das Gleichungssystem zur Bestimmung der Integrationskonstanten der Differentialgleichung des Euler-Bernoulli-Balkens und weiterer Unbekannten und geben die grafischen Lösungen für ''w, w', M'' und ''Q'' an. | ||
Zeile 28: | Zeile 29: | ||
Aus dem Bild sehen wir | Aus dem Bild sehen wir | ||
<math>\begin{array}{ccl} | ::<math>\begin{array}{ccl} | ||
w_1(a) = w_B\\ | w_1(a) = w_B\\ | ||
w_2(\ell-a) = w_C = d\\ | w_2(\ell-a) = w_C = d\\ | ||
Zeile 35: | Zeile 36: | ||
und wir arbeiten im folgenden mit | und wir arbeiten im folgenden mit | ||
<math>\begin{array}{ccl} | ::<math>\begin{array}{ccl} | ||
\alpha&=&a/\ell\\ | \alpha&=&a/\ell\\ | ||
\beta &=& 1-\alpha | \beta &=& 1-\alpha | ||
Zeile 66: | Zeile 67: | ||
Zusätzlich zum "klassischen" Randwertproblem haben wir hier Zwangsbedingung durch die starren Stäbe und die Kontaktkraft. | Zusätzlich zum "klassischen" Randwertproblem haben wir hier Zwangsbedingung durch die starren Stäbe und die Kontaktkraft. | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Header | {{MyCodeBlock|title=Header | ||
|text= | |text= | ||
In dieser Lösung arbeiten wir mit dimensionslosen Koordinaten für die unabhängige Koordinate ''x'' und die abhängige Koordinate ''w(x)''. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /*******************************************************/ | ||
/* MAXIMA script */ | |||
/* version: wxMaxima 18.10.1 */ | |||
/* author: Andreas Baumgart */ | |||
/* last updated: 2019-12-07 */ | |||
/* ref: TMC, Labor 1 */ | |||
/* description: analytical solution for beam with */ | |||
/* with parallel rod guidance */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | {{MyCodeBlock|title=Declarations | ||
|text= | |text= | ||
Zeile 98: | Zeile 99: | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | declare("ℓ", alphabetic); | ||
/* system parameters */ | |||
params: [k[B] = gamma*EI/ℓ^3, | |||
q[0] = m*g/ℓ, | |||
K = kappa*Q[ref], | |||
d = delta*W[ref], | |||
gamma = 5, | |||
kappa = 3, | |||
delta = 1]; | |||
geometry : [beta = 1-alpha, | |||
alpha = 1/3]; | |||
/* reference deflection selected: */ | |||
/* beam with doublesided bearing under constant line load */ | |||
dimless : [M[ref]=Q[ref]*ℓ, Q[ref]= 3*EI/ℓ^3*W[ref], | |||
F = Q[ref]*f, B[z] = Q[ref]*b, | |||
W[ref] = 5*q[0]*ℓ^4/(EI*384)]; | |||
dimless: subst(params, dimless); | |||
params : subst(dimless, params); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Integration Of Differential Equation | |||
|text= | |||
In Bereich ''I'' und ''II'' gilt dieselbe Bewegungs-Differentialgleichung | In Bereich ''I'' und ''II'' gilt dieselbe Bewegungs-Differentialgleichung | ||
<math>E\,I\, w_i^{IV}(x) = q_0 ,\;\; i=\{1,2\}</math>, | ::<math>E\,I\, w_i^{IV}(x) = q_0 ,\;\; i=\{1,2\}</math>, | ||
die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Die Bedeutung der gesuchten Auslenkung ''w'' und seiner Ableitungen sind | die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Die Bedeutung der gesuchten Auslenkung ''w'' und seiner Ableitungen sind | ||
<math>\begin{array}{ll} \ldots\text{ die Auslenkung: }&\displaystyle w_i(x) \\\ldots\text{ die Verdrehung: }&\displaystyle \phi_i(x) = \frac{d\,w_i(x)}{d\,x}\\ \ldots\text{ das Biege-Moment: }&\displaystyle M_i(x) = - E I \frac{d^2\,w_i(x)}{d\,x^2}\\ \ldots\text{ die Querkraft: }&\displaystyle Q_i(x) = - EI \frac{d^3\,w_i(x)}{d\,x^3} \end{array}</math> | ::<math>\begin{array}{ll} \ldots\text{ die Auslenkung: }&\displaystyle w_i(x) \\\ldots\text{ die Verdrehung: }&\displaystyle \phi_i(x) = \frac{d\,w_i(x)}{d\,x}\\ \ldots\text{ das Biege-Moment: }&\displaystyle M_i(x) = - E I \frac{d^2\,w_i(x)}{d\,x^2}\\ \ldots\text{ die Querkraft: }&\displaystyle Q_i(x) = - EI \frac{d^3\,w_i(x)}{d\,x^3} \end{array}</math> | ||
Einfacher wird es, wenn wir mit der dimensionslosen Koordinate | Einfacher wird es, wenn wir mit der dimensionslosen Koordinate | ||
<math>w_i(x_i) = W_{ref} \cdot \tilde{w}_i(\xi)</math>. | ::<math>w_i(x_i) = W_{ref} \cdot \tilde{w}_i(\xi)</math>. | ||
arbeiten. Dann ist | arbeiten. Dann ist | ||
<math>\begin{array}{cccl} | ::<math>\begin{array}{cccl} | ||
E\,I & w_i^{IV}(x) &=& q_0 \\ | E\,I & w_i^{IV}(x) &=& q_0 \\ | ||
E\,I & \displaystyle W_{ref} \; \frac{\partial^4}{\partial \xi^4} \tilde{w}_i (\xi) \cdot \frac{1}{\ell^4} &=& \displaystyle \frac{m\; g}{\ell}\\ | E\,I & \displaystyle W_{ref} \; \frac{\partial^4}{\partial \xi^4} \tilde{w}_i (\xi) \cdot \frac{1}{\ell^4} &=& \displaystyle \frac{m\; g}{\ell}\\ | ||
Zeile 125: | Zeile 150: | ||
Praktisch ist es nun, ''W<sub>ref</sub>'' so zu wählen, dass wir die dimensionslose Koordinate für ''w'' einfach interpretieren können. Aus der Musterlösung für den beidseitig gelenkig gelagerten Euler-Bernoulli-Balken unter konstanter Streckenlast nehmen wir | Praktisch ist es nun, ''W<sub>ref</sub>'' so zu wählen, dass wir die dimensionslose Koordinate für ''w'' einfach interpretieren können. Aus der Musterlösung für den beidseitig gelenkig gelagerten Euler-Bernoulli-Balken unter konstanter Streckenlast nehmen wir | ||
<math>W_{ref} = \displaystyle \frac{5\,q_0\;\ell^4}{384\; EI}</math> | ::<math>W_{ref} = \displaystyle \frac{5\,q_0\;\ell^4}{384\; EI}</math> | ||
und damit | und damit | ||
<math>\mu = \displaystyle \frac{384}{5}</math>. | ::<math>\mu = \displaystyle \frac{384}{5}</math>. | ||
Ein Aufintegrieren der Differentialgleichung liefert dann | Ein Aufintegrieren der Differentialgleichung liefert dann | ||
<math>w_i(x_i) = \displaystyle W_{ref}\, \left( | ::<math>w_i(x_i) = \displaystyle W_{ref}\, \left( | ||
\frac{\mu \, \xi^4}{24}+ | \frac{\mu \, \xi^4}{24}+ | ||
\frac{C_{i,3} \, \xi^3}{6}+ | \frac{C_{i,3} \, \xi^3}{6}+ | ||
\frac{C_{i,2} \, \xi^2}{2}+ | \frac{C_{i,2} \, \xi^2}{2}+ | ||
C_{i,1}\, \xi+ | C_{i,1}\, \xi+ | ||
C_{i,0} \right)</math> | C_{i,0} \right)</math> | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /******************************************************/ | ||
/* Boundary Value Problem Formulation */ | |||
/* part I: field */ | |||
dgl : EI*W[ref]*diff(w(xi),xi,4)/ℓ^4 = q[0]; | |||
dgl: solve(subst(dimless,subst(params,dgl)),'diff(w(xi),xi,4))[1]; | |||
params : append(params, [mu = rhs(dgl)]); | |||
dgl: lhs(dgl) = mu; | |||
/* generic solution */ | |||
displ : solve(integrate(integrate(integrate(integrate(dgl,xi),xi),xi),xi),w(xi)); | |||
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]]]; | |||
/* section I */ | |||
define( w[1](xi), ratsimp(subst(sections[1],W[ref]*subst(displ,w(xi))))); | |||
define(Phi[1](xi), diff(w[1](xi),xi )/ℓ ); | |||
define( M[1](xi), -EI*diff(w[1](xi),xi,2)/ℓ^2); | |||
define( Q[1](xi), -EI*diff(w[1](xi),xi,3)/ℓ^3); | |||
/* section II */ | |||
define( w[2](xi), ratsimp(subst(sections[2],subst(displ,W[ref]*w(xi))))); | |||
define(Phi[2](xi), diff(w[2](xi),xi )/ℓ ); | |||
define( M[2](xi), -EI*diff(w[2](xi),xi,2)/ℓ^2); | |||
define( Q[2](xi), -EI*diff(w[2](xi),xi,3)/ℓ^3); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | |||
= | {{MyCodeBlock|title=Boundary Conditions | ||
|text= | |||
Für die 2*4 = 8 Integrationskonstanten | 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> | ::<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> | ||
und die weiteren gesuchten Größen | und die weiteren gesuchten Größen | ||
<math>[F, B_z]</math> | ::<math>[F, B_z]</math> | ||
suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen des Systems. | suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen des Systems. | ||
Zeile 197: | Zeile 244: | ||
[[Datei:Kig1-12.png|138px|mini|Führung]]Für die starren Stäbe stellen wir die Summe aller Kräfte im senkrechten Stab auf: | [[Datei:Kig1-12.png|138px|mini|Führung]]Für die starren Stäbe stellen wir die Summe aller Kräfte im senkrechten Stab auf: | ||
<math>\displaystyle F - B_z - k\;w_B = 0</math>. | ::<math>\displaystyle F - B_z - k\;w_B = 0</math>. | ||
Ein bisschen exotisch ist, dass wir nun zehn Unbekannte haben, nämlich | Ein bisschen exotisch ist, dass wir nun zehn Unbekannte haben, nämlich | ||
<math>\underline{X} = \left(\begin{array}{c}C_{1,0}\\C_{1,1}\\C_{1,2}\\C_{1,3}\\C_{2,0}\\C_{2,1}\\C_{2,2}\\C_{2,3}\\F\\B_z \end{array}\right)</math> | ::<math>\underline{X} = \left(\begin{array}{c}C_{1,0}\\C_{1,1}\\C_{1,2}\\C_{1,3}\\C_{2,0}\\C_{2,1}\\C_{2,2}\\C_{2,3}\\F\\B_z \end{array}\right)</math> | ||
Aber mit den Randbedingungen oben steht uns ein vollständiges Gleichungssystem für diese zehn Unbekannten - die Integrationskonstanten und die Kräfte ''F, B<sub>z</sub>'' - zur Verfügung. | Aber mit den Randbedingungen oben steht uns ein vollständiges Gleichungssystem für diese zehn Unbekannten - die Integrationskonstanten und die Kräfte ''F, B<sub>z</sub>'' - zur Verfügung. | ||
Zeile 207: | Zeile 254: | ||
Auch hier arbeiten wir mit dimensionslosen Größen, hier | Auch hier arbeiten wir mit dimensionslosen Größen, hier | ||
<math>\begin{array}{lcl} | ::<math>\begin{array}{lcl} | ||
F &=& Q_{ref} \; \tilde{F}\\ | F &=& Q_{ref} \; \tilde{F}\\ | ||
B_z &=& Q_{ref} \; \tilde{B}_z\\ | B_z &=& Q_{ref} \; \tilde{B}_z\\ | ||
Zeile 214: | Zeile 261: | ||
wobei wir | wobei wir | ||
<math>\begin{array}{lcl} | ::<math>\begin{array}{lcl} | ||
Q_{ref} &=& \displaystyle \frac{3 \; EI}{\ell^3} \cdot W_{ref}\\ | Q_{ref} &=& \displaystyle \frac{3 \; EI}{\ell^3} \cdot W_{ref}\\ | ||
M_{ref} &=& Q_{ref} \; \ell | M_{ref} &=& Q_{ref} \; \ell | ||
Zeile 220: | Zeile 267: | ||
setzen. | setzen. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /******************************************************/ | ||
/* Boundary Value Problem Formulation */ | |||
/* part II: boundary conditions */ | |||
node[A]: [ w[1](0) = 0, | |||
M[1](0) = 0]; | |||
node[B]: [ w[1](alpha) = w[2](0), | |||
Phi[1](alpha) = Phi[2](0), | |||
-Q[1](alpha) + Q[2](0) + B[z] = 0, | |||
-M[1](alpha) + M[2](0) = 0]; | |||
node[C]: [ w[2](beta) = d, | |||
-Q[2](beta) - K = 0, | |||
-M[2](beta) = 0]; | |||
node[D]: [F - k[B]*w[2](0)-B[z] = 0]; | |||
BCs : append(node[A],node[B],node[C],node[D]); | |||
scale: [W[ref], -EI*W[ref]/(ℓ^2), 4*W[ref]/(24), 4*W[ref]/(24*ℓ), | |||
EI*W[ref]/(ℓ^3), EI*W[ref]/(ℓ^2), 4*W[ref]/24, EI*W[ref]/(ℓ^3), | |||
EI*W[ref]/(ℓ^2), 5*m*g/128]; | |||
BCs : makelist(expand(BCs[i]/scale[i]),i,1,length(BCs)); | |||
BCs : subst(dimless,subst(params,subst(dimless,subst(params,BCs)))); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Prepare for Solver | {{MyCodeBlock|title=Prepare for Solver | ||
|text | |text= | ||
Das Gleichungssystem wollen wir als | Das Gleichungssystem wollen wir als | ||
<math>\underline{\underline{A}}\cdot\underline{X}= \underline{b}</math> | ::<math>\underline{\underline{A}}\cdot\underline{X}= \underline{b}</math> | ||
schreiben. Um die Ergebnisse kompakt darstellen zu können, wählen wir als Parameter | schreiben. Um die Ergebnisse kompakt darstellen zu können, wählen wir als Parameter | ||
<math>\begin{array}{lcl} | ::<math>\begin{array}{lcl} | ||
k &=& \gamma\; \frac{\displaystyle E\,I}{\displaystyle \ell^3},\\ | k &=& \gamma\; \frac{\displaystyle E\,I}{\displaystyle \ell^3},\\ | ||
K &=& \kappa\,Q_{ref},\\ | K &=& \kappa\,Q_{ref},\\ | ||
Zeile 259: | Zeile 309: | ||
mit den dimensionslosen Größen | mit den dimensionslosen Größen | ||
<math>\begin{array}{lcl} | ::<math>\begin{array}{lcl} | ||
\gamma &=& 5,\\ | \gamma &=& 5,\\ | ||
\kappa &=& 3,\\ | \kappa &=& 3,\\ | ||
Zeile 265: | Zeile 315: | ||
\end{array}</math>. | \end{array}</math>. | ||
Damit erhalten wir - hier nach Einsetzen der System-Parameter: | Damit erhalten wir - hier nach Einsetzen der gegeben System-Parameter: | ||
<math>\begin{pmatrix} | ::<math>\begin{pmatrix} | ||
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | ||
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | ||
Zeile 291: | Zeile 341: | ||
{\tilde{B}_z} | {\tilde{B}_z} | ||
\end{pmatrix} = | \end{pmatrix} = | ||
\begin{pmatrix} | \begin{pmatrix} | ||
0\\ | 0\\ | ||
Zeile 304: | Zeile 352: | ||
0\\ | 0\\ | ||
1\end{pmatrix}</math>. | 1\end{pmatrix}</math>. | ||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* integration constants = unknowns */ | |||
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],f,b]; | |||
ACM: augcoefmatrix(BCs,ICs)$ | |||
/* system matrix and rhs */ | |||
AA : submatrix(ACM,10)$ | |||
bb : - col(ACM,10)$ | |||
/* print OLE */ | |||
print(subst(params,AA),"*",transpose(ICs),"=",subst(params,bb))$ | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Solving | |||
|text= | |||
Das Lösen des Gleichungssystems liefert dann | Das Lösen des Gleichungssystems liefert dann | ||
<math>\begin{array}{cl} | ::<math>\begin{array}{cl} | ||
{C_{1,0}}&=0,\\ | {C_{1,0}}&=0,\\ | ||
{C_{1,1}}&=-\frac{49 {{\alpha}^{2}}-147 \alpha+56}{10},\\ | {C_{1,1}}&=-\frac{49 {{\alpha}^{2}}-147 \alpha+56}{10},\\ | ||
Zeile 323: | Zeile 384: | ||
und für | und für | ||
<math>\alpha=\frac{1}{3}</math> | ::<math>\alpha=\frac{1}{3}</math> | ||
die dimensionslosen Werte | die dimensionslosen Werte | ||
<math>\left(\begin{array}{c} C_{1,0}\\C_{1,1}\\C_{1,2}\\C_{1,3}\\C_{2,0}\\C_{2,1}\\C_{2,2}\\C_{2,3}\\\tilde{F}\\\tilde{B}_z | ::<math>\left(\begin{array}{c} C_{1,0}\\C_{1,1}\\C_{1,2}\\C_{1,3}\\C_{2,0}\\C_{2,1}\\C_{2,2}\\C_{2,3}\\\tilde{F}\\\tilde{B}_z | ||
\end{array}\right) = \left(\begin{array}{c} | \end{array}\right) = \left(\begin{array}{c} | ||
+0\\ | +0\\ | ||
Zeile 339: | Zeile 400: | ||
-\frac{36226}{1215}\\ | -\frac{36226}{1215}\\ | ||
-\frac{147}{5}\\ | -\frac{147}{5}\\ | ||
\end{array} \right)</math>. | \end{array} \right)</math>. | ||
[[Datei:Kig1-21.png|mini|Ratio F/Q]]Die Schaltkraft ''F'' ist negativ! Die Gewichtskraft des Balkens ist für die gewählte Konstellation zu groß, um die Kontaktkraft ohne ''F'' einzustellen. Wir schauen uns an, wie die erforderliche Kraft F über α verläuft: | |||
<br clear="all"/> | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* ... solve .....*/ | ||
sol : ratsimp(solve(BCs, ICs))[1]$ | |||
/* check for required force */ | |||
part: expand(subst(geometry[1],subst(sol,f))); | |||
plot2d(part, [alpha,0,1], [y,-50,0], [xlabel, "α ->"], [ylabel, "F/Q[ref] ->"])$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | {{MyCodeBlock|title=Post-Processing | ||
|text= | |text= | ||
Die Grafen der gesuchten Funktionen tragen wir nun direkt dimensionslos auf: | |||
====... für ''w(x)'':==== | |||
[[Datei:Kig1-22.png|mini|''w(x)''|ohne]]<br clear="all"/> | |||
==== ... für ''ϕ(x)'': ==== | |||
[[Datei:Kig1-23.png|mini|''ϕ(x)''|ohne]]<br clear="all"/> | |||
==== ... für ''M(x)'': ==== | |||
[[Datei:Kig1-24.png|mini|''M(x)''|ohne]]<br clear="all"/> | |||
==== ... für ''Q(x)'': ==== | |||
[[Datei:Kig1-25.png|mini|''Q(x)''|ohne]]<br clear="all"/> | |||
====... für die Lager-Reaktionskräfte:==== | |||
::<math>\begin{array}{ll} | |||
{A_z}=&\displaystyle -\frac{17\, m\, g}{64} | |||
\end{array}</math> | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+ | /******************************************************/ | ||
/* Post - Processing */ | |||
/* part II: boundary conditions */ | |||
reactForces: [A[z] = Q[1](0)]; | |||
expand(subst(geometry,subst(params,subst(dimless,subst(params,subst(sol, subst(sol, reactForces))))))); | |||
/* plot displacements */ | |||
fcts: [[ w [1](xi), w [2](xi)], | |||
[Phi[1](xi),Phi[2](xi)], | |||
[ M [1](xi), M [2](xi)], | |||
[ Q [1](xi), Q [2](xi)]]; | |||
facts: [1/W[ref], 1/(W[ref]/ℓ), 1/M[ref], 1/Q[ref]]; | |||
textlabels : ["w(x)/W[ref]→", "w'(x)/(W[ref]/ℓ)→", "M(x)/M[ref]→", "Q(x)/Q[ref]→"]; | |||
for i: 1 thru 4 do( | |||
f : expand(subst(geometry,subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]), | |||
subst(sol, fcts[i][2])])))), | |||
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []", | |||
plot2d([[parametric, t, subst(t,xi,f[1]), [t,0,subst(geometry,alpha)]], | |||
[parametric, subst(geometry,alpha)+t, subst(t,xi,f[2]), [t,0,subst(geometry,beta)]]], | |||
[legend, "sec. I", "sec. II"], | |||
[gnuplot_preamble, preamble], | |||
[xlabel, "x/ℓ ->"], | |||
[ylabel, textlabels[i]]))$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Aktuelle Version vom 14. September 2022, 07:33 Uhr
Aufgabenstellung
Das skizzierte System ist ein elektrischer Schalter, der in C einen Stromkreis schließen soll. Es besteht aus einem durchgehenden elastischen Stab ABC (Euler-Bernoulli-Balken: Masse m, Biegesteifigkeit EI, Länge ℓ), der in A gelenkig gelagert ist, in B mit einer Führung aus drei starren, masselosen Stäben gelenkig verbunden ist und dem Kontakt in C. Die Führung ist durch eine Feder (Steifigkeit k) mit der Umgebung verbunden.
Damit der Schalter zuverlässig funktioniert soll die Kraft F an der Führung so gewählt werden, dass die vorgegebene Kontaktkraft K eingestellt wird. Gesucht ist die analytische Lösung für ein Euler-Bernoulli-Modell der elastischen Struktur.
Wir lösen dazu das Gleichungssystem zur Bestimmung der Integrationskonstanten der Differentialgleichung des Euler-Bernoulli-Balkens und weiterer Unbekannten und geben die grafischen Lösungen für w, w', M und Q an.
Gegeben: K, ℓ, EI, m, g, k
Lösung mit Maxima
Das System besteht aus den drei starren Stäben und dem elastischen Balken.
Die Verschiebungen und Verbiegungen der Stäbe verstehen wir am besten, wenn wir uns das System einmal im ausgelenkten Zustand ansehen. Gleichgewichtsbedingungen für die Führung erhalten wir aus einfachen Kräfte- und Momentenbilanzen, die Gleichgewichtsbedingungen für den Euler-Bernoulli-Balken ist die Feld-Differentialgleichung, deren Integrationskonstanten wir an die Rand- und Übergangsbedingungen anpassen.
Aus dem Bild sehen wir
- ,
und wir arbeiten im folgenden mit
- .
Wir beginnen, indem wir Führung und Balken von einander freischneiden:
Damit legen wir die Schnittkräfte
- Bz und
- K
frei. K ist dabei gegeben, F und Bz sind unbekannt.
Wir müssen überlegen, wo wir Bedingungen für diese beiden Größen herbekommen.
Die Lösung der Teilaufgabe für den Euler-Bernoulli-Balken ist ein klassisches Randwertproblem mit
- zwei Gebieten, in denen ein Euler-Bernoulli-Balken in AB (Bereich I) und BC (Bereich II) durch eine Streckenlast q0 belastet ist sowie
- Rand- und Übergangsbedingungen in den Punkten A, B, C.
Die Biegesteifigkeit des Balkens ist konstant (also nicht von "x" abhängig), die Lösungen in beiden Bereichen ist also bis auf die Integrationskonstanten gleich.
Wir verwenden ein xi bzw. ξi als Ortskoordinaten je Bereich.
Zusätzlich zum "klassischen" Randwertproblem haben wir hier Zwangsbedingung durch die starren Stäbe und die Kontaktkraft.
Header
In dieser Lösung arbeiten wir mit dimensionslosen Koordinaten für die unabhängige Koordinate x und die abhängige Koordinate w(x).
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 18.10.1 */
/* author: Andreas Baumgart */
/* last updated: 2019-12-07 */
/* ref: TMC, Labor 1 */
/* description: analytical solution for beam with */
/* with parallel rod guidance */
/*******************************************************/
Declarations
Die Streckenlast auf den Balken ist seine Gewichtskraft, also
- .
Später werden wir noch die dimensionslose Koordinate
gebrauchen.
declare("ℓ", alphabetic);
/* system parameters */
params: [k[B] = gamma*EI/ℓ^3,
q[0] = m*g/ℓ,
K = kappa*Q[ref],
d = delta*W[ref],
gamma = 5,
kappa = 3,
delta = 1];
geometry : [beta = 1-alpha,
alpha = 1/3];
/* reference deflection selected: */
/* beam with doublesided bearing under constant line load */
dimless : [M[ref]=Q[ref]*ℓ, Q[ref]= 3*EI/ℓ^3*W[ref],
F = Q[ref]*f, B[z] = Q[ref]*b,
W[ref] = 5*q[0]*ℓ^4/(EI*384)];
dimless: subst(params, dimless);
params : subst(dimless, params);
Integration Of Differential Equation
In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung
- ,
die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Die Bedeutung der gesuchten Auslenkung w und seiner Ableitungen sind
Einfacher wird es, wenn wir mit der dimensionslosen Koordinate
- .
arbeiten. Dann ist
Praktisch ist es nun, Wref so zu wählen, dass wir die dimensionslose Koordinate für w einfach interpretieren können. Aus der Musterlösung für den beidseitig gelenkig gelagerten Euler-Bernoulli-Balken unter konstanter Streckenlast nehmen wir
und damit
- .
Ein Aufintegrieren der Differentialgleichung liefert dann
/******************************************************/
/* Boundary Value Problem Formulation */
/* part I: field */
dgl : EI*W[ref]*diff(w(xi),xi,4)/ℓ^4 = q[0];
dgl: solve(subst(dimless,subst(params,dgl)),'diff(w(xi),xi,4))[1];
params : append(params, [mu = rhs(dgl)]);
dgl: lhs(dgl) = mu;
/* generic solution */
displ : solve(integrate(integrate(integrate(integrate(dgl,xi),xi),xi),xi),w(xi));
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]]];
/* section I */
define( w[1](xi), ratsimp(subst(sections[1],W[ref]*subst(displ,w(xi)))));
define(Phi[1](xi), diff(w[1](xi),xi )/ℓ );
define( M[1](xi), -EI*diff(w[1](xi),xi,2)/ℓ^2);
define( Q[1](xi), -EI*diff(w[1](xi),xi,3)/ℓ^3);
/* section II */
define( w[2](xi), ratsimp(subst(sections[2],subst(displ,W[ref]*w(xi)))));
define(Phi[2](xi), diff(w[2](xi),xi )/ℓ );
define( M[2](xi), -EI*diff(w[2](xi),xi,2)/ℓ^2);
define( Q[2](xi), -EI*diff(w[2](xi),xi,3)/ℓ^3);
Boundary Conditions
Für die 2*4 = 8 Integrationskonstanten
und die weiteren gesuchten Größen
suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen des Systems.
Die Normalkräfte N brauchen wir dabei nicht auszuwerten.
Aus Rand A:
Geometrische Randbedingungen
Kraft- und Momenten-Randbedingungen
keine
Aus Übergang B:
Geometrische Randbedingungen
Kraft- und Momenten-Randbedingungen
- .
Aus Rand C:
Geometrische Randbedingungen
Kraft- und Momenten-Randbedingungen
Gleichgewicht an der Führung
Für die starren Stäbe stellen wir die Summe aller Kräfte im senkrechten Stab auf:
- .
Ein bisschen exotisch ist, dass wir nun zehn Unbekannte haben, nämlich
Aber mit den Randbedingungen oben steht uns ein vollständiges Gleichungssystem für diese zehn Unbekannten - die Integrationskonstanten und die Kräfte F, Bz - zur Verfügung.
Auch hier arbeiten wir mit dimensionslosen Größen, hier
- ,
wobei wir
setzen.
/******************************************************/
/* Boundary Value Problem Formulation */
/* part II: boundary conditions */
node[A]: [ w[1](0) = 0,
M[1](0) = 0];
node[B]: [ w[1](alpha) = w[2](0),
Phi[1](alpha) = Phi[2](0),
-Q[1](alpha) + Q[2](0) + B[z] = 0,
-M[1](alpha) + M[2](0) = 0];
node[C]: [ w[2](beta) = d,
-Q[2](beta) - K = 0,
-M[2](beta) = 0];
node[D]: [F - k[B]*w[2](0)-B[z] = 0];
BCs : append(node[A],node[B],node[C],node[D]);
scale: [W[ref], -EI*W[ref]/(ℓ^2), 4*W[ref]/(24), 4*W[ref]/(24*ℓ),
EI*W[ref]/(ℓ^3), EI*W[ref]/(ℓ^2), 4*W[ref]/24, EI*W[ref]/(ℓ^3),
EI*W[ref]/(ℓ^2), 5*m*g/128];
BCs : makelist(expand(BCs[i]/scale[i]),i,1,length(BCs));
BCs : subst(dimless,subst(params,subst(dimless,subst(params,BCs))));
Prepare for Solver
Das Gleichungssystem wollen wir als
schreiben. Um die Ergebnisse kompakt darstellen zu können, wählen wir als Parameter
mit den dimensionslosen Größen
- .
Damit erhalten wir - hier nach Einsetzen der gegeben System-Parameter:
- .
/* integration constants = unknowns */
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],f,b];
ACM: augcoefmatrix(BCs,ICs)$
/* system matrix and rhs */
AA : submatrix(ACM,10)$
bb : - col(ACM,10)$
/* print OLE */
print(subst(params,AA),"*",transpose(ICs),"=",subst(params,bb))$
Solving
Das Lösen des Gleichungssystems liefert dann
und für
die dimensionslosen Werte
- .
Die Schaltkraft F ist negativ! Die Gewichtskraft des Balkens ist für die gewählte Konstellation zu groß, um die Kontaktkraft ohne F einzustellen. Wir schauen uns an, wie die erforderliche Kraft F über α verläuft:
/* ... solve .....*/
sol : ratsimp(solve(BCs, ICs))[1]$
/* check for required force */
part: expand(subst(geometry[1],subst(sol,f)));
plot2d(part, [alpha,0,1], [y,-50,0], [xlabel, "α ->"], [ylabel, "F/Q[ref] ->"])$
Post-Processing
Die Grafen der gesuchten Funktionen tragen wir nun direkt dimensionslos auf:
... für w(x):
... für ϕ(x):
... für M(x):
... für Q(x):
... für die Lager-Reaktionskräfte:
/******************************************************/
/* Post - Processing */
/* part II: boundary conditions */
reactForces: [A[z] = Q[1](0)];
expand(subst(geometry,subst(params,subst(dimless,subst(params,subst(sol, subst(sol, reactForces)))))));
/* plot displacements */
fcts: [[ w [1](xi), w [2](xi)],
[Phi[1](xi),Phi[2](xi)],
[ M [1](xi), M [2](xi)],
[ Q [1](xi), Q [2](xi)]];
facts: [1/W[ref], 1/(W[ref]/ℓ), 1/M[ref], 1/Q[ref]];
textlabels : ["w(x)/W[ref]→", "w'(x)/(W[ref]/ℓ)→", "M(x)/M[ref]→", "Q(x)/Q[ref]→"];
for i: 1 thru 4 do(
f : expand(subst(geometry,subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]),
subst(sol, fcts[i][2])])))),
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []",
plot2d([[parametric, t, subst(t,xi,f[1]), [t,0,subst(geometry,alpha)]],
[parametric, subst(geometry,alpha)+t, subst(t,xi,f[2]), [t,0,subst(geometry,beta)]]],
[legend, "sec. I", "sec. II"],
[gnuplot_preamble, preamble],
[xlabel, "x/ℓ ->"],
[ylabel, textlabels[i]]))$
Links
- ...
Literature
- ...