Gelöste Aufgaben/Kw55: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 254: | Zeile 254: | ||
Das Gleichungssystem wollen wir als | Das Gleichungssystem wollen wir als | ||
<math>\underline{\underline{A}}\cdot\underline{X}= \underline{b}</math> | ::<math>\underline{\underline{A}}\cdot\underline{X}= \underline{b}</math> | ||
schreiben, also - hier nach Einsetzen der System-Parameter: | schreiben, also - hier nach Einsetzen der System-Parameter: | ||
Zeile 341: | Zeile 341: | ||
====... für Q(x):==== | ====... für Q(x):==== | ||
[[Datei:Kw55-24.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]] | [[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> |
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
- ...