(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 23:
Zeile 23:
<ol>
<ol>
<li>zwei Gebiete, in denen ein Euler-Bernoulli-Balken in ''AB'' und ''BC'' durch eine Streckenlast ''q'' belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung<br/
<li>zwei Gebiete, in denen ein Euler-Bernoulli-Balken in ''AB'' und ''BC'' durch eine Streckenlast ''q'' belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung<br/>
Ein Stab ABC (E-Modul: E) besteht aus zwei Sektionen mit den Längen ℓ1 bzw. ℓ2 sowie den Flächenmomenten I1 bzw. I2. Die Sektionen haben jeweils einen quadratischen Querschnitt, Sektion AB ist durch eine konstante Streckenlast q0 belastet, in B wirkt das Moment MB0. Der Stab ist in A durch ein gelenkiges Festlager gelagert. In C ist das Stabende fest mit dem Umfang einer Rolle vom Radius r verbunden, die in D frei drehbar gelagert ist. In B sind die beiden Sektionen fest miteinander verbunden. Die Feder in B ist eine Translationsfeder mit der Steifigkeit kB.
Interessant ist die kinematische Randbedingung aus der Rolle.
Gesucht ist die Analytische Lösung für den Euler-Bernoulli-Balken und die Verläufe der Schnittgrößen.
Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
Erstellen Sie dazu ein Programm, mit einem Euler-Bernoulli-Modell für die Berechnung der analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken. Bestimmen Sie Querschnitts-Abmessungen der Sektionen so, dass die maximale Auslenkung des Systems 10 mm beträgt.
Lösung mit Maxima
Die Aufgabe ist ein klassisches Randwertproblem:
zwei Gebiete, in denen ein Euler-Bernoulli-Balken in AB und BC durch eine Streckenlast q belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung berschrieben wird.
Rand- und Übergangsbedingungen in den Punkten A, B, C
Wir verwenden xi und ξi als Koordinaten je Bereich, in der Übersicht sieht das Randwertproblem so aus:
Rand A
Bereich I
Übergang B
Bereich II
Rand C
Header
Wir lösen die Feld-Differentialgleichung exakt und passen die Integrationskonstanten an die Rand- und Übergangsbedingungen an.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2018-02-08 */
/* ref: TM-C, Labor 1 */
/* description: analytic solution for EBB with */
/* two sections */
/*******************************************************/
Declarations
Wir definieren zunächst die bekannten Parameter zu
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.
Die Matrix-Elemente sind für die Koeffizientenmatrix
und für die rechte Seite
.
/* rewrite equations for integration constants IC in matrix form */
ACM: augcoefmatrix(BCs,ICs);
AA : submatrix(ACM,9);
bb : - col(ACM,9);
/* display ... */
print(AA,"*",transpose(ICs),"=",bb)$
/* print coefficients of inhomogenous linear equations */
for i: 1 thru 8 do
print(simplode(["b[",i,"] = ", string(bb[i][1])]))$
for i: 1 thru 8 do
for j: 1 thru 8 do
if not AA[i][j] = 0 then
print(simplode(["A[",i,",",j,"] = ", string(AA[i][j])]))$
Solving
Das Lösen des Gleichungssystems liefert
.
/* solving */
D : ratsimp(determinant(AA))$
[ P, L, U] : ratsimp(get_lu_factors(lu_factor(AA)))$
cc : ratsimp(linsolve_by_lu(AA,bb)[1])$
sol : makelist(ICs[i] = cc[i][1],i,1,8)$
Post-Processing
Zum Auftragen der Ergebnisse nutzen wir die Standard-Lösungen - Lastfall 3 mit der maximalen Auslenkung
und dem Winkel
Die Ergebnisse sind dann ...
... für w(x):
... für Φ(x):
... für M(x):
... für Q(x):
... für die Lager-Reaktionskräfte
.
Die Querschnitts-Parameter für Sektion 1 erhalten wir aus
.
Die maximale Auslenkung kommt für Sektion I aus der Bedingung
zu .
Hier ist
und damit ist das erforderliche Flächenmoment
und damit .
/* plot displacements */
fcts : [[ w [1](x), w [2](x-l[1])],
[Phi[1](x),Phi[2](x-l[1])],
[ M [1](x), M [2](x-l[1])],
[ Q [1](x), Q [2](x-l[1])]];
fcts : subst(params,subst(sol,fcts));
facts: [384*EI[1]/(5*l[1]^4*q[0]),24*EI[1]/(l[1]^3*q[0]),1/(l[1]^2*q[0]),1/(l[1]^1*q[0])];
textlabels : [" w(x)/W*) →", "w'(x)/Φ* →", "M(x)/M[B] →", "Q(x)/(q[0] l[1]) →"];
for i: 1 thru 4 do(
f : expand(subst(params,subst(xi*l[1],x,facts[i]*[subst(sol, fcts[i][1]),
subst(sol, fcts[i][2])]))),
f1 : f[1], f2 : f[2],
toplot : [if xi<=1 then f1 else 0,
if xi < 1 then 0 else f2],
yRange : if i<=2 then "set yrange [] reverse" else "set yrange []",
plot2d(toplot,[xi,0,1+subst(params,l[2]/l[1])], [legend, "sec. I", "sec. II"],
[gnuplot_preamble, yRange],
[xlabel, "x/l[1] ->"],
[ylabel, textlabels[i]]))$
/* bearing forces and moments */
reactForces: [A[z] = Q[1](0),
F[B] = k[B]*w[2](0),
Q[C] = Q[2](l[2]),
M[C] = M[2](l[2])];
print(ratsimp(expand(subst(params,subst(sol, reactForces)))));
/****************************************/
/* required cross sectional properties: */
max: ratsimp(solve(subst(params,subst(sol,Phi[1](x)))=0,x)[3]);
W : float(ratsimp(subst(params,subst(sol,subst(max,w[1](x))))));
post: solve(subst([EI[1] = E*I[1], E=2*10^11*N/(1000*mm)^2, l[1]=1000*mm, q[0]=10*N/mm],-W=90*mm),I[1]);
solve(subst(post,h*h^3/12 = I[1]),h)[4];
Cookies helfen uns bei der Bereitstellung von numpedia. Durch die Nutzung von numpedia erklärst du dich damit einverstanden, dass wir Cookies speichern.