Gelöste Aufgaben/Kw98: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Category:Gelöste Aufgaben]] | [[Category:Gelöste Aufgaben]] | ||
[[Category:Analytische Lösung]] | [[Category:Analytische Lösung]] | ||
[[Category:Randwertproblem]] | [[Category:Randwertproblem]] | ||
Zeile 175: | Zeile 174: | ||
::<math>\begin{pmatrix}\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=0\\ \frac{{{C}_{1,1}}\cdot {{K}_{A}}}{{{\mathit{EI}}_{1}}}-{{C}_{1,2}}=0\\ \frac{{{\ell}_{1}^{4}}\cdot {{q}_{B}}}{120\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{4}}\cdot {{q}_{A}}}{30\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{C}_{1,3}}}{6\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,2}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,1}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,0}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}^{3}}\cdot {{q}_{B}}}{24\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{q}_{A}}}{8\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,3}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,2}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,1}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}}\cdot {{q}_{B}}}{2}-\frac{{{C}_{2,0}}\cdot {{k}_{B}}}{{{\mathit{EI}}_{2}}}+\frac{{{\ell}_{1}}\cdot {{q}_{A}}}{2}-{{C}_{2,3}}+{{C}_{1,3}}=0\\ -{{M}_{B}}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{B}}}{6}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{A}}}{3}-{{C}_{2,2}}+{{\ell}_{1}}\cdot {{C}_{1,3}}+{{C}_{1,2}}=0\\ \frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,3}}}{2\cdot {{\mathit{EI}}_{2}}}+\frac{{{\ell}_{2}}\cdot {{C}_{2,2}}}{{{\mathit{EI}}_{2}}}+\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}=0\\ -\frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,3}}\cdot {{k}_{C}}}{6\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,2}}\cdot {{k}_{C}}}{2\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}}\cdot {{C}_{2,1}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}-\frac{{{C}_{2,0}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}+{{C}_{2,3}}=0\end{pmatrix} | ::<math>\begin{pmatrix}\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=0\\ \frac{{{C}_{1,1}}\cdot {{K}_{A}}}{{{\mathit{EI}}_{1}}}-{{C}_{1,2}}=0\\ \frac{{{\ell}_{1}^{4}}\cdot {{q}_{B}}}{120\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{4}}\cdot {{q}_{A}}}{30\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{C}_{1,3}}}{6\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,2}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,1}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,0}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}^{3}}\cdot {{q}_{B}}}{24\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{q}_{A}}}{8\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,3}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,2}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,1}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}}\cdot {{q}_{B}}}{2}-\frac{{{C}_{2,0}}\cdot {{k}_{B}}}{{{\mathit{EI}}_{2}}}+\frac{{{\ell}_{1}}\cdot {{q}_{A}}}{2}-{{C}_{2,3}}+{{C}_{1,3}}=0\\ -{{M}_{B}}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{B}}}{6}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{A}}}{3}-{{C}_{2,2}}+{{\ell}_{1}}\cdot {{C}_{1,3}}+{{C}_{1,2}}=0\\ \frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,3}}}{2\cdot {{\mathit{EI}}_{2}}}+\frac{{{\ell}_{2}}\cdot {{C}_{2,2}}}{{{\mathit{EI}}_{2}}}+\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}=0\\ -\frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,3}}\cdot {{k}_{C}}}{6\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,2}}\cdot {{k}_{C}}}{2\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}}\cdot {{C}_{2,1}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}-\frac{{{C}_{2,0}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}+{{C}_{2,3}}=0\end{pmatrix} | ||
</math> | </math>. | ||
für die Integrationskonstanten. | für die Integrationskonstanten. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1+1 | /* integration constants */ | ||
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]]; | |||
/* boundary conditions */ | |||
node[A]: [ w[1](0) = 0, | |||
K[A]*Phi[1](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[B]+M[2](0) = 0]; | |||
node[C]: [ Phi[2](l[2]) = 0, | |||
-Q[2](l[2]) - k[C]*w[2](l[2]) = 0]; | |||
BCs : expand(append(node[A],node[B],node[C])); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
Zeile 227: | Zeile 237: | ||
|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> | ||
}} | }} |
Aktuelle Version vom 31. März 2021, 12:30 Uhr
Aufgabenstellung
Ein Stab ABC ist durch eine lineare veränderliche Streckenlast q mit den Eckwerten qA in A und qB in B sowie dem Moment MB in B belastet. Der Stab (E-Modul: E) besteht aus zwei Sektionen mit den Längen l1 bzw. l2 sowie den Flächenmomenten I1 bzw. I2. Der Stab ist in A durch ein gelenkiges Festlager, in C durch eine Schiebehülse gelagert, in B sind die beiden Sektionen fest miteinander verbunden. Die Feder in A ist eine Drehfester mit Steifigkeit KA, die Federn in B und C sind Translationsfedern mit den Steifigkeiten kB, kC.
Gesucht ist die analytische Lösung für den Euler-Bernoulli-Balken.
Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
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
Diese Aufgabe mit der Methode der Finiten Elemente in KW96 gelöst.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2017-09-06 */
/* ref: TM-C, Labor 1 */
/* description */
/* */
/*******************************************************/
Declarations
Wir definieren die Parameter
- .
und die Formfunktionen für die Streckenlast
- .
/* system parameter */
units : [mm = m/1000, cm = m/100];
params : [q[A]=3*N/mm, l[1]=700*mm, EI[1] = 2.1*10^11*N/m^2 * 3*cm*(4*cm)^3/12];
simple : [l[2] = 3/4*l[1], EI[2] = EI[1]/2,
K[A]=2*EI[1]/l[1], k[C] = 512/229*EI[1]/l[1]^3, k[B] = EI[1]/l[1]^3,
q[B] = 4*q[A], M[B] = q[A]*l[1]^2];
params : append(params,makelist(lhs(simple[i])=subst(params,rhs(simple[i])),i,1,length(simple)));
params : subst(units,params);
/* form - functions */
phi[0](xi) := 1 - xi;
phi[1](xi) := xi;
Formfunctions
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 und q1 = 0.
Die allgemeine Lösung ist mit
... für Bereich I:
... für Bereich II:
- .
/* solve ....*/
dgl : EI[i]*diff(w(x),x,4) = q[0]*phi[0](x/l[i]) + q[1]*phi[1](x/l[i]);
/* 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], q[0]=q[A], q[1]=q[B]],
[i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0 , q[1]= 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.
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 |
Und das liefert das Gleichungssystem aus 8 Gleichungen
- .
für die Integrationskonstanten.
/* integration constants */
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]];
/* boundary conditions */
node[A]: [ w[1](0) = 0,
K[A]*Phi[1](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[B]+M[2](0) = 0];
node[C]: [ Phi[2](l[2]) = 0,
-Q[2](l[2]) - k[C]*w[2](l[2]) = 0];
BCs : expand(append(node[A],node[B],node[C]));
Prepare for Solver
Das Gleichungssystem wollen wir als
schreiben, also
Die Matrix-Elemente sind für die Koeffizientenmatrix
und für die rechte Seite
- .
/* augmented coeff matrix */
ACM: augcoefmatrix(BCs,ICs);
AA : submatrix(ACM,9);
bb : - col(ACM,9);
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
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](l[2]),
M[C] = M[2](l[2])];
expand(subst(params,subst(sol, reactForces)));
/* 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])]];
facts: [EI[1]/(l[1]^4*q[A]),EI[1]/(l[1]^3*q[A]),1/(l[1]^2*q[A]),1/(l[1]^1*q[A])];
subst(M[B]/l[1]^2,q[A],facts);
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(simple,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],
plot2d(toplot,[xi,0,1+subst(simple,l[2]/l[1])], [legend, "sec. I", "sec. II"],
[gnuplot_preamble, "set yrange [] reverse"] ,
[xlabel, "x/l[1] ->"],
[ylabel, textlabels[i]]))$
Links
- ...
Literature
- ...