Gelöste Aufgaben/Kw55: Unterschied zwischen den Versionen
(→tmp) |
Keine Bearbeitungszusammenfassung |
||
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 23: | Zeile 23: | ||
Die Auslenkungen des Balkens in ''B'' und ''C'' bezeichnen wir mit | Die Auslenkungen des Balkens in ''B'' und ''C'' bezeichnen wir mit | ||
* ''w<sub>B</sub>'' = w( ℓ) | * ''w<sub>B</sub>'' = ''w( ℓ)'' | ||
* | * ''w<sub>C</sub>'' = ''w(2ℓ)'' | ||
Wir schneiden beide Systemteile frei: | Wir schneiden beide Systemteile frei: | ||
<table class="wikitable" style="background-color:white; float:left; margin-right:24px;> | <table class="wikitable" style="background-color:white; float:left; margin-right:24px;> | ||
<tr><td>[[Datei:Kw55-12+.png|alternativtext=|rahmenlos]] | <tr><td>[[Datei:Kw55-12+.png|alternativtext=|rahmenlos|244x244px]] | ||
</td></tr> | </td></tr> | ||
<tr><td>[[Datei:Kw55-13+.png|rahmenlos]] | <tr><td> [[Datei:Kw55-13+.png|rahmenlos|alternativtext=|225x225px]] | ||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
Zeile 37: | Zeile 37: | ||
Als Schnittkräfte führen wir die beiden Stabkräfte | Als Schnittkräfte führen wir die beiden Stabkräfte | ||
<ul style="margin-left: 0;padding-left: 26px;"> | |||
<li> ''F<sub>B</sub>'' und</li> | |||
<li> ''F<sub>C</sub>''</li> | |||
</ul> | |||
ein, die zunächst unbekannt sind. Wir müssen überlegen, wo wir Bedingungen für diese beiden Größen herbekommen. | ein, die zunächst unbekannt sind. 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 | Die Lösung der Teilaufgabe für den [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]] ist ein klassisches Randwertproblem mit | ||
<ol> | <ol> | ||
<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 | <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<br/> | ||
::<math>E\; I_i w_i^{IV}(x) = q_0,\;\; i=\{1,2\}</math> beschrieben wird;</li> | :::<math>E\; I_i w_i^{IV}(x) = q_0,\;\; i=\{1,2\}</math><br/> | ||
beschrieben wird;</li> | |||
<li>Rand- und Übergangsbedingungen in den Punkten A, B, C.</li> | <li>Rand- und Übergangsbedingungen in den Punkten A, B, C.</li> | ||
</ol> | </ol> | ||
Zeile 60: | Zeile 63: | ||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
Zusätzlich zum "klassischen" Randwertproblem haben wir hier eine geometrische Zwangsbedingung durch die starren Stäbe. | Zusätzlich zum "klassischen" Randwertproblem haben wir hier eine geometrische Zwangsbedingung durch die starren Stäbe. | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{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-08-29 */ | |||
/* ref: TM-C, Labor 1, klassische, dimensionsbehaftete */ | |||
/* Vorgehensweise */ | |||
/* description: finds the analytic solution for */ | |||
/* lab problem #1 */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Declarations | {{MyCodeBlock|title=Declarations | ||
|text= | |text= | ||
Die Streckenlast auf den Balken ist natürlich seine Gewichtskraft, also | |||
::<math>\displaystyle q_0 = \frac{m\;g}{\ell}</math>. | |||
Später werden wir noch die dimensionslose Koordinate | |||
::<math>\xi = \displaystyle \frac{x}{\ell}</math> | |||
gebrauchen. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/* declare variational variables - see 6.3 Identifiers */ | |||
declare( "ℓ", alphabetic); | |||
declare( "ϕ", alphabetic); | |||
/* system parameters */ | |||
params: [q[0] = m*g/ℓ]; | |||
dimless: [x = xi*ℓ]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Integration Of Differential Equation | {{MyCodeBlock|title=Integration Of Differential Equation | ||
|text= | |text= | ||
In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung | |||
::<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 | |||
::<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> | |||
Wir finden wir für Bereich ''i'': | |||
::<math>\begin{array}{rcl} | |||
EI \cdot w_i( x) &:=&\displaystyle \frac{{q_0}\, {{x}^{4}}}{24}+\frac{{C_{2,3}}\, {{x}^{3}}}{6}+\frac{{C_{2,2}}\, {{x}^{2}}}{2}+{C_{2,1}} x+{C_{2,0}}\\ | |||
EI \cdot \phi_i( x) &:=&\displaystyle \frac{{q_0}\, {{x}^{3}}}{6}+\frac{{C_{2,3}}\, {{x}^{2}}}{2}+{C_{2,2}} x+{C_{2,1}} \\ | |||
M_i(x) &:=&\displaystyle -\frac{{q_0}\, {{x}^{2}}}{2}-{C_{2,3}} x-{C_{2,2}}\\ | |||
Q_i(x) &:=&\displaystyle -{q_0} x-{C_{2,3}}\\ | |||
\end{array}</math>. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /******************************************************/ | ||
/* part I : Boundary Value Problem Formulation */ | |||
/******************************************************/ | |||
/* | |||
/* field */ | |||
dgl : EI*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]]]; | |||
/* section I */ | |||
define( w[1](x), ratsimp(subst(sections[1],subst(displ,w(x))))); | |||
define( ϕ[1](x), ratsimp( diff(w[1](x),x ))); | |||
define( M[1](x), ratsimp(-EI*diff(w[1](x),x,2))); | |||
define( Q[1](x), ratsimp(-EI*diff(w[1](x),x,3))); | |||
/* section II */ | |||
define( w[2](x), ratsimp(subst(sections[2],subst(displ,w(x))))); | |||
define( ϕ[2](x), ratsimp( diff(w[2](x),x ))); | |||
define( M[2](x), ratsimp(-EI*diff(w[2](x),x,2))); | |||
define( Q[2](x), ratsimp(-EI*diff(w[2](x),x,3))); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Boundary Conditions | |||
|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. Und zusätzlich - und das ist hier besonders - brauchen wir noch je eine Gleichung für die Stabkräfte ''F<sub>B</sub>'' und ''F<sub>C</sub>''. | |||
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"==== | ====Aus Rand "A"==== | ||
Zeile 101: | Zeile 178: | ||
</td><td>''Geometrische Randbedingungen'' | </td><td>''Geometrische Randbedingungen'' | ||
::w(0) = 0 | |||
::ϕ(0) = 0 | |||
''Kraft- und Momenten-Randbedingungen'' | ''Kraft- und Momenten-Randbedingungen'' | ||
::keine</td></tr> | |||
</td></tr> | |||
</table> | </table> | ||
Zeile 120: | Zeile 195: | ||
# <math>-M_{B,-} + M_{B,+} = 0</math> | # <math>-M_{B,-} + M_{B,+} = 0</math> | ||
# <math>-Q_{B,-} - | # <math>-Q_{B,-} - F_B +Q_{B,+} = 0</math> | ||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
Zeile 127: | Zeile 202: | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>[[Datei:Kw55-11C.png|alternativtext=|rahmenlos|130x130px]] | <tr><td>[[Datei:Kw55-11C.png|alternativtext=|rahmenlos|130x130px]] | ||
</td><td>''Geometrische Randbedingungen'' | </td><td>''Geometrische Randbedingungen''<blockquote><blockquote>keine</blockquote></blockquote>''Kraft- und Momenten-Randbedingungen'' | ||
# <math>- M_{C,-} = 0</math> | |||
# <math>- Q_{C,-} - F_C = 0</math> | |||
# <math> | |||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
====Aus Rand | ====Aus Rand a (Gelenk-Lager in a)==== | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>'' | <tr><td>''Momentengleichgewicht''<br/> | ||
# <math>\ | Für de starren Stäbe stellen wir die Summe aller Momente um "a" auf: | ||
# <math>\displaystyle \ell \cdot \left( 2 m g + \frac{1}{2} m g +{F_B} \right) +2 \ell \cdot \left( \frac{1}{2}m g+F_C \right) =0</math><br/> | |||
''Kinemtische Verträglichkeit''<br/> | |||
Eine Gleichung fehlt noch - und das ist die kinematische Zwangsbedingung aus dem Mechanismus der starren Stäbe, nämlich | |||
# <math>w(2 \ell) = 2\cdot w(\ell)</math> | |||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
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\\F_C \end{array}\right)</math> | |||
Aber mit den Randbedingungen oben steht uns nun ein vollständiges Gleichungssystem für diese zehn Unbekannten - die Integrationskonstanten und die Stabkräfte - zur Verfügung. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /******************************************************/ | ||
/* part II: boundary conditions */ | |||
node[A]: [ w[1](0) = 0, | |||
ϕ[1](0) = 0]; | |||
node[B]: [ w[1](ℓ) = w[2](ℓ), | |||
ϕ[1](ℓ) = ϕ[2](ℓ), | |||
-Q[1](ℓ) - F[B] + Q[2](ℓ) = 0, | |||
-M[1](ℓ) + M[2](ℓ) = 0]; | |||
node[C]: [ M[2](2*ℓ) = 0, | |||
-Q[2](2*ℓ) - F[C] = 0]; | |||
node[a]: [ ℓ*(F[B]+1/2*m*g+2*m*g) + 2*ℓ*(F[C]+1/2*m*g) = 0, | |||
w[1](ℓ) = w[2](2*ℓ)/2]; | |||
BCs : append(node[A],node[B],node[C],node[a]); | |||
scale: [EI, EI, EI, EI, | |||
1, 1, 1, 1, | |||
1/ℓ, EI]; | |||
BCs : subst(params,expand(scale*BCs)); | |||
</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 - hier nach Einsetzen der System-Parameter: | |||
::<math>\begin{pmatrix}1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | |||
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ | |||
1 & \ell & \frac{{{\ell}^{2}}}{2} & \frac{{{\ell}^{3}}}{6} & -1 & -\ell & -\frac{{{\ell}^{2}}}{2} & -\frac{{{\ell}^{3}}}{6} & 0 & 0\\ | |||
0 & 1 & \ell & \frac{{{\ell}^{2}}}{2} & 0 & -1 & -\ell & -\frac{{{\ell}^{2}}}{2} & 0 & 0\\ | |||
0 & 0 & 0 & 1 & 0 & 0 & 0 & -1 & -1 & 0\\ | |||
0 & 0 & 1 & \ell & 0 & 0 & -1 & -\ell & 0 & 0\\ | |||
0 & 0 & 0 & 0 & 0 & 0 & -1 & -2 \ell & 0 & 0\\ | |||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & -1\\ | |||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 2\\ | |||
1 & \ell & \frac{{{\ell}^{2}}}{2} & \frac{{{\ell}^{3}}}{6} & -\frac{1}{2} & -\ell & -{{\ell}^{2}} & -\frac{2 {{\ell}^{3}}}{3} & 0 & 0\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}}\\ | |||
{F_B}\\ | |||
{F_C}\end{pmatrix} = m g \cdot \begin{pmatrix}0\\ | |||
0\\ | |||
0\\ | |||
0\\ | |||
0\\ | |||
0\\ | |||
2 \ell\\ | |||
-2\\ | |||
\displaystyle -\frac{7}{2}\\ | |||
\displaystyle \frac{7 {{\ell}^{3}}}{24}\end{pmatrix}</math> | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
Zeile 164: | Zeile 292: | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | {{MyCodeBlock|title=Solving | ||
|text= | |text= | ||
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}\\F_B\\F_C \end{array}\right) = m\; g \cdot \left(\begin{array}{c} | |||
0\\ | |||
0\\ | |||
\displaystyle \frac{11 \ell}{2}\\ | |||
\displaystyle -\frac{29}{4}\\ | |||
\displaystyle -\frac{7 {{\ell}^{3}}}{6}\\ | |||
\displaystyle \frac{7 {{\ell}^{2}}}{2}\\ | |||
\displaystyle -\frac{3 \ell}{2}\\ | |||
\displaystyle -\frac{1}{4}\\ | |||
-7\\ | |||
\displaystyle \frac{7}{4} | |||
\end{array} \right)</math>. | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* integration constants = unknowns */ | ||
X : [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], F[C]]; | |||
ACM: augcoefmatrix(BCs,X); | |||
/* system matrix and rhs */ | |||
AA : submatrix(ACM,11); | |||
bb : - col(ACM,11); | |||
/* print OLE */ | |||
print(subst(params,AA),"*",transpose(X),"=",subst(params,bb))$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | {{MyCodeBlock|title=Post-Processing | ||
|text= | |text= | ||
Die Ergebnisse plotten wir und nutzen dafür als Referenzgrößen die [[Sources/Lexikon/Standard-Lösungen|Standard-Lösungen]] für den Kragbalken unter Streckenlast mit | |||
* <math>\displaystyle w_{ref} = \frac{q_0 \cdot (2 \ell)^4}{8} </math> und | |||
* <math>\displaystyle \phi_{ref} = \frac{q_0 \cdot (2 \ell)^3}{6}</math>. | |||
Damit sehen die Ergebnisse so aus ... | |||
====... für w(x): ==== | |||
[[Datei:Kw55-21.png|mini|Biegelinie ''w(x)''|alternativtext=|ohne]] | |||
====... für ''Φ(x)'':==== | |||
[[Datei:Kw55-22.png|mini|Kippwinkel ''w'(x)''|alternativtext=|ohne]] | |||
====... für M(x):==== | |||
[[Datei:Kw55-23.png|mini|Biegemoment M(x)|alternativtext=|ohne]] | |||
====... für Q(x):==== | |||
[[Datei:Kw55-24.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]] | |||
====... für die Lager-Reaktionskräfte:==== | |||
::<math>\begin{array}{ll} | |||
{Q_A}=&\displaystyle m g \frac{29}{4},\\ | |||
{M_A}=&\displaystyle - m g \frac{11}{2} \ell | |||
\end{array}</math> | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* bearing forces and moments */ | ||
reactForces: [Q[A] = Q[1](0), | |||
M[A] = M[1](0)]; | |||
subst(sol, reactForces); | |||
/* plot displacements */ | |||
fcts: [[ w [1](x), w [2](x)], | |||
[ ϕ [1](x), ϕ [2](x)], | |||
[ M [1](x), M [2](x)], | |||
[ Q [1](x), Q [2](x)]]; | |||
facts: [1/(q[0]*(2*ℓ)^4/(8*EI)), 1/(q[0]*(2*ℓ)^3/(6*EI)), 1/(m*g*ℓ), 1/(2*m*g)]; /* aus Lastfall 6 */ | |||
textlabels : ["← w(x)/w[ref]]", "← w'(x)/ϕ[ref] →", "M(x)/(m[B]*g*ℓ) →", "Q(x)/(2 m g) →"]; | |||
for i: 1 thru 4 do( | |||
f : ratsimp(expand(float(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,1]], | |||
[parametric, t, subst(t,xi,f[2]), [t,1,2]]], | |||
[legend, "sec. I", "sec. II"], | |||
[gnuplot_preamble, preamble], | |||
[xlabel, "x/ℓ →"], | |||
[ylabel, textlabels[i]]))$ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 188: | Zeile 383: | ||
<tr><td></td><td></td></tr> | <tr><td></td><td></td></tr> | ||
</table> | </table> | ||
<hr/> | <hr/> |
Aktuelle Version vom 31. März 2021, 07:53 Uhr
Aufgabenstellung
Die parallelen Stäbe ABC und abc haben je die Länge 2ℓ. Sie sind jeweils in b-B und c-C gelenkig mit einem vertikalen Stab verbunden. Die Stäbe abc, bB und cC sind starr, Stab ABC hat die Biegesteifigkeit EI. Alle Stäbe haben eine Masse m je Länge ℓ, die Erdbeschleunigung ist g.
Gesucht ist die analytische Lösung für ein Euler-Bernoulli-Modell der Struktur.
Wir lösen das Gleichungssystem zur Bestimmung der Integrationskonstanten der Differentialgleichung des Euler-Bernoulli-Balkens und geben die grafischen Lösungen für w, w', M und Q an.
Gegeben: ℓ, EI, m, g
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 das starre System erhalten wir einfach wie in TM-1 aus einer Momentenbilanz um A, die Gleichgewichtsbedingungen für den Euler-Bernoulli-Balken ist die Feld-Differentialgleichung, deren Integrationsbedingungen wir aus den Randbedingungen erhalten.
Die Auslenkungen des Balkens in B und C bezeichnen wir mit
- wB = w( ℓ)
- wC = w(2ℓ)
Wir schneiden beide Systemteile frei:
Als Schnittkräfte führen wir die beiden Stabkräfte
- FB und
- FC
ein, die zunächst unbekannt sind. 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 und BC durch eine Streckenlast q0 belastet ist und somit durch die Differentialbeziehung
- Rand- und Übergangsbedingungen in den Punkten A, B, C.
Die Biegesteifigkeit des Balkens ist konstant (also 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 mit Kraft-Randbedingungen also so aus:
Rand A | Bereich I | Übergang B | Bereich II | Rand C |
---|---|---|---|---|
nur "geometrische" Randbedingungen. |
Zusätzlich zum "klassischen" Randwertproblem haben wir hier eine geometrische Zwangsbedingung durch die starren Stäbe.
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-08-29 */
/* ref: TM-C, Labor 1, klassische, dimensionsbehaftete */
/* Vorgehensweise */
/* description: finds the analytic solution for */
/* lab problem #1 */
/*******************************************************/
Declarations
Die Streckenlast auf den Balken ist natürlich seine Gewichtskraft, also
- .
Später werden wir noch die dimensionslose Koordinate
gebrauchen.
/* declare variational variables - see 6.3 Identifiers */
declare( "ℓ", alphabetic);
declare( "ϕ", alphabetic);
/* system parameters */
params: [q[0] = m*g/ℓ];
dimless: [x = xi*ℓ];
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
Wir finden wir für Bereich i:
- .
/******************************************************/
/* part I : Boundary Value Problem Formulation */
/******************************************************/
/*
/* field */
dgl : EI*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]]];
/* section I */
define( w[1](x), ratsimp(subst(sections[1],subst(displ,w(x)))));
define( ϕ[1](x), ratsimp( diff(w[1](x),x )));
define( M[1](x), ratsimp(-EI*diff(w[1](x),x,2)));
define( Q[1](x), ratsimp(-EI*diff(w[1](x),x,3)));
/* section II */
define( w[2](x), ratsimp(subst(sections[2],subst(displ,w(x)))));
define( ϕ[2](x), ratsimp( diff(w[2](x),x )));
define( M[2](x), ratsimp(-EI*diff(w[2](x),x,2)));
define( Q[2](x), ratsimp(-EI*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. Und zusätzlich - und das ist hier besonders - brauchen wir noch je eine Gleichung für die Stabkräfte FB und FC.
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 RandbedingungenKraft- und Momenten-Randbedingungen |
Aus Rand a (Gelenk-Lager in a)
Momentengleichgewicht Für de starren Stäbe stellen wir die Summe aller Momente um "a" auf: Kinemtische Verträglichkeit |
Ein bisschen exotisch ist, dass wir nun zehn Unbekannte haben, nämlich
Aber mit den Randbedingungen oben steht uns nun ein vollständiges Gleichungssystem für diese zehn Unbekannten - die Integrationskonstanten und die Stabkräfte - zur Verfügung.
/******************************************************/
/* part II: boundary conditions */
node[A]: [ w[1](0) = 0,
ϕ[1](0) = 0];
node[B]: [ w[1](ℓ) = w[2](ℓ),
ϕ[1](ℓ) = ϕ[2](ℓ),
-Q[1](ℓ) - F[B] + Q[2](ℓ) = 0,
-M[1](ℓ) + M[2](ℓ) = 0];
node[C]: [ M[2](2*ℓ) = 0,
-Q[2](2*ℓ) - F[C] = 0];
node[a]: [ ℓ*(F[B]+1/2*m*g+2*m*g) + 2*ℓ*(F[C]+1/2*m*g) = 0,
w[1](ℓ) = w[2](2*ℓ)/2];
BCs : append(node[A],node[B],node[C],node[a]);
scale: [EI, EI, EI, EI,
1, 1, 1, 1,
1/ℓ, EI];
BCs : subst(params,expand(scale*BCs));
Prepare for Solver
Das Gleichungssystem wollen wir als
schreiben, also - hier nach Einsetzen der System-Parameter:
1+1
Solving
Das Lösen des Gleichungssystems liefert dann
- .
/* integration constants = unknowns */
X : [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], F[C]];
ACM: augcoefmatrix(BCs,X);
/* system matrix and rhs */
AA : submatrix(ACM,11);
bb : - col(ACM,11);
/* print OLE */
print(subst(params,AA),"*",transpose(X),"=",subst(params,bb))$
Post-Processing
Die Ergebnisse plotten wir und nutzen dafür als Referenzgrößen die Standard-Lösungen für den Kragbalken unter Streckenlast mit
- und
- .
Damit sehen die Ergebnisse so aus ...
... 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: [Q[A] = Q[1](0),
M[A] = M[1](0)];
subst(sol, reactForces);
/* plot displacements */
fcts: [[ w [1](x), w [2](x)],
[ ϕ [1](x), ϕ [2](x)],
[ M [1](x), M [2](x)],
[ Q [1](x), Q [2](x)]];
facts: [1/(q[0]*(2*ℓ)^4/(8*EI)), 1/(q[0]*(2*ℓ)^3/(6*EI)), 1/(m*g*ℓ), 1/(2*m*g)]; /* aus Lastfall 6 */
textlabels : ["← w(x)/w[ref]]", "← w'(x)/ϕ[ref] →", "M(x)/(m[B]*g*ℓ) →", "Q(x)/(2 m g) →"];
for i: 1 thru 4 do(
f : ratsimp(expand(float(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,1]],
[parametric, t, subst(t,xi,f[2]), [t,1,2]]],
[legend, "sec. I", "sec. II"],
[gnuplot_preamble, preamble],
[xlabel, "x/ℓ →"],
[ylabel, textlabels[i]]))$
Links
- ...
Literature
- ...