Gelöste Aufgaben/Kw53

Aus numpedia
Version vom 31. März 2021, 06:38 Uhr von Mechaniker (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


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 ohneLagrange-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. Die geometrischen Zwangsbedingungen arbeiten wir direkt in die Trial-Functions ein.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 18.10.1                           */
/* author: Andreas Baumgart                            */
/* last updated: 2019-02-12                            */
/* ref: TM-C, Brigde-Problem                           */
/* description: finds the plain rayleigh-ritz solution */
/*              for lab problem #3                     */
/*******************************************************/




Declarations

Wir arbeiten mit den selben Parametern und Bezugslängen, wie in Kw50.


/* declare variational variables - see 6.3 Identifiers */
declare("Δs", alphabetic);
declare( "ϕ", alphabetic); 
declare( "Π", alphabetic); /* elastic potential */
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,
           ℓ[1]     = ℓ[0]-ℓ[2],
           Δs[A]    = W[A]*cos(%pi/2-alpha[A]),
           Δs[B]    = W[B]*cos(%pi/2-alpha[B]),
           tan(alpha[B])= H/ℓ[2],
           tan(alpha[A])= H/ℓ[0],
           xi[1]    = ℓ[1]/ℓ[0],
           xi[2]    = ℓ[2]/ℓ[0],
           0        = Δs[A]+Δs[B]];
geometry: ratsimp(solve(geometry,[alpha[A],alpha[B],ℓ[1],ℓ[2],Δs[A],Δs[B],H,xi[1],xi[2], W[B]])[1]);

/* reference length selected:                         */
dimless : ℓ[Bez] = 1/3*m[B]*g*ℓ[0]^3/(EI); /*cantilevered*/




Formfunctions

Nach "Ritz" wählen wir zwei Trial-Functions über die gesamte Stablänge. Als zugehörige, gesuchte Koordinaten wählen wir die Auslenkung in A und die Verdrehung in C, also

.

Die Trial-Functions müssen dann diesen geoemtrischen Zwangsbedingungen genügen:

.

Mit einem Polynom 3-ten Grades als Ansatz ist also unser Näherungsansatz für die Auslenkung dann

mit den Trial-Functions

.
Trial Functions

Und so sehen sie aus, unsere zwei Trial-Functions:


/* coordinates                                       */
Q : [W[A],Phi[C]];
v(x) := sum(C[i]*x^i,i,0,3);
/* gemetric constraints */
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,2);

trials: w(x) = sum(Q[i]*phi[i],i,1,2);
print('phi = expand(subst([x=ℓ[0]*xi],phi)))$

/* plot trial functions                               */
plot2d(ratsimp(subst([x = xi*ℓ[0]],phi)*[1,1/ℓ[0]]), [xi,0,1],
            [legend, "W[A]","Φ[C]"], [xlabel, "x/ℓ →"], [ylabel, "ϕ[i] →"]);




Potentials

Die Potentiale aus Elastischen Energien und Arbeitsfunktion der Gewichtskräfte sind

.

Einsetzten der Trial-Functions liefert

.

/******************************************************/
/* 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]];

PMPE: subst(trials, PMPE);
PMPE: ev(PMPE,nouns);

/* Potential                                          */
U: expand(subst(PMPE,Π[P] - A[P]));




Equilibrium Conditions

Nach dem Minimum Prinzip hat das Potential U ein Minimum - das Sytem ist im Gleichgewicht, wenn

.

In den System-Matrizen stehen hier

und
.

/* Equilibrium Conditions                             */
A[M] : ratsimp(funmake('matrix,2*[
                    [coeff(U,Q[1],2), coeff(coeff(U,Q[1],1),Q[2],1)/2],
                    [coeff(coeff(U,Q[2],1),Q[1],1)/2, coeff(U,Q[2],2)]
                    ]));
rest : expand(U-1/2*Q.A[M].transpose(Q));
b[M] : funmake('matrix,-makelist([coeff(rest,Q[i])],i,1,2));




Solving

Das Lösen des Gleichungssystems liefert dann

.

/* Solving                                            */
sol: linsolve_by_lu(subst(params,A[M]),subst(params,b[M]))[1];
sol : expand(float(sol));
sol : makelist(Q[i]=sol[i][1],i,1,2);




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,2))));

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

  • ...