Gelöste Aufgaben/TC12
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<br/ 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
- Fehler beim Parsen (Unbekannte Funktion „\begin{pmatrix}“): {\displaystyle \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{{{{MyCodeBlock|title=Prepare for Solver |text= Das Gleichungssystem wollen wir als ::<math>\underline{\underline{A}}\cdot\underline{x}= \underline{b}}
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
- Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \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}} .
Die Querschnitts-Parameter für Sektion 1 erhalten wir aus
- Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle W^* \stackrel{!}{=} 10\text{mm}} .
Die maximale Auslenkung kommt für Sektion I aus der Bedingung
- Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \Phi_I(x_I^*) \stackrel{!}{=} 0} zu Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle x_I^*\simeq 0.67\cdot\ell_1} .
Hier ist
- Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \displaystyle W^* \simeq \frac{0.01073\cdot {{q}_{0}}\cdot {{\ell}_{1}^{4}}}{{{\mathit{E\;I_{1}}}}}}
und damit ist das erforderliche Flächenmoment
- Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \displaystyle {{I}_{1}^*} \simeq 53646\text{ mm}^4} und damit Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle h^* \simeq 28\text{mm}.} .
/* 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)))));
Links
- ...
Literature
- ...