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:
K C = 5 E I ℓ 0 m A = m B 5
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.
Für die Lösung nutzen wir hier das Ritz-Verfahren. Die geometrischen Zwangsbedingungen arbeiten wir direkt in die Trial-Functions ein.
📑 toggle code
/*******************************************************/
/* 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 .
📑 toggle code
/* 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
Q _ = ( W A Φ C ) .
Die Trial-Functions müssen dann diesen geoemtrischen Zwangsbedingungen genügen:
w ( 0 ) = W A w ( ℓ 1 ) = W B mit W B = − W A 3 d w d x | x = ℓ = Φ C .
Mit einem Polynom 3-ten Grades als Ansatz ist also unser Näherungsansatz für die Auslenkung dann
w ~ ( ξ ) = ∑ i = 1 2 Q i ⋅ ϕ i ( ξ )
mit den Trial-Functions
ϕ 1 = − 1 2 ( ( 3 5 2 + 3 ) ξ 3 + ( − 2 3 5 2 − 8 ) ξ 2 + ( 3 5 2 + 7 ) ξ − 2 ) ϕ 2 = ℓ o ⋅ ( 3 ξ 3 − 5 ξ 2 + 2 ξ ) .
Trial Functions Und so sehen sie aus, unsere zwei Trial-Functions :
📑 toggle code
/* 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
U = 1 2 ⋅ ∫ 0 ℓ E I w ′ ' 2 d x + 1 2 ⋅ K C ⋅ Φ C 2 − ∫ 0 ℓ q 0 w d x − m A g W A .
Einsetzten der Trial-Functions liefert
U = 1 2 ( W A , Φ C ) ( ( 8 3 5 2 + 2 6 2 ) E I ℓ 0 3 − ( 5 3 5 2 + 1 7 ) E I ℓ 0 2 − ( 5 3 5 2 + 1 7 ) E I ℓ 0 2 2 8 E I + ℓ 0 K C ℓ 0 ) ⏟ : = A _ _ ( W A Φ C ) − ( W A , Φ C ) ( m A g − 3 3 2 q 0 ℓ 0 8 + 5 q 0 ℓ 0 2 4 q 0 ℓ 0 2 1 2 ) ⏟ : = b _ .
📑 toggle code
/******************************************************/
/* 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
A _ _ ⋅ Q _ = b _ .
In den System-Matrizen stehen hier
A _ _ = ( 3 8 6 . 7 ⋅ E I ℓ 0 3 − 9 4 . 9 ⋅ E I ℓ 0 2 − 9 4 . 9 ⋅ E I ℓ 0 2 ℓ 0 ⋅ K C + 2 8 ⋅ E I ℓ 0 ) und
b _ = ( m A g − 0 . 4 ⋅ q 0 ⋅ ℓ 0 0 . 0 8 ⋅ q 0 ⋅ ℓ 0 2 ) .
📑 toggle code
/* 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
( W A Φ C ) = m B g ℓ 0 3 3 E I ( − 3 . 7 8 1 0 − 5 0 . 0 0 7 4 7 1 ℓ ) .
📑 toggle code
/* 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)
📑 toggle code
/* 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