Gelöste Aufgaben/Kw53
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 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
- .
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):
... 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,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
- ...