Gelöste Aufgaben/TC12: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden 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/> | ||
<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\}</math> berschrieben wird.</li> | <math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\}</math> berschrieben wird.</li> | ||
<li>Rand- und Übergangsbedingungen in den Punkten ''A, B, C''</li> | <li>Rand- und Übergangsbedingungen in den Punkten ''A, B, C''</li> | ||
Zeile 154: | Zeile 154: | ||
====Aus Rand "C"==== | ====Aus Rand "C"==== | ||
<table class="wikitable" style="background-color:white;"> | <table class="wikitable" style="background-color:white;"> | ||
<tr><td>[[Datei:TC12-11C2.png|rahmenlos|alternativtext=| | <tr><td>[[Datei:TC12-11C2.png|rahmenlos|alternativtext=|150px]]<br/> | ||
[[Datei:TC12-11C1.png|rahmenlos|alternativtext=|130px]] | [[Datei:TC12-11C1.png|rahmenlos|alternativtext=|130px]] | ||
</td><td>''Geometrische Randbedingungen'' | </td><td>''Geometrische Randbedingungen'' | ||
Zeile 189: | Zeile 189: | ||
<!--------------------------------------------------------------------------------> | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Prepare for Solver | {{MyCodeBlock|title=Prepare for Solver | ||
|text= | |text= | ||
Das Gleichungssystem wollen wir als | Das Gleichungssystem wollen wir als | ||
Zeile 237: | Zeile 229: | ||
Das Lösen des Gleichungssystems liefert | Das Lösen des Gleichungssystems liefert | ||
::<math>\begin{array}{ll} \displaystyle {{C}_{1,0}}&\displaystyle =0\\ \displaystyle {{C}_{1,1}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{3}}}{56}\\ \displaystyle {{C}_{1,2}}&\displaystyle =0\\ \displaystyle {{C}_{1,3}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}}}{7}\\ \displaystyle {{C}_{2,0}}&\displaystyle =0\\ \displaystyle {{C}_{2,1}}&\displaystyle =\frac{13\cdot {{q}_{0}}\cdot {{\ell}_{1}^{3}}}{84}\\ \displaystyle {{C}_{2,2}}&\displaystyle =-\frac{9\cdot {{q}_{0}}\cdot {{\ell}_{1}^{2}}}{14}\\ \displaystyle {{C}_{2,3}}&\displaystyle =\frac{6\cdot {{q}_{0}}\cdot {{\ell}_{1}}}{7} \end{array}</math> | ::<math>\begin{array}{ll} \displaystyle {{C}_{1,0}}&\displaystyle =0\\ \displaystyle {{C}_{1,1}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}^{3}}}{56}\\ \displaystyle {{C}_{1,2}}&\displaystyle =0\\ \displaystyle {{C}_{1,3}}&\displaystyle =-\frac{{{q}_{0}}\cdot {{\ell}_{1}}}{7}\\ \displaystyle {{C}_{2,0}}&\displaystyle =0\\ \displaystyle {{C}_{2,1}}&\displaystyle =\frac{13\cdot {{q}_{0}}\cdot {{\ell}_{1}^{3}}}{84}\\ \displaystyle {{C}_{2,2}}&\displaystyle =-\frac{9\cdot {{q}_{0}}\cdot {{\ell}_{1}^{2}}}{14}\\ \displaystyle {{C}_{2,3}}&\displaystyle =\frac{6\cdot {{q}_{0}}\cdot {{\ell}_{1}}}{7} \end{array}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
Zeile 321: | Zeile 313: | ||
print(ratsimp(expand(subst(params,subst(sol, reactForces))))); | 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]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} |
Aktuelle Version vom 26. April 2021, 06:53 Uhr
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
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
- .
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];
Links
- ...
Literature
- ...