Gelöste Aufgaben/Kw56
Aufgabenstellung
Die Aufgabenstellung ist identisch mit Aufgabe Kw55, hier ist die Lösung mit dem Verfahren von Rayleigh-Ritz gefragt.
Gesucht ist eine Näherungslösung mit dem Verfahren von Rayleigh-Ritz für ein Euler-Bernoulli-Modell der Struktur.
Verwenden Sie zwei freie Trial-Funtions.
Lösung mit Maxima
Header
Die Herausforderung der Aufgabe liegt wieder in der kinematischen Zwangsbedingung, die der starre Stab abc dem Euler-Bernoulli-Balken auferlegt. Diese Zwangsbedingung lautet
- ,
mit den Abkürzungen
- wB = w( ℓ),
- wC = w(2ℓ).
Die geometrischen Randbedingungen in A erfüllen wir, indem wir Polynome ab dem Grad 2 verwenden.
Für die Lösung nach Rayleigh-Ritz können wir
- zwei freie Trial-Functions wählen, die die Zwangsbedingung selbst schon erfüllen
- mit Lagrange-Multiplikator die Zwangsbedingung einbauen.
Der zweite Weg ist bei Computer-Anwendungen meist viel einfacher - den gehen wir hier.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2019-09-01 */
/* ref: TMC */
/* description: Rayley-Ritz-Solution for EBB */
/* with kinemtic constraints */
/*******************************************************/
Declarations
Wir brauchen
und nutzen eine Referenzlösung (wie in Kw55)
.
/************************************************************/
/* declare variational variables - see 6.3 Identifiers */
declare( "ℓ", alphabetic);
declare( "ϕ", alphabetic);
declare( "λ", alphabetic);
/* system parameters */
params: [q[0] = m*g/ℓ];
dimless: [ x = xi*ℓ];
/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [W[ref] = q[0]*(2*ℓ)^4/(8*EI), ϕ[ref] = q[0]*(2*ℓ)^3/(6*EI), M[ref] = m*g*ℓ, Q[ref] = 2*m*g];
Formfunctions
Um zwei freie Trial-Functions zu bekommen, müssen wir drei ansetzen: ein Freiheitsgrad wird von der kinematischen Zwangsbedingung aufgehoben.
Also wählen wir
mit
und ergänzen dies um die Zwangsbedingung
- .
Achtung: Der Balken ist "2"-lang.
/************************************************************/
/* Rayleigh-Ritz */
/* trial function */
trial: w(xi) = W[ref]*sum(W[j]*xi^(j),j,2,4);
/* kinemtic constraints */
nodes : [W[B]=subst([xi=1], subst(trial,w(xi))), W[C]=subst([xi=2], subst(trial,w(xi)))];
BC: ratsimp(subst(nodes,[2*W[B]=W[C]])/W[ref])[1];
Equilibrium Conditions
Für die Gleichgewichtsbedingungen brauchen wir die potentielle Energie (hier die Lagrange-Funktion)
wobei der konstante Faktor bei dem Lagrange-Multiplikator λ nur der Ästhetik dient ....
Die gesuchten Größen sind nun
- ,
und die Gleichgewichtsbedingungen kommen aus
zu
- .
/* Lagrange formulation */
Lambda : + 1/2*ℓ*'integrate(EI*diff(w(xi),xi,2)^2/ℓ^4,xi,0,2)
- (2*m*g+m*g/2)*subst(nodes, W[B])+(m*g/2)*subst(nodes,W[C])
+ λ*m*g*(lhs(BC)-rhs(BC));
Lambda : subst(trial,Lambda);
Lambda : ev(Lambda, nouns);
X : append(makelist(W[j],j,2,4),[λ]);
fact: g^2*m^2*ℓ^3/EI;
eom : ratsimp(subst(params,subst(reference,
makelist(diff(Lambda/fact,X[i])=0,i,1,length(X))
)));
Solving
Dieses lineare Gleichungssystem hat die Lösung
/* solve! */
sol: solve(eom,X)[1];
Post-Processing
Einsetzen in die Trial-Functions liefert die (dimensionslosen) Funktionsverläufe für w, ϕ, M und Q:
/************************************************************/
/* post - processing */
/* cross-sectional bending moment */
toPlot : [
w[xi] = ratsimp(subst(trial,w(xi))/W[ref]),
ϕ[xi] = ratsimp(subst(params,subst(reference, diff(subst(trial,w(xi)),xi,1)/ℓ^1/ϕ[ref]))),
M[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,2)/ℓ^2/M[ref]))),
Q[xi] = ratsimp(subst(params,subst(reference,-EI*diff(subst(trial,w(xi)),xi,3)/ℓ^3/Q[ref])))
];
plot2d(subst(sol,subst(toPlot,[w[xi],ϕ[xi],M[xi],Q[xi]])),[xi,0,1],
[gnuplot_preamble, "set yrange [] reverse"],
[legend, "w", "ϕ", "M", "Q"],
[xlabel, "x/ℓ->"], [ylabel, "<-w/w_ref, ϕ/ϕ_ref, M/M_ref, Q/Q_ref"],
[style, [lines,2]]);
Links
- ...
Literature
- ...