Gelöste Aufgaben/Kw53: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „k“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
k
[[Category:Gelöste Aufgaben]]
[[Category:Dimensionslose Schreibweise]]
[[Category:Numerische Lösung]]
[[Category:Randwertproblem]]
[[Category:Biege-Belastung]]
[[Category:Euler-Bernoulli-Balken]]
[[Category:Rayleigh-Ritz-Prinzip]]
[[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 31. März 2021, 06:07 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.


Lageplan (wie Kw50)

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

.
Trial-Functions
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):

Auslenkung w(x)

... für Φ(x):

Kippwinkel Φ(x)

... für M(x):

Biegemoment M(x)

... für Q(x):

Querkraft 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

  • ...