Gelöste Aufgaben/Kw50: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 16: | Zeile 16: | ||
Ermitteln Sie für dabei die Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter: | Ermitteln Sie für dabei die Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter: | ||
<math>\begin{array}{ll}K_C =&\displaystyle 5 \frac{E\,I}{\ell_0}\\m_A =&\displaystyle \frac{m_B}{5} \end{array}</math> | ::<math>\begin{array}{ll}K_C =&\displaystyle 5 \frac{E\,I}{\ell_0}\\m_A =&\displaystyle \frac{m_B}{5} \end{array}</math> | ||
== Lösung mit Maxima == | == Lösung mit Maxima == | ||
Die Aufgabe ist ein klassisches Randwertproblem mit | Die Aufgabe ist ein klassisches Randwertproblem mit | ||
<ol> | |||
<math>E\; I_i w_i^{IV}(x) = q_0,\;\; i=\{1,2\}</math> beschrieben wird; | <li>zwei Gebieten, in denen ein Euler-Bernoulli-Balken in AB und BC durch eine Streckenlast ''q<sub>0</sub>'' belastet ist und somit durch die Differentialbeziehung | ||
::<math>E\; I_i w_i^{IV}(x) = q_0,\;\; i=\{1,2\}</math> beschrieben wird;</li> | |||
<li>Rand- und Übergangsbedingungen in den Punkten A, B, C.</li> | |||
</ol> | |||
Die Biegesteifigkeit des Balkens ist konstant (nicht von "''x"'' abhängig), wir können als den Index "''i''" beim Flächenmoment also weglassen. | Die Biegesteifigkeit des Balkens ist konstant (nicht von "''x"'' abhängig), wir können als den Index "''i''" beim Flächenmoment also weglassen. | ||
Zeile 40: | Zeile 42: | ||
Wie? Das machen wir uns an einem Bild klar:[[Datei:Kw50-12.png|mini|Geometrische Zwangsbedingung|alternativtext=|200x200px]]In linearer Näherung ist der Zusammenhang zwischen der Seil-Abwicklung ''Δs<sub>A</sub>'' und der vertial-Verschibung ''W<sub>A</sub>'' in Punkt ''A'' | Wie? Das machen wir uns an einem Bild klar:[[Datei:Kw50-12.png|mini|Geometrische Zwangsbedingung|alternativtext=|200x200px]]In linearer Näherung ist der Zusammenhang zwischen der Seil-Abwicklung ''Δs<sub>A</sub>'' und der vertial-Verschibung ''W<sub>A</sub>'' in Punkt ''A'' | ||
<math>\displaystyle \sin(30^\circ) = \frac{\Delta s_A}{W_A}</math>. | ::<math>\displaystyle \sin(30^\circ) = \frac{\Delta s_A}{W_A}</math>. | ||
Analog gilt für Punkt ''B'' | Analog gilt für Punkt ''B'' | ||
<math>\displaystyle \sin(60^\circ) = \frac{\Delta s_B}{W_B}</math>. | ::<math>\displaystyle \sin(60^\circ) = \frac{\Delta s_B}{W_B}</math>. | ||
Da das Seil undehnbar ist, gilt außerdem | Da das Seil undehnbar ist, gilt außerdem | ||
<math>\Delta s_A + \Delta s_B = 0</math> | ::<math>\Delta s_A + \Delta s_B = 0</math> | ||
Diese zusätzliche Bedingung ist das entscheidende Element dieser Aufgabe. | Diese zusätzliche Bedingung ist das entscheidende Element dieser Aufgabe. | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{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-02-12 */ | |||
/* ref: TM-C, Labor 1, dimensionless representation */ | |||
/* description: finds the analytic solution for */ | |||
/* lab problem #1 */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | |||
|text= | |||
Die Streckenlast auf den Balken ist natürlich seine Gewichtskraft, also | Die Streckenlast auf den Balken ist natürlich seine Gewichtskraft, also | ||
<math>\displaystyle q_0 = \frac{m_B\;g}{\ell_0}</math>.[[Datei:Kw50-06.png|mini|Geometrie]]Geometrische Zusammenhänge müssen wir auch anschreiben, so für | ::<math>\displaystyle q_0 = \frac{m_B\;g}{\ell_0}</math>.[[Datei:Kw50-06.png|mini|Geometrie]]Geometrische Zusammenhänge müssen wir auch anschreiben, so für | ||
<math>\begin{array}{l}\ell = \ell_1 + \ell_2\\\tan(\alpha_B) = \displaystyle \frac{H}{\ell_2}\\\tan(\alpha_A) = \displaystyle \frac{H}{\ell}\end{array}</math> | ::<math>\begin{array}{l}\ell = \ell_1 + \ell_2\\\tan(\alpha_B) = \displaystyle \frac{H}{\ell_2}\\\tan(\alpha_A) = \displaystyle \frac{H}{\ell}\end{array}</math> | ||
mit | mit | ||
<math>\alpha_A = 30\circ, \;\;\;\alpha_B = 60\circ</math>. | ::<math>\alpha_A = 30\circ, \;\;\;\alpha_B = 60\circ</math>. | ||
Und wir wählen noch eine Bezugslänge ''ℓ<sub>Bez</sub>'' zu | Und wir wählen noch eine Bezugslänge ''ℓ<sub>Bez</sub>'' zu | ||
<math>\displaystyle \ell_{Bez} = \frac{m_B\;g \ell^3}{3 EI}</math> | ::<math>\displaystyle \ell_{Bez} = \frac{m_B\;g \ell^3}{3 EI}</math> | ||
aus der tabellierten Lösung für einen Kragbalken der Länge ''ℓ'' und einer Endlast ''m<sub>B</sub> g.'' Das erscheint nicht sonderlich schlau - es gibt Standard -Lastfälle die besser passen würden. Aber dann schleppen wir die ganze Zeit Koeffizienten wie z.B. ''5/384'' mit durch die Rechnungen - das macht die Arbeit unübersichtlich. | aus der [[Sources/Lexikon/Standard-Lösungen|tabellierten Lösung]] für einen Kragbalken der Länge ''ℓ'' und einer Endlast ''m<sub>B</sub> g.'' Das erscheint nicht sonderlich schlau - es gibt Standard -Lastfälle die besser passen würden. Aber dann schleppen wir die ganze Zeit Koeffizienten wie z.B. ''5/384'' mit durch die Rechnungen - das macht die Arbeit unübersichtlich. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* declare variational variables - see 6.3 Identifiers */ | ||
declare("Δs", alphabetic); | |||
declare( "ϕ", alphabetic); | |||
declare( "ℓ", alphabetic); | |||
/* system parameters */ | |||
params: [K[C] = kappa*EI/ℓ[0], | |||
q[0] = m[B]*g/ℓ[0], | |||
m[A] = theta*m[B], | |||
theta = 1/5, | |||
kappa = 5]; | |||
geometry: [alpha[A] = 30*%pi/180, | |||
alpha[B] = 60*%pi/180, | |||
ℓ[1] = ℓ[0]-ℓ[2], | |||
Δs[A] = W[A]*cos(%pi/2-alpha[A]), | |||
Δs[B] = W[B]*cos(%pi/2-alpha[B]), | |||
tan(alpha[B]) = H/ℓ[2], | |||
tan(alpha[A]) = H/ℓ[0], | |||
xi[1] = ℓ[1]/ℓ[0], | |||
xi[2] = ℓ[2]/ℓ[0]]; | |||
geometry: ratsimp(solve(geometry,[alpha[A],alpha[B],ℓ[1],ℓ[2],Δs[A],Δs[B],H,xi[1],xi[2]])[1]); | |||
/* reference length selected: */ | |||
dimless : ℓ[Bez] = 1/3*m[B]*g*ℓ[0]^3/(EI); /*cantilevered*/ | |||
</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. Diese Aufgabe wird etwas übersichtlicher, wenn wir die Auslenkung ''w'' und die Ortskoordinate ''x'' dimensionslos machen. So wählen wir: | die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Diese Aufgabe wird etwas übersichtlicher, wenn wir die Auslenkung ''w'' und die Ortskoordinate ''x'' dimensionslos machen. So wählen wir: | ||
<math>w = \ell_{Bez}\cdot \tilde{w}</math> | ::<math>w = \ell_{Bez}\cdot \tilde{w}</math> | ||
und setzten für die Bezugslänge die Auslenkung eines Kragbalkens unter konstanter Streckenlast (hier ''q<sub>A</sub>'') an. | und setzten für die Bezugslänge die Auslenkung eines Kragbalkens unter konstanter Streckenlast (hier ''q<sub>A</sub>'') an. | ||
Zeile 102: | Zeile 135: | ||
Zusätzlich wählen wir eine unabhängige, dimensionslose Ortskoordinaten für die Bereich I und II, die ihren Ursprung in den Punkt A hat: | Zusätzlich wählen wir eine unabhängige, dimensionslose Ortskoordinaten für die Bereich I und II, die ihren Ursprung in den Punkt A hat: | ||
<math>\xi = \displaystyle \frac{x}{\ell}</math> | ::<math>\xi = \displaystyle \frac{x}{\ell}</math> | ||
Mit den weiteren Gleichungen für | Mit den weiteren Gleichungen für | ||
<math>\begin{array}{ll} \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 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> | ||
finden wir für Bereich i: | finden wir für Bereich i: | ||
<math>\begin{array}{lll} {{w}_{i}}\left( \xi\right) &:=&\displaystyle \frac{1}{m_B\,g} \left( \frac{1}{8} {q_0}\, {\ell_0}\, {\ell_{Bez}}\, {{\xi}^{4}} + \frac{1}{2} {\ell_0}\, {C_{i,3}}\, {\ell_{Bez}}\, {{\xi}^{3}} + \frac{1}{2} 3 {\ell_0}\, {C_{i,2}}\, {\ell_{Bez}}\, {{\xi}^{2}}+ 3 {\ell_0}\, {C_{i,1}}\, {\ell_{Bez}} \xi\right) + 3 {\ell_0}\, {C_{i,0}}\, {\ell_{Bez}}\\ \phi_{i}\left( \xi\right) &:=&\displaystyle \frac{1}{m_B\,g} \left(\frac{1}{2} {{q}_{0}}\cdot \ell_{Bez}\cdot {{\xi}^{3}} + \frac{1}{2} 3\cdot {{C}_{i,3}}\cdot \ell_{Bez}\cdot {{\xi}^{2}} + 3\cdot {{C}_{i,2}}\cdot \ell_{Bez}\cdot \xi + 3\cdot {{C}_{i,1}}\cdot \ell_{Bez} \right)\\ {{M}_{i}}\left( \xi\right) &:=&\displaystyle \frac{E I}{2 \ell_0 m_B\,g} \left(-3\cdot {{q}_{0}}\cdot \ell_{Bez}\cdot {{\xi}^{2}}-6\cdot {{C}_{i,3}}\cdot \ell_{Bez}\cdot \xi-6\cdot {{C}_{i,2}}\cdot \ell_{Bez} \right)\\ {{Q}_{i}}\left( \xi\right) &:=&\displaystyle \frac{E I}{\ell_0^2 m_B\,g} \left(-3\cdot {{q}_{0}}\cdot \ell_{Bez}\cdot \xi-3\cdot {{C}_{i,3}}\cdot \ell_{Bez} \right) \end{array}</math>. | ::<math>\begin{array}{lll} {{w}_{i}}\left( \xi\right) &:=&\displaystyle \frac{1}{m_B\,g} \left( \frac{1}{8} {q_0}\, {\ell_0}\, {\ell_{Bez}}\, {{\xi}^{4}} + \frac{1}{2} {\ell_0}\, {C_{i,3}}\, {\ell_{Bez}}\, {{\xi}^{3}} + \frac{1}{2} 3 {\ell_0}\, {C_{i,2}}\, {\ell_{Bez}}\, {{\xi}^{2}}+ 3 {\ell_0}\, {C_{i,1}}\, {\ell_{Bez}} \xi\right) + 3 {\ell_0}\, {C_{i,0}}\, {\ell_{Bez}}\\ \phi_{i}\left( \xi\right) &:=&\displaystyle \frac{1}{m_B\,g} \left(\frac{1}{2} {{q}_{0}}\cdot \ell_{Bez}\cdot {{\xi}^{3}} + \frac{1}{2} 3\cdot {{C}_{i,3}}\cdot \ell_{Bez}\cdot {{\xi}^{2}} + 3\cdot {{C}_{i,2}}\cdot \ell_{Bez}\cdot \xi + 3\cdot {{C}_{i,1}}\cdot \ell_{Bez} \right)\\ {{M}_{i}}\left( \xi\right) &:=&\displaystyle \frac{E I}{2 \ell_0 m_B\,g} \left(-3\cdot {{q}_{0}}\cdot \ell_{Bez}\cdot {{\xi}^{2}}-6\cdot {{C}_{i,3}}\cdot \ell_{Bez}\cdot \xi-6\cdot {{C}_{i,2}}\cdot \ell_{Bez} \right)\\ {{Q}_{i}}\left( \xi\right) &:=&\displaystyle \frac{E I}{\ell_0^2 m_B\,g} \left(-3\cdot {{q}_{0}}\cdot \ell_{Bez}\cdot \xi-3\cdot {{C}_{i,3}}\cdot \ell_{Bez} \right) \end{array}</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*ℓ[Bez]*diff(w(xi),xi,4)/ℓ[0]^4 = q[0]; | |||
dgl: subst(dimless,dgl); | |||
/* 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],subst(displ,ℓ[Bez]*w(xi))))); | |||
define(Phi[1](xi), diff(w[1](xi),xi )/ℓ[0]^1); | |||
define( M[1](xi), -EI*diff(w[1](xi),xi,2)/ℓ[0]^2); | |||
define( Q[1](xi), -EI*diff(w[1](xi),xi,3)/ℓ[0]^3); | |||
/* section II */ | |||
define( w[2](xi), ratsimp(subst(sections[2],subst(displ,ℓ[Bez]*w(xi))))); | |||
define(Phi[2](xi), diff(w[2](xi),xi )/ℓ[0]); | |||
define( M[2](xi), -EI*diff(w[2](xi),xi,2)/ℓ[0]^2); | |||
define( Q[2](xi), -EI*diff(w[2](xi),xi,3)/ℓ[0]^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> | ||
suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen. Und zusätzlich - und das ist hier besonders - brauchen wir noch eine Gleichung für die Seilkraft ''S''. | suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen. Und zusätzlich - und das ist hier besonders - brauchen wir noch eine Gleichung für die Seilkraft ''S''. | ||
Zeile 133: | Zeile 186: | ||
====Aus Rand "A"==== | ====Aus Rand "A"==== | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>[[Datei:Kw50-11A.png|rahmenlos|alternativtext=| | <tr><td>[[Datei:Kw50-11A.png|rahmenlos|alternativtext=|150px]] | ||
</td><td>Geometrische Randbedingungen | </td><td>'''Geometrische Randbedingungen''' | ||
* keine | * keine | ||
Kraft- und Momenten-Randbedingungen | '''Kraft- und Momenten-Randbedingungen''' | ||
# <math>m_A\;g - S \sin(\alpha_A) + Q_{A,+}= 0 \text{ mit } Q_{A,+} = - E I\cdot w'''(x)|_{x=0}</math> | # <math>m_A\;g - S \sin(\alpha_A) + Q_{A,+}= 0 \text{ mit } Q_{A,+} = - E I\cdot w'''(x)|_{x=0}</math> | ||
Zeile 148: | Zeile 201: | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>[[Datei:Kw50-11B.png|rahmenlos|alternativtext=|200]] | <tr><td>[[Datei:Kw50-11B.png|rahmenlos|alternativtext=|200]] | ||
</td><td>Geometrische Randbedingungen | </td><td>'''Geometrische Randbedingungen''' | ||
# <math>w_1(\ell_1)=w_2(\ell_1)</math> | # <math>w_1(\ell_1)=w_2(\ell_1)</math> | ||
# <math>\phi_1(\ell_1) = \phi_2(\ell_1)</math> | # <math>\phi_1(\ell_1) = \phi_2(\ell_1)</math> | ||
Kraft- und Momenten-Randbedingungen | '''Kraft- und Momenten-Randbedingungen''' | ||
# <math>-M_{B,-} + M_{B,+} = 0</math> | # <math>-M_{B,-} + M_{B,+} = 0</math> | ||
Zeile 161: | Zeile 214: | ||
====Aus Rand "C"==== | ====Aus Rand "C"==== | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>[[Datei:Kw50-11C.png|rahmenlos|alternativtext=| | <tr><td>[[Datei:Kw50-11C.png|rahmenlos|alternativtext=|170px]] | ||
</td><td>Geometrische Randbedingungen | </td><td>'''Geometrische Randbedingungen''' | ||
# <math>w_2(\ell)=0</math> | # <math>w_2(\ell)=0</math> | ||
Kraft- und Momenten-Randbedingungen | '''Kraft- und Momenten-Randbedingungen''' | ||
# <math>K_C\cdot \Phi_C - M_{C,-} = 0 \text{ mit } M_{C,-} = - E I\cdot w''(x)|_{x=\ell}</math> | # <math>K_C\cdot \Phi_C - M_{C,-} = 0 \text{ mit } M_{C,-} = - E I\cdot w''(x)|_{x=\ell}</math> | ||
Zeile 172: | Zeile 225: | ||
====Aus Rand D (Umlenkrolle für das Seil)==== | ====Aus Rand D (Umlenkrolle für das Seil)==== | ||
Kinematische Verträglichkeit für das Abwickeln des Seils | '''Kinematische Verträglichkeit für das Abwickeln des Seils''' | ||
# <math>\Delta s_A +\Delta s_B =0</math> | # <math>\Delta s_A +\Delta s_B =0</math> | ||
Zeile 180: | Zeile 233: | ||
Aber mit den Randbedingungen oben steht uns nun ein vollständiges Gleichungssystem für neun Unbekannte - die Integrationskonstanten und S - zur Verfügung. | Aber mit den Randbedingungen oben steht uns nun ein vollständiges Gleichungssystem für neun Unbekannte - die Integrationskonstanten und S - zur Verfügung. | ||
|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]: [ Q[1](0)+m[A]*g-S*sin(alpha[A]) = 0, | |||
M[1](0) = 0]; | |||
node[B]: [ w[1](ℓ[1]/ℓ[0]) = w[2](ℓ[1]/ℓ[0]), | |||
Phi[1](ℓ[1]/ℓ[0]) = Phi[2](ℓ[1]/ℓ[0]), | |||
-Q[1](ℓ[1]/ℓ[0]) - S*sin(alpha[B]) +Q[2](ℓ[1]/ℓ[0]) = 0, | |||
-M[1](ℓ[1]/ℓ[0]) + M[2](ℓ[1]/ℓ[0]) = 0]; | |||
node[C]: [ w[2](1) = 0, | |||
-M[2](1) + K[C]*Phi[2](1) = 0]; | |||
node[D]: subst([W[A]=w[1](0), W[B]=w[1](ℓ[1]/ℓ[0])] ,subst(geometry,[Δs[A]+Δs[B] = 0])); | |||
BCs : subst(dimless,append(node[A],node[B],node[C],node[D])); | |||
scale: [1/ℓ[0], -1/ℓ[0]^2, EI/ℓ[0]^4, EI/ℓ[0]^3, | |||
1, 1/ℓ[0]^2, EI/ℓ[0]^4, 1/ℓ[0]^2, | |||
EI/ℓ[0]^4]; | |||
BCs : subst(geometry,subst(params,expand(scale*BCs))); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Prepare for Solver | |||
|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, also - hier nach Einsetzen der System-Parameter: | schreiben, also - hier nach Einsetzen der System-Parameter: | ||
<math>\begin{pmatrix} | ::<math>\begin{pmatrix} | ||
0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & -\frac{1}{2\cdot {\ell_{0}}}\\ | 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & -\frac{1}{2\cdot {\ell_{0}}}\\ | ||
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0\\ | 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0\\ | ||
Zeile 219: | Zeile 285: | ||
{{C}_{2,3}}\\ | {{C}_{2,3}}\\ | ||
S\end{pmatrix} = \begin{pmatrix}-\frac{g\cdot {{m}_{B}}}{5\cdot {\ell_{0}}}\\ 0\\ 0\\ 0\\ 0\\ 0\\ -\frac{g\cdot {{m}_{B}}}{24\cdot {\ell_{0}}}\\ -\frac{4\cdot g\cdot {{m}_{B}}}{3\cdot {\ell_{0}}}\\ -\frac{g\cdot {{m}_{B}}}{{{3}^{\frac{9}{2}}}\cdot {\ell_{0}}}\end{pmatrix}</math> | S\end{pmatrix} = \begin{pmatrix}-\frac{g\cdot {{m}_{B}}}{5\cdot {\ell_{0}}}\\ 0\\ 0\\ 0\\ 0\\ 0\\ -\frac{g\cdot {{m}_{B}}}{24\cdot {\ell_{0}}}\\ -\frac{4\cdot g\cdot {{m}_{B}}}{3\cdot {\ell_{0}}}\\ -\frac{g\cdot {{m}_{B}}}{{{3}^{\frac{9}{2}}}\cdot {\ell_{0}}}\end{pmatrix}</math> | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
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]]; | |||
ACM: augcoefmatrix(BCs,ICs); | |||
/* system matrix and rhs */ | |||
AA : submatrix(ACM,9); | |||
bb : - col(ACM,9); | |||
/* print OLE */ | |||
print(subst(params,AA),"*",x,"=",subst(params,bb)); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | |||
|text= | |||
Das Lösen des Gleichungssystems liefert dann | Das Lösen des Gleichungssystems liefert dann | ||
<math>\displaystyle \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}\\ S \end{array} \right) = \frac{m_B \; g}{\ell_0} \left( \begin{array}{l} +9.716 {{10}^{-4}}\\+0.00389\\+0.0\\-0.250\\+0.0394\\-0.169\\+0.520\\-1.03\\+0.900 {\ell_0} \end{array} \right)</math>. | ::<math>\displaystyle \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}\\ S \end{array} \right) = \frac{m_B \; g}{\ell_0} \left( \begin{array}{l} +9.716 {{10}^{-4}}\\+0.00389\\+0.0\\-0.250\\+0.0394\\-0.169\\+0.520\\-1.03\\+0.900 {\ell_0} \end{array} \right)</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 | |||
|text= | |||
Und die Ergebnisse können wir uns anschauen ... | Und die Ergebnisse können wir uns anschauen ... | ||
Zeile 261: | Zeile 334: | ||
<math>\begin{array}{ll} {{M}_{C}}=0.227\cdot {{\ell}_{0}} \cdot g \cdot {{m}_{B}},\\{{C}_{z}}=-0.030\cdot g\cdot {{m}_{B}} \end{array}</math> | <math>\begin{array}{ll} {{M}_{C}}=0.227\cdot {{\ell}_{0}} \cdot g \cdot {{m}_{B}},\\{{C}_{z}}=-0.030\cdot g\cdot {{m}_{B}} \end{array}</math> | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /* bearing forces and moments */ | ||
reactForces: [A[z] = Q[1](0), | |||
M[A] = K[A]*Phi[1](0), | |||
B[z] = k[B]*w[2](0), | |||
C[z] = k[C]*w[2](1), | |||
M[C] = M[2](1)]; | |||
expand(subst(dimless,subst(params,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/l[Bez], l[1]/l[Bez], 1/(q[A]*l[1]^2), 1/(q[A]*l[1])]; | |||
textlabels : ["w(x)/(M[B]*l^2/EI[1])→", "w'(x)/(M[B]*l/EI[1])→", "M(x)/M[B]→", "Q(x)/(M[B]/l[1]→"]; | |||
for i: 1 thru 4 do( | |||
f : expand(subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]), | |||
subst(sol, fcts[i][2])]))), | |||
r : subst(params,l[2]/l[1]), | |||
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []", | |||
plot2d([[parametric, t, subst(t,xi,f[1]), [t,0,1]], | |||
[parametric, 1+r*t, subst(t,xi,f[2]), [t,0,1]]], | |||
[legend, "sec. I", "sec. II"], | |||
[gnuplot_preamble, preamble], | |||
[xlabel, "x/l[1] ->"], | |||
[ylabel, textlabels[i]]))$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} |
Version vom 30. März 2021, 05:49 Uhr
Aufgabenstellung
Eine Brücke ABC der Masse mB und homogener Biegesteifigkeit EI ist in C gelenkig gelagert und in A sowie B mit einem Seil verbunden. Das undehnbare Seil wird dabei über eine kleine Rolle (Radius r ≪ ℓ) in D haftungsfrei geführt. In Punkt C ist die Brücke über eine Drehfeder der Steifigkeit KC mit dem Lager verbunden. In A steht eine Person der Masse mA.
Geben Sie die analytische Lösung für ein Euler-Bernoulli-Modell der Brücke in dimensiuonslosen Koordinaten an.
Ermitteln Sie für dabei die Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
Lösung mit Maxima
Die Aufgabe ist ein klassisches Randwertproblem mit
- zwei Gebieten, in denen ein Euler-Bernoulli-Balken in AB und BC durch eine Streckenlast q0 belastet ist und somit durch die Differentialbeziehung
- beschrieben wird;
- Rand- und Übergangsbedingungen in den Punkten A, B, C.
Die Biegesteifigkeit des Balkens ist konstant (nicht von "x" abhängig), wir können als den Index "i" beim Flächenmoment also weglassen.
Wir verwenden ein x bzw. ξ als Koordinaten in beiden Gebieten, in der Übersicht sieht das Randwertproblem also so aus:
Rand A | Bereich I | Übergang B | Bereich II | Rand C |
---|---|---|---|---|
Zusätzlich zum "klassischen" Randwertproblem haben wir hier eine geometrische Zwangsbedingung: Durch die Umlenkrolle ist die vertikale Bewegung in den Punkten A und B gekoppelt!
Wie? Das machen wir uns an einem Bild klar:
In linearer Näherung ist der Zusammenhang zwischen der Seil-Abwicklung ΔsA und der vertial-Verschibung WA in Punkt A
- .
Analog gilt für Punkt B
- .
Da das Seil undehnbar ist, gilt außerdem
Diese zusätzliche Bedingung ist das entscheidende Element dieser Aufgabe.
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-02-12 */
/* ref: TM-C, Labor 1, dimensionless representation */
/* description: finds the analytic solution for */
/* lab problem #1 */
/*******************************************************/
Declarations
Die Streckenlast auf den Balken ist natürlich seine Gewichtskraft, also
- .Geometrische Zusammenhänge müssen wir auch anschreiben, so für
mit
- .
Und wir wählen noch eine Bezugslänge ℓBez zu
aus der tabellierten Lösung für einen Kragbalken der Länge ℓ und einer Endlast mB g. Das erscheint nicht sonderlich schlau - es gibt Standard -Lastfälle die besser passen würden. Aber dann schleppen wir die ganze Zeit Koeffizienten wie z.B. 5/384 mit durch die Rechnungen - das macht die Arbeit unübersichtlich.
/* declare variational variables - see 6.3 Identifiers */
declare("Δs", alphabetic);
declare( "ϕ", alphabetic);
declare( "ℓ", alphabetic);
/* system parameters */
params: [K[C] = kappa*EI/ℓ[0],
q[0] = m[B]*g/ℓ[0],
m[A] = theta*m[B],
theta = 1/5,
kappa = 5];
geometry: [alpha[A] = 30*%pi/180,
alpha[B] = 60*%pi/180,
ℓ[1] = ℓ[0]-ℓ[2],
Δs[A] = W[A]*cos(%pi/2-alpha[A]),
Δs[B] = W[B]*cos(%pi/2-alpha[B]),
tan(alpha[B]) = H/ℓ[2],
tan(alpha[A]) = H/ℓ[0],
xi[1] = ℓ[1]/ℓ[0],
xi[2] = ℓ[2]/ℓ[0]];
geometry: ratsimp(solve(geometry,[alpha[A],alpha[B],ℓ[1],ℓ[2],Δs[A],Δs[B],H,xi[1],xi[2]])[1]);
/* reference length selected: */
dimless : ℓ[Bez] = 1/3*m[B]*g*ℓ[0]^3/(EI); /*cantilevered*/
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. Diese Aufgabe wird etwas übersichtlicher, wenn wir die Auslenkung w und die Ortskoordinate x dimensionslos machen. So wählen wir:
und setzten für die Bezugslänge die Auslenkung eines Kragbalkens unter konstanter Streckenlast (hier qA) an.
Zusätzlich wählen wir eine unabhängige, dimensionslose Ortskoordinaten für die Bereich I und II, die ihren Ursprung in den Punkt A hat:
Mit den weiteren Gleichungen für
finden wir für Bereich i:
- .
/******************************************************/
/* Boundary Value Problem Formulation */
/* part I: field */
dgl : EI*ℓ[Bez]*diff(w(xi),xi,4)/ℓ[0]^4 = q[0];
dgl: subst(dimless,dgl);
/* 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],subst(displ,ℓ[Bez]*w(xi)))));
define(Phi[1](xi), diff(w[1](xi),xi )/ℓ[0]^1);
define( M[1](xi), -EI*diff(w[1](xi),xi,2)/ℓ[0]^2);
define( Q[1](xi), -EI*diff(w[1](xi),xi,3)/ℓ[0]^3);
/* section II */
define( w[2](xi), ratsimp(subst(sections[2],subst(displ,ℓ[Bez]*w(xi)))));
define(Phi[2](xi), diff(w[2](xi),xi )/ℓ[0]);
define( M[2](xi), -EI*diff(w[2](xi),xi,2)/ℓ[0]^2);
define( Q[2](xi), -EI*diff(w[2](xi),xi,3)/ℓ[0]^3);
Boundary Conditions
Für die 2*4 = 8 Integrationskonstanten
suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen. Und zusätzlich - und das ist hier besonders - brauchen wir noch eine Gleichung für die Seilkraft S.
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.
Die Normalkräfte N brauchen wir dabei nicht auszuwerten.
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 |
Aus Rand D (Umlenkrolle für das Seil)
Kinematische Verträglichkeit für das Abwickeln des Seils
Ein bisschen exotisch ist, dass wir nun neun Unbekannte haben, nämlich
Aber mit den Randbedingungen oben steht uns nun ein vollständiges Gleichungssystem für neun Unbekannte - die Integrationskonstanten und S - zur Verfügung.
/******************************************************/
/* Boundary Value Problem Formulation */
/* part II: boundary conditions */
node[A]: [ Q[1](0)+m[A]*g-S*sin(alpha[A]) = 0,
M[1](0) = 0];
node[B]: [ w[1](ℓ[1]/ℓ[0]) = w[2](ℓ[1]/ℓ[0]),
Phi[1](ℓ[1]/ℓ[0]) = Phi[2](ℓ[1]/ℓ[0]),
-Q[1](ℓ[1]/ℓ[0]) - S*sin(alpha[B]) +Q[2](ℓ[1]/ℓ[0]) = 0,
-M[1](ℓ[1]/ℓ[0]) + M[2](ℓ[1]/ℓ[0]) = 0];
node[C]: [ w[2](1) = 0,
-M[2](1) + K[C]*Phi[2](1) = 0];
node[D]: subst([W[A]=w[1](0), W[B]=w[1](ℓ[1]/ℓ[0])] ,subst(geometry,[Δs[A]+Δs[B] = 0]));
BCs : subst(dimless,append(node[A],node[B],node[C],node[D]));
scale: [1/ℓ[0], -1/ℓ[0]^2, EI/ℓ[0]^4, EI/ℓ[0]^3,
1, 1/ℓ[0]^2, EI/ℓ[0]^4, 1/ℓ[0]^2,
EI/ℓ[0]^4];
BCs : subst(geometry,subst(params,expand(scale*BCs)));
Prepare for Solver
Das Gleichungssystem wollen wir als
schreiben, also - hier nach Einsetzen der 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]];
ACM: augcoefmatrix(BCs,ICs);
/* system matrix and rhs */
AA : submatrix(ACM,9);
bb : - col(ACM,9);
/* print OLE */
print(subst(params,AA),"*",x,"=",subst(params,bb));
Solving
Das Lösen des Gleichungssystems liefert dann
- .
/* 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
Und die Ergebnisse können wir uns anschauen ...
... für w(x):
... für Φ(x):
... für M(x):
... für Q(x):
... für die Lager-Reaktionskräfte
/* bearing forces and moments */
reactForces: [A[z] = Q[1](0),
M[A] = K[A]*Phi[1](0),
B[z] = k[B]*w[2](0),
C[z] = k[C]*w[2](1),
M[C] = M[2](1)];
expand(subst(dimless,subst(params,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/l[Bez], l[1]/l[Bez], 1/(q[A]*l[1]^2), 1/(q[A]*l[1])];
textlabels : ["w(x)/(M[B]*l^2/EI[1])→", "w'(x)/(M[B]*l/EI[1])→", "M(x)/M[B]→", "Q(x)/(M[B]/l[1]→"];
for i: 1 thru 4 do(
f : expand(subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]),
subst(sol, fcts[i][2])]))),
r : subst(params,l[2]/l[1]),
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []",
plot2d([[parametric, t, subst(t,xi,f[1]), [t,0,1]],
[parametric, 1+r*t, subst(t,xi,f[2]), [t,0,1]]],
[legend, "sec. I", "sec. II"],
[gnuplot_preamble, preamble],
[xlabel, "x/l[1] ->"],
[ylabel, textlabels[i]]))$
Links
- ...
Literature
- ...