Gelöste Aufgaben/Kw52: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „j“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
j | [[Category:Gelöste Aufgaben]] | ||
[[Category:Dimensionslose Schreibweise]] | |||
[[Category:Numerische Lösung]] | |||
[[Category:Randwertproblem]] | |||
[[Category:Biege-Belastung]] | |||
[[Category:Euler-Bernoulli-Balken]] | |||
[[Category:Finite-Elemente-Methode]] | |||
[[Category:Maxima]] | |||
==Aufgabenstellung== | |||
Eine Brücke ''ABC'' der Masse ''m<sub>B</sub>'' und homogener Biegesteifigkeit ''EI'' ist in ''C'' gelenkig gelagert und in ''A'' sowie ''B'' mit einem Seil verbunden. Das undehnbare Seil wird dabei über eine kleine Rolle (Radius ''r ≪ ℓ'') in ''D'' haftungsfrei geführt. In Punkt C ist die Brücke über eine Drehfeder der Steifigkeit ''K<sub>C</sub>'' mit dem Lager verbunden. In A steht eine Person der Masse ''m<sub>A</sub>''. | |||
<onlyinclude> | |||
[[Datei:Kw50-01.png|300px|left|mini|Lageplan (wie [[Gelöste Aufgaben/Kw50|Kw50]])]] | |||
Geben Sie die Lösung für ein Euler-Bernoulli-Modell der Brücke mit dem Verfahren von [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Verfahren von Rayleigh-Ritz (EBB)|Rayleigh-Ritz (EBB)]] an - hier mit [https://de.wikipedia.org/wiki/Lagrange-Multiplikator Lagrange-Multiplikator] für die geometrische Zwangsbedingung. | |||
Dies ist eine Näherungslösung zu [[Gelöste Aufgaben/Kw50|Kw50]]. | |||
</onlyinclude> | |||
Ermitteln Sie die genäherten Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter: | |||
<math>\begin{array}{ll}K_C =&\displaystyle 5 \frac{E\,I}{\ell_0}\\m_A =&\displaystyle \frac{m_B}{5} \end{array}</math> | |||
== Lösung mit Maxima == | |||
In dieser Aufgabe berechnen wir eine Näherungslösung nach dem Verfahren von [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Verfahren von Rayleigh-Ritz (EBB)|Rayleigh-Ritz (EBB)]] zu [[Gelöste Aufgaben/Kw50|Kw50]]. | |||
Alle Überlegungen zur Geometrie des Systems übernehmen wir. | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Header | |||
|text= | |||
Für die Lösung nutzen wir hier das Ritz-Verfahren mit einer Variante: | |||
* die geometrische Zwangsbedingung für die Punkte ''A, B'' durch das Seil erfassen wir durch einen [https://de.wikipedia.org/wiki/Lagrange-Multiplikator Lagrange-Multiplikator]. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/*******************************************************/ | |||
/* MAXIMA script */ | |||
/* version: wxMaxima 18.10.1 */ | |||
/* author: Andreas Baumgart */ | |||
/* last updated: 2019-02-12 */ | |||
/* ref: TM-C, Labor 1, dimensionless representation */ | |||
/* description: finds the rayleigh-ritz with Lagragian */ | |||
/* Multiplyers for lab problem #3 */ | |||
/*******************************************************/ | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Declarations | |||
|text= | |||
Wir arbeiten mit den selben Parametern und Bezugslängen, wie in [[Gelöste Aufgaben/Kw50|Kw50]]. | |||
Insbesondere gilt auch hier wieder | |||
::<math>\displaystyle W_B = -\frac{W_A}{\sqrt{3}}</math>. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* declare variational variables - see 6.3 Identifiers */ | |||
declare("Δs", alphabetic); | |||
declare( "ϕ", alphabetic); /* = dw/dx*/ | |||
declare( "Π", alphabetic); /* elastic potential */ | |||
declare( "ℓ", alphabetic); | |||
declare( "λ", alphabetic); | |||
declare( "Λ", alphabetic); | |||
assume(ℓ[0]>0); | |||
/* system parameters */ | |||
params: [K[C] = kappa*EI/ℓ[0], | |||
q[0] = m[B]*g/ℓ[0], | |||
m[A] = theta*m[B], | |||
theta = 1/5, | |||
kappa = 5]; | |||
geometry: [alpha[A] = 30*%pi/180, | |||
alpha[B] = 60*%pi/180, | |||
ℓ[0] = ℓ[1]+ℓ[2], | |||
Δs[A] = W[A]*sin(alpha[A]), | |||
Δs[B] = W[B]*sin(alpha[B]), | |||
tan(alpha[B]) = H/ℓ[2], | |||
tan(alpha[A]) = H/ℓ[0], | |||
xi[1] = ℓ[1]/ℓ[0], | |||
xi[2] = ℓ[2]/ℓ[0]]; | |||
geometry: ratsimp(solve(geometry,[alpha[A],alpha[B],ℓ[1],ℓ[2],Δs[A],Δs[B],H,xi[1],xi[2]])[1]); | |||
/* reference length selected: */ | |||
dimless : ℓ[Bez] = 1/3*m[B]*g*ℓ[0]^3/(EI); /*cantilevered*/ | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Formfunctions | |||
|text= | |||
Nach "Ritz" wählen wir Trial-Functions über die gesamte Stablänge und müssen uns überlegen, welchen Aufwand wir dafür treiben wollen. | |||
Intuitiv wählen wir für jeden Punkt ''A, B, C'' jeweils eine Koordinate, hier | |||
::<math>\begin{array}{l}w(0) = W_A\\w(\ell_1) = W_B\\\displaystyle \frac{dw}{dx}|_{x=\ell} = \Phi_C\end{array}</math>. | |||
und brauchen - zusammen der geometrischen Randbedingung ''w(ℓ)=0'' ein Polynom mit vier freien Parametern - also ein Polynom dritten Grades. | |||
Mit dem Ansatz für die Formfunktion | |||
::<math>\displaystyle \tilde{w}(x) = \sum_{i=0}^3 C_i\cdot x^i</math> | |||
kommt aus den Bedingungen oben dann | |||
::<math>\displaystyle \tilde{w}( \xi) = \sum_{i=1}^3 Q_i \cdot \phi_i(\xi)</math> | |||
mit | |||
::<math>\underline{Q} = \left(\begin{array}{c}W_A\\W_B\\\Phi_C \end{array}\right)</math>.[[Datei:Kw51.png|mini|Trial-Functions]]Und so sehen sie aus, unsere drei [[Sources/Lexikon/Trial-Function|Trial-Functions]]: | |||
Für die Formfunktion gilt aber immer die geometrische Zwangsbedingung: | |||
::<math>\displaystyle W_B = -\frac{W_A}{\sqrt{3}}</math>. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* coordinates */ | |||
Q : [W[A],W[B],Phi[C],λ]; | |||
/* raw trial function */ | |||
v(x) := sum(C[i]*x^i,i,0,3); | |||
/* formfunctions */ | |||
const: [subst([x= 0 ], v(x) ) = W[A], | |||
subst([x=ℓ[1]], v(x) ) = W[B], | |||
subst([x=ℓ[0]], diff(v(x),x))= Phi[C], | |||
subst([x=ℓ[0]], v(x) ) = 0 ]; | |||
trials : expand(subst(solve(subst(geometry,const), makelist(C[i],i,0,3))[1],v(x))); | |||
phi : makelist(ratsimp(coeff(trials,Q[i])),i,1,3); | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Equilibrium Conditions | |||
|text= | |||
Die Potentiale aus Elastischer Energien und Arbeitsfunktion der Gewichtskräfte sind | |||
::<math>\begin{array}{lll} U =& &\displaystyle \frac{1}{2}\cdot \int_0^\ell E I\; w''^2 \; dx + \frac{1}{2}\cdot K_C \cdot \Phi_C^2\\ &-&\displaystyle \int_0^\ell q_0 \; w \; dx - m_A\,g\; W_A \end{array}</math>. | |||
Nach dem Prinzip vom Minimum der Potentiellen Energie ist das System im Gleichgewicht, wenn das Potential ''U'' des Systems | |||
::<math>\displaystyle \frac{dU}{dQ_i} = 0 \text{ für } Q_i \in \left( W_A, W_B, \Phi_C\right)</math> | |||
erfüllt. Und sich zusätzlich an die Zwangsbedingung hält! | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/******************************************************/ | |||
/* Boundary Value Problem Formulation */ | |||
/* elastic and gravitational potential */ | |||
PMPE : [Π[P] = 1/2*integrate(EI*'diff(w(x),x,2)^2, x,0,ℓ[0]) + 1/2*K[C]*Phi[C]^2, | |||
A[P] = integrate(q[0]*w(x), x,0,ℓ[0]) + m[A]*g*W[A]]; | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Geometric Constraints | |||
|text= | |||
Das können wir mit dem Konzept der Lagrange-Multiplikatoren erfassen. Dafür schreiben wir | |||
::<math>\Lambda (\underline{Q}) = U + \lambda\cdot \underbrace{\left( \Delta s_A + \Delta s_B\right)}_{\displaystyle \equiv \sqrt{3}\, W_B+W_A} </math> | |||
mit dem Lagrange-Multiplikator ''λ''. Die neuen Gleichgewichtsbedingungen lauten nun | |||
::<math>\displaystyle \frac{d\Lambda}{dQ_i} = 0 \text{ für alle } Q_i </math> | |||
und wir erhalten die vier Gleichungen | |||
::<math>\begin{array}{cc} \displaystyle \frac{\lambda }{2}-\frac{49 {m_B} g}{120}-\frac{17 {{\Phi}_C}\, EI}{{\ell_{0}^{2}}}-\frac{108 {W_B}\, EI}{{\ell_{0}^{3}}}+\frac{19 {W_A}\, EI}{{\ell_{0}^{3}}}&=0\\ \displaystyle \frac{\sqrt{3} \lambda }{2}-\frac{9 {m_B} g}{8}+\frac{135 {{\Phi}_C}\, EI}{{\ell_{0}^{2}}}+\frac{729 {W_B}\, EI}{{\ell_{0}^{3}}}-\frac{108 {W_A}\, EI}{{\ell_{0}^{3}}}&=0\\ | |||
\displaystyle -\frac{{\ell_0}\, {m_B} g}{12}+\frac{33 {{\Phi}_C}\, EI}{{\ell_0}}+\frac{135 {W_B}\, EI}{{\ell_{0}^{2}}}-\frac{17 {W_A}\, EI}{{\ell_{0}^{2}}}&=0\\ | |||
\displaystyle \frac{\sqrt{3}\, {W_B}}{2}+\frac{{W_A}}{2}&=0 \end{array}</math>. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* gemetric constraints */ | |||
trials: w(x) = sum(Q[i]*phi[i],i,1,3); | |||
print('phi = expand(subst([x=ℓ[0]*xi],phi)))$ | |||
plot2d(ratsimp(subst([x = xi*ℓ[0]],phi)*[1,1,1/ℓ[0]]), [xi,0,1], | |||
[legend, "W[A]","W[B]","Φ[C]"], [xlabel, "x/ℓ →"], [ylabel, "ϕ[i] →"]); | |||
PMPE: subst(trials, PMPE); | |||
PMPE: ev(PMPE,nouns); | |||
U: expand(subst(PMPE,Π[P] - A[P])); | |||
/* Lagrange-Function */ | |||
Λ : U + subst(geometry,λ*(Δs[A]+Δs[B])); | |||
/* Equilibrium Conditions */ | |||
eom : subst(params,makelist( diff(Λ,Q[i])=0, i,1,4)); | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Solving | |||
|text= | |||
Das Lösen des Gleichungssystems liefert dann | |||
::<math>\displaystyle \left(\begin{array}{c} W_A\\W_B\\\Phi_C\\\lambda \end{array}\right) = \frac{m_B\, g\, \ell_0^3}{3 \; E I} \left(\begin{array}{l}-3.78 10^{-5}\\+2.18 10^{-5}\\\displaystyle +0.00747 \frac{1}{\ell_0}\\\displaystyle +2.71 \frac{EI}{\ell_0^3} \end{array} \right)</math>. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* Solving */ | |||
sol: float(solve(eom,Q)[1]); | |||
</syntaxhighlight> | |||
}} | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Post-Processing | |||
|text= | |||
Und die Ergebnisse können wir uns anschauen ... | |||
==== ... für w(x): ==== | |||
[[Datei:Kw51-11.png|mini|Auslenkung ''w(x)''|alternativtext=|ohne]] | |||
==== ... für ''Φ(x)'': ==== | |||
[[Datei:Kw51-12.png|mini|Kippwinkel ''Φ(x)''|alternativtext=|ohne]] | |||
==== ... für M(x): ==== | |||
[[Datei:Kw51-13.png|mini|Biegemoment ''M(x)''|alternativtext=|ohne]] | |||
==== ... für Q(x): ==== | |||
[[Datei:Kw51-14.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]] | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* Post-Processing */ | |||
w : subst([x=xi*ℓ[0]],subst(geometry,subst(sol, sum(Q[j]*phi[j],j,1,3)))); | |||
fcts: [ w , | |||
diff(w,xi )/ℓ[0] , | |||
-EI*diff(w,xi,2)/ℓ[0]^2, | |||
-EI*diff(w,xi,3)/ℓ[0]^3]; | |||
fcts: float(subst(geometry,expand(fcts)))$ | |||
facts: [1/ℓ[Bez], ℓ[0]/ℓ[Bez], 1/(m[B]*g*ℓ[0]), 1/(m[B]*g)]; | |||
textlabels : ["← w(x)/ℓ[Bez]", "← w'(x)/(ℓ[Bez]/ℓ[0]) →", "M(x)/(m[B]*g*ℓ) →", "Q(x)/(m[B]g →"]; | |||
for i: 1 thru 4 do( | |||
f : expand(subst(dimless,facts[i]*fcts[i])), | |||
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []", | |||
plot2d(f, [xi,0,1], [legend, false], | |||
[gnuplot_preamble, preamble], | |||
[xlabel, "x/ℓ →"], | |||
[ylabel, textlabels[i]]))$ | |||
</syntaxhighlight> | |||
}} | |||
<hr/> | |||
'''Links''' | |||
* [[Gelöste Aufgaben/Kw50|Aufgabe Kw50]] (analytische Lösung dieser Aufgabe) | |||
* [[Gelöste Aufgaben/Kw52|Aufgabe Kw52]] (Lösung dieser Aufgabe mit dem Ansatz von Rayleigh-Ritz und Lagrange-Multiplikator) | |||
* [[Gelöste Aufgaben/Kw53|Aufgabe Kw53]] (Lösung dieser Aufgabe mit dem Ansatz von Rayleigh-Ritz) | |||
'''Literature''' | |||
* ... |
Version vom 30. März 2021, 06:56 Uhr
Aufgabenstellung
Eine Brücke ABC der Masse mB und homogener Biegesteifigkeit EI ist in C gelenkig gelagert und in A sowie B mit einem Seil verbunden. Das undehnbare Seil wird dabei über eine kleine Rolle (Radius r ≪ ℓ) in D haftungsfrei geführt. In Punkt C ist die Brücke über eine Drehfeder der Steifigkeit KC mit dem Lager verbunden. In A steht eine Person der Masse mA.
Geben Sie die Lösung für ein Euler-Bernoulli-Modell der Brücke mit dem Verfahren von Rayleigh-Ritz (EBB) an - hier mit Lagrange-Multiplikator für die geometrische Zwangsbedingung.
Dies ist eine Näherungslösung zu Kw50.
Ermitteln Sie die genäherten Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
Lösung mit Maxima
In dieser Aufgabe berechnen wir eine Näherungslösung nach dem Verfahren von Rayleigh-Ritz (EBB) zu Kw50.
Alle Überlegungen zur Geometrie des Systems übernehmen wir.
Header
Für die Lösung nutzen wir hier das Ritz-Verfahren mit einer Variante:
- die geometrische Zwangsbedingung für die Punkte A, B durch das Seil erfassen wir durch einen Lagrange-Multiplikator.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 18.10.1 */
/* author: Andreas Baumgart */
/* last updated: 2019-02-12 */
/* ref: TM-C, Labor 1, dimensionless representation */
/* description: finds the rayleigh-ritz with Lagragian */
/* Multiplyers for lab problem #3 */
/*******************************************************/
Declarations
Wir arbeiten mit den selben Parametern und Bezugslängen, wie in Kw50.
Insbesondere gilt auch hier wieder
- .
/* declare variational variables - see 6.3 Identifiers */
declare("Δs", alphabetic);
declare( "ϕ", alphabetic); /* = dw/dx*/
declare( "Π", alphabetic); /* elastic potential */
declare( "ℓ", alphabetic);
declare( "λ", alphabetic);
declare( "Λ", alphabetic);
assume(ℓ[0]>0);
/* system parameters */
params: [K[C] = kappa*EI/ℓ[0],
q[0] = m[B]*g/ℓ[0],
m[A] = theta*m[B],
theta = 1/5,
kappa = 5];
geometry: [alpha[A] = 30*%pi/180,
alpha[B] = 60*%pi/180,
ℓ[0] = ℓ[1]+ℓ[2],
Δs[A] = W[A]*sin(alpha[A]),
Δs[B] = W[B]*sin(alpha[B]),
tan(alpha[B]) = H/ℓ[2],
tan(alpha[A]) = H/ℓ[0],
xi[1] = ℓ[1]/ℓ[0],
xi[2] = ℓ[2]/ℓ[0]];
geometry: ratsimp(solve(geometry,[alpha[A],alpha[B],ℓ[1],ℓ[2],Δs[A],Δs[B],H,xi[1],xi[2]])[1]);
/* reference length selected: */
dimless : ℓ[Bez] = 1/3*m[B]*g*ℓ[0]^3/(EI); /*cantilevered*/
Formfunctions
Nach "Ritz" wählen wir Trial-Functions über die gesamte Stablänge und müssen uns überlegen, welchen Aufwand wir dafür treiben wollen.
Intuitiv wählen wir für jeden Punkt A, B, C jeweils eine Koordinate, hier
- .
und brauchen - zusammen der geometrischen Randbedingung w(ℓ)=0 ein Polynom mit vier freien Parametern - also ein Polynom dritten Grades.
Mit dem Ansatz für die Formfunktion
kommt aus den Bedingungen oben dann
mit
- .Und so sehen sie aus, unsere drei Trial-Functions:
Für die Formfunktion gilt aber immer die geometrische Zwangsbedingung:
- .
/* coordinates */
Q : [W[A],W[B],Phi[C],λ];
/* raw trial function */
v(x) := sum(C[i]*x^i,i,0,3);
/* formfunctions */
const: [subst([x= 0 ], v(x) ) = W[A],
subst([x=ℓ[1]], v(x) ) = W[B],
subst([x=ℓ[0]], diff(v(x),x))= Phi[C],
subst([x=ℓ[0]], v(x) ) = 0 ];
trials : expand(subst(solve(subst(geometry,const), makelist(C[i],i,0,3))[1],v(x)));
phi : makelist(ratsimp(coeff(trials,Q[i])),i,1,3);
Equilibrium Conditions
Die Potentiale aus Elastischer Energien und Arbeitsfunktion der Gewichtskräfte sind
- .
Nach dem Prinzip vom Minimum der Potentiellen Energie ist das System im Gleichgewicht, wenn das Potential U des Systems
erfüllt. Und sich zusätzlich an die Zwangsbedingung hält!
/******************************************************/
/* Boundary Value Problem Formulation */
/* elastic and gravitational potential */
PMPE : [Π[P] = 1/2*integrate(EI*'diff(w(x),x,2)^2, x,0,ℓ[0]) + 1/2*K[C]*Phi[C]^2,
A[P] = integrate(q[0]*w(x), x,0,ℓ[0]) + m[A]*g*W[A]];
Geometric Constraints
Das können wir mit dem Konzept der Lagrange-Multiplikatoren erfassen. Dafür schreiben wir
mit dem Lagrange-Multiplikator λ. Die neuen Gleichgewichtsbedingungen lauten nun
und wir erhalten die vier Gleichungen
- .
/* gemetric constraints */
trials: w(x) = sum(Q[i]*phi[i],i,1,3);
print('phi = expand(subst([x=ℓ[0]*xi],phi)))$
plot2d(ratsimp(subst([x = xi*ℓ[0]],phi)*[1,1,1/ℓ[0]]), [xi,0,1],
[legend, "W[A]","W[B]","Φ[C]"], [xlabel, "x/ℓ →"], [ylabel, "ϕ[i] →"]);
PMPE: subst(trials, PMPE);
PMPE: ev(PMPE,nouns);
U: expand(subst(PMPE,Π[P] - A[P]));
/* Lagrange-Function */
Λ : U + subst(geometry,λ*(Δs[A]+Δs[B]));
/* Equilibrium Conditions */
eom : subst(params,makelist( diff(Λ,Q[i])=0, i,1,4));
Solving
Das Lösen des Gleichungssystems liefert dann
- .
/* Solving */
sol: float(solve(eom,Q)[1]);
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):
/* Post-Processing */
w : subst([x=xi*ℓ[0]],subst(geometry,subst(sol, sum(Q[j]*phi[j],j,1,3))));
fcts: [ w ,
diff(w,xi )/ℓ[0] ,
-EI*diff(w,xi,2)/ℓ[0]^2,
-EI*diff(w,xi,3)/ℓ[0]^3];
fcts: float(subst(geometry,expand(fcts)))$
facts: [1/ℓ[Bez], ℓ[0]/ℓ[Bez], 1/(m[B]*g*ℓ[0]), 1/(m[B]*g)];
textlabels : ["← w(x)/ℓ[Bez]", "← w'(x)/(ℓ[Bez]/ℓ[0]) →", "M(x)/(m[B]*g*ℓ) →", "Q(x)/(m[B]g →"];
for i: 1 thru 4 do(
f : expand(subst(dimless,facts[i]*fcts[i])),
preamble: if i<=2 then "set yrange [] reverse" else "set yrange []",
plot2d(f, [xi,0,1], [legend, false],
[gnuplot_preamble, preamble],
[xlabel, "x/ℓ →"],
[ylabel, textlabels[i]]))$
Links
- Aufgabe Kw50 (analytische Lösung dieser Aufgabe)
- Aufgabe Kw52 (Lösung dieser Aufgabe mit dem Ansatz von Rayleigh-Ritz und Lagrange-Multiplikator)
- Aufgabe Kw53 (Lösung dieser Aufgabe mit dem Ansatz von Rayleigh-Ritz)
Literature
- ...