Gelöste Aufgaben/Kita: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 463: | Zeile 463: | ||
|text=Die Verläufe der Auslenkung und Schnittkräfte - hier exemplarisch das Biegemoment - können wir nun plotten: | |text=Die Verläufe der Auslenkung und Schnittkräfte - hier exemplarisch das Biegemoment - können wir nun plotten: | ||
<table> | <table> | ||
<tr><td>[[Datei:Kita-21.png| | <tr><td>[[Datei:Kita-21.png|500px|mini|Auslenkung der Querschnitte]]</td><td>[[Datei:Kita-22.png|500px|mini|Biegemomente]]</td></tr> | ||
</table> | </table> | ||
Version vom 14. September 2022, 19:28 Uhr
Aufgabenstellung
Das skizzierte System ist ein Mast unter einer linear veränderlichen Windlast, der durch drei gleichmäßig über den Umfang verteilten Stäbe abgestützt wird.
Gesucht ist die analytische Lösung für ein Euler-Bernoulli-Modell des elastischen Mastes und der drei Dehnstäbe.
Der Mast steht senkrecht dabei auf einer ebenen Unterlage mit dem festen Gelenklager „O“ und ist durch drei Stäbe abgestützt. Alle Stäbe sind in Punkt „H“ mit dem Mast verbunden und in den Punkten „A“, „B“ und „C“ gelenkig gelagert. Die Lager A, B und C sind gleichmäßig in einem Radius von R um O herum auf der Unterlage verteilt. Die Windlast hat den Maximalwert qT und wirkt in der Ebene, die durch die Punkte A, O und H aufgespannt werden. Für die Geometrie des Masts gilt h1 = 2 h2, h2 = √2 R, außerdem sei die Dehnsteifigkeiten der Stäbe E A2=2 E A1,E A3=E A1.
Der Mast hat ein zylindrisches Profil mit Innen- und Außendurchmesser di, da.
Ein Knicken der drei Stäbe sei ausgeschlossen.
Lösung mit Maxima
Mit Maxima berechnen wir die allgemeine Lösung der Differentialgleichung des Euler-Bernoulli-Balkens und geben die Rand- und Übergangsbedingungen an. Der Mast soll in Längsrichtung nicht signifikant durch die Stabkräfte verformt werden, als Koordinaten der Verschiebung haben hier also nur die Auslenkungen Querrichtung sowie die Verdrehungen um diese Koordinatenrichtungen. Die Stabkräfte berechnen wir aus der Längung der Stäbe, dabei linearisieren wir bezüglich der Mast-Auslenkungen.
Header
Kern der Lösung ist die Berechnung der Integrationskonstanten des Euler-Bernoulli-Balkens. In diesem Beispiel führen wir zusätzliche Konstanten ein, um die Rand- und Übergangsbedingungen einfacher formulieren zu können.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 21.05.2 */
/* author: Andreas Baumgart */
/* last updated: 2022-08-19 */
/* ref: NMM, Labor 1 */
/* Mast unter linear-veränderlicher Windlast */
/* */
/*******************************************************/
Declarations
Wir übernehmen die Parameter aus der Aufgabenstellung, also
und definieren für die Berechnung der Stabkräfte die Referenzorte von A, B, C und H wie skizziert im x, y, z Koordinatensystem zu
Die Koordinaten der Vektoren, die jeweils in Stablängsrichtung von H zu den Lagerpunkten zeigen, sind dann
die Referenz-Länge aller drei Stäbe ist damit
- .
Und wir schreiben damit die Koordinaten der Einheitsvektoren dieser Stab-Längsrichtungen als
- .
/*******************************************************/
/* declarations */
/* *****************************************************/
/* parameter selection */
params: [EA[2]=2*EA[1],EA[3]=EA[1], h[1] = 2*h[2], h[2]=sqrt(2)*R, EA[1] = α*EI/R^2];
assume(R>0);
/* non-sclar variables */
declare(r,nonscalar,
e,nonscalar);
/* geometry **********************************/
/* points */
geo: [r[H] = matrix([ h[1], 0, 0]),
r[A] = matrix([ 0 , R*sin( 0 ),-R*cos( 0 )]),
r[B] = matrix([ 0 , R*sin(-2*%pi/3),-R*cos(-2*%pi/3)]),
r[C] = matrix([ 0 , R*sin(+2*%pi/3),-R*cos(+2*%pi/3)])];
geo: append(geo, subst(geo, [r[1] = r[A]-r[H],
r[2] = r[B]-r[H],
r[3] = r[C]-r[H]]));
geo: append(geo, [L = sqrt(subst(geo,r[1]).subst(geo,r[1]))]);
/* unit-vecotor coefficients */
geo: append(geo, makelist(e[i]=subst(geo,r[i]/L),i,1,3));
Integration Of Differential Equation for Euler-Bernoulli-Beam
In den Bereichen I und II haben wir jeweils eine Auslenkung des Masts in zwei Richtungen: z und y.
Wir nutzen die Standard-Nomenklatur für den Euler-Bernoulli-Balken und schrieben jeweils die Gleichgewichtsbedingungen
... in z-Richtung als | ... in y-Richtung als | |
---|---|---|
. | . | |
Für die Auslenkungen in z und y-Richtung geben wir hier die Bedeutung der Koordinaten vi(x), wi(x) je Bereich und deren Ableitungen an. Es ist | ||
... die Querschnitts-Auslenkung: | ||
... die Querschnitts-Verdrehung: | ||
... das Biege-Moment: | und | |
... die Querkraft: |
Für die Streckenlasten auf den Mast gilt je Bereich "i":
- ... in z-Richtung: und
- ... in y-Richtung:
wobei
Mit diesen Ansätzen erhalten wir aus der Integration der Differentialbeziehung für den Euler-Bernoulli-Balken diese generischen (weil mit Integrationskonstanten) Lösungen:
Richung ... | z | y |
---|---|---|
Bereich I: | ||
Bereich II: |
Wir haben also Bereich I und II für Richtungen z und y mit jeweils 4 integrationskonstanten - insgesamt 16.
/*******************************************************/
/* differential equations for EB-beam */
/* and generic solution */
/* *****************************************************/
dgl: diff(w(x),x,4)=-1/EI*(q[i-1]*(1-x/h[i])+q[i]*x/h[i]);
dgl: integrate(integrate(integrate(integrate(dgl,x),x),x),x);
sectionReplace: [[%c1=c[ 1],%c2=c[ 2],%c3=c[ 3],%c4=c[ 4], q[i-1]= 0 , q[i]=q[H],h[i]=h[1] ],
[%c1=c[ 9],%c2=c[10],%c3=c[11],%c4=c[12], q[i-1]=q[H], q[i]=q[T],h[i]=h[2] ],
[%c1=c[ 5],%c2=c[ 6],%c3=c[ 7],%c4=c[ 8], q[i-1]= 0 , q[i]= 0 ,h[i]=h[1], w(x)=v(x)],
[%c1=c[13],%c2=c[14],%c3=c[15],%c4=c[16], q[i-1]= 0 , q[i]= 0 ,h[i]=h[2], w(x)=v(x)]];
/* create 4 lists for each section */
sol: [makelist(subst(sectionReplace[i],[dgl]),i,1,2),
makelist(subst(sectionReplace[i],[dgl]),i,3,4)];
sol: subst([q[H] = q[T]*h[1]/(h[1]+h[2])],sol);
/* tilt-angles, bending and cross-sec. force */
/* see Gross e.a.: Technische Mechanik 2, p156 */
for dir:1 thru 2 do
for sec:1 thru 2 do
(sol[dir][sec]: append(sol[dir][sec], [[ φ(x) , ψ(x) ][dir] = diff(subst(sol[dir][sec],[w(x),v(x)][dir]),x )]),
sol[dir][sec]: append(sol[dir][sec], [[M[y](x),M[z](x)][dir] = [-1,+1][dir]*EI*diff(subst(sol[dir][sec],[w(x),v(x)][dir]),x,2)]),
sol[dir][sec]: append(sol[dir][sec], [[Q[z](x),Q[y](x)][dir] = [-1,-1][dir]*EI*diff(subst(sol[dir][sec],[w(x),v(x)][dir]),x,3)]));
Forces in Supporting Rods
Die Zugkräfte Si in den drei Dehnstäben erhalten wir aus der Stab-Längung , also
Die Bilder rechts zeigen die Stabkräfte am freigeschnittenen Punkt H des Masts. Bei der Berechnung der Stabkräfte ist die Längung von Stab i. Die Kraft hat als Richtung , also ist
- .
Es fehlt nur noch die Stablängung je Stab – und die bekommen wir aus dem Vergleich der Geometrie des Stabes im verformten und unverformten Zustand.
Analog zur Länge des Stabes im unverformten Zustand ist nun der Ort von H
und die Koeffizienten der Stab-Vektoren sind nun
- .
Die Differenzlänge erhalten wir – nach dem gleichen Schema wie oben aus
- .
In
steht nun allerdings ein komplizierter, nichtlinearer Ausdruck. Den linearisieren wir, schreiben also
und erhalten damit
/*******************************************************/
/* forces S[i] in supporing rods */
/* S[i] as a function of W[H] and V[H] *****************/
/* *****************************************************/
ΔL: subst(geo,[r[A] - (r[H]+matrix([0,V[H],W[H]])),
r[B] - (r[H]+matrix([0,V[H],W[H]])),
r[C] - (r[H]+matrix([0,V[H],W[H]]))]);
ΔL: makelist(sqrt(ΔL[i].ΔL[i])-subst(geo,L),i,1,3);
displ: [W[H],V[H]];
null : makelist(displ[i]=0,i,1,2);
/* linearize .... */
ΔL: sum(subst(null, diff(ΔL,displ[j]))*displ[j],j,1,2);
S : makelist(EA[i]*ΔL[i]/subst(geo,L),i,1,3);
Boundary- and Transition-Conditions
Aus der Lösung der Differentialgleichungen für zwei Raumrichtungen und zwei Bereiche haben wir 16 Integrationskonstanten, die wir bestimmen müssen. Hinzu kommen VH und WH für den Knoten H. Um hier konsistent zu sein, führen wir für die Knoten H und T – die Mastspitze – die Koordinaten der Auslenkung und Kippung der Querschnitte ein, also zusammen die 8 Knotenvariablen
Richtung | z | y |
---|---|---|
Knoten T Auslenkung Kippwinkel | , | , |
Knoten H Auslenkung Kippwinkel | , | , |
Knoten 0 Auslenkung Kippwinkel | % | % |
Die Unbekannten fassen wir also in
zusammen.
Für diese 24 Unbekannten brauchen wir nun 24 Gleichungen – Geometriebedingungen und Kräfte-/Momentengleichgewichte.
... aus Rand O
Geometrische Bedingungen:
Kraft- und Momenten-Randbedingungen:
- keine
... aus Übergang H
Geometrische Bedingungen:
Kraft- und Momenten-Randbedingungen: Hier wird es spannend: durch die drei Stäbe werden Kräfte eingeleitet,
Einfach sind die Momenten-Gleichgewichtsbedingungen am Knoten H - hier wird kein externes Moment eingeleitet, die beiden Schnittmomente müssen gleich sein:
Für die Kraft-Übergangsbedingungen in y- und z-Richtung müssen wir nun allerdings die Seilkräfte mit einbeziehen:
... aus Rand T
Geometrische Bedingungen: Für die geometrischen Randbedingen haben wir nur die Gleichungen, die unsere Abkürzungen einführen, also
Kraft- und Momenten-Randbedingungen: Hier ist ein freier Rand: Kraft und Moment in T müssen Null sein:
Damit sind wir komplett - wir haben 24 Gleichungen für 24 Unbekannte. Das Gleichungssystem können wir nun als
schreiben - oder mit den Systemparametern ausgeschreiben als
/******************************************************/
/* Boundary Value Problem Formulation */
/* ****************************************************/
/* point "O" */
BC: [subst(x= 0 , subst(sol[1][1],w(x)) )= 0 ,
subst(x= 0 , subst(sol[2][1],v(x)) )= 0 ,
subst(x= 0 , subst(sol[1][1],φ(x)) )= 0 ,
subst(x= 0 , subst(sol[2][1],ψ(x)) )= 0 ,
/* point "H" - geometry */
subst(x= h[1], subst(sol[1][1],w(x)) )=W[H],
subst(x= h[1], subst(sol[2][1],v(x)) )=V[H],
subst(x= 0 , subst(sol[1][2],w(x)) )=W[H],
subst(x= 0 , subst(sol[2][2],v(x)) )=V[H],
subst(x= h[1], subst(sol[1][1],φ(x)) )=Φ[H],
subst(x= h[1], subst(sol[2][1],ψ(x)) )=Ψ[H],
subst(x= 0 , subst(sol[1][2],φ(x)) )=Φ[H],
subst(x= 0 , subst(sol[2][2],ψ(x)) )=Ψ[H],
/* point "H" - bending moments */
subst(x= h[1], subst(sol[1][1],M[y](x)) )=subst(x= 0 , subst(sol[1][2],M[y](x)) ),
subst(x= h[1], subst(sol[2][1],M[z](x)) )=subst(x= 0 , subst(sol[2][2],M[z](x)) ),
/* point "H" - forces */
subst(x= h[1], subst(sol[1][1],Q[z](x)) )=subst(x= 0 , subst(sol[1][2],Q[z](x)) ) - sum(S[i]*subst(geo,e[i]),i,1,3)[1][3],
subst(x= h[1], subst(sol[2][1],Q[y](x)) )=subst(x= 0 , subst(sol[2][2],Q[y](x)) ) - sum(S[i]*subst(geo,e[i]),i,1,3)[1][2],
/* point "T" (Top) - geometry */
subst(x= h[2], subst(sol[1][2],w(x)) )=W[T],
subst(x= h[2], subst(sol[2][2],v(x)) )=V[T],
subst(x= h[2], subst(sol[1][2],φ(x)) )=Φ[T],
subst(x= h[2], subst(sol[2][2],ψ(x)) )=Ψ[T],
/* point "T" (Top) - bending moment */
subst(x= h[2], subst(sol[1][2],M[y](x)) ) = 0,
subst(x= h[2], subst(sol[2][2],M[z](x)) ) = 0,
/* point "T" (Top) - forces */
subst(x= h[2], subst(sol[1][2],Q[z](x)) ) = 0,
subst(x= h[2], subst(sol[2][2],Q[y](x)) ) = 0];
C: append(makelist(c[i],i,16), [W[H],V[H],Φ[H],Ψ[H],W[T],V[T],Φ[T],Ψ[T]]);
scale: [1,1,1,1,1,1,1,1,1,1,
1,1,EI,EI,EI,EI,1,1,1,1,
EI,EI,EI,EI];
for i:1 thru 24 do BC[i]:BC[i]/scale[i];
ACM: ratsimp(augcoefmatrix(BC,C));
a: submatrix(ACM,25);
b:-col(ACM,25);
Solving
Dieses lineare Gleichungssystem kann man gerade noch analytisch lösen - wir finden die gesuchten Integrationskonstanten und Knotenvariablen
/*******************************************************/
/* solve for integration constants */
/* *****************************************************/
consts: ratsimp(solve(ratsimp(subst(params,BC)),C)[1]);
sol: subst(consts,sol);
toReplace: [x=ξ*h[1],x=ξ*h[2]];
for dir: 1 thru 2 do
for sec: 1 thru 2 do
(print(dir,sec),
for elem: 1 thru 4 do
sol[dir][sec][elem]: lhs(sol[dir][sec][elem])=subst(toReplace[sec],rhs(sol[dir][sec][elem])));
Post-Processing
Die Verläufe der Auslenkung und Schnittkräfte - hier exemplarisch das Biegemoment - können wir nun plotten:
/*******************************************************/
/* post-processing */
/*******************************************************/
/* what is a reasonable size is α ? */
/* geopar: [A[1]= π/ 4*d[r]^2, d[r]=1*cm,
I = π/64*(d[o]^4-d[i]^4), d[o]=10*cm, d[i]=9*cm,
R = h[2]/sqrt(2), h[2]=500*cm,
α = A[1]*R^2/I ] */
sol: ratsimp(subst([α=500],subst(params,sol)));
toPlot: ratsimp([subst(sol[1][1],w(x)/R),subst(sol[1][2],w(x)/R),subst(sol[2][1],v(x)/R),subst(sol[2][2],v(x)/R)]/(q[T]*R^3/6/EI));
plot2d([[parametric, ξ, toPlot[1], [ξ,0,1]],
[parametric, 1+ξ*subst(params,h[2]/h[1]), toPlot[2], [ξ,0,1]],
[parametric, ξ, toPlot[3], [ξ,0,1]],
[parametric, 1+ξ*subst(params,h[2]/h[1]), toPlot[4], [ξ,0,1]]],
[legend, "w(x), sec 1", "w(x), sec 2", "v(x), sec 1", "v(x), sec 2"],
[xlabel, "x/h_1->"],[ylabel, "w(x)/W_0, v(x)/V_0 ->"])$
toPlot: ratsimp([subst(sol[1][1],M[y](x)),subst(sol[1][2],M[y](x)),subst(sol[2][1],M[z](x)),subst(sol[2][2],M[z](x))]/(q[T]*R^2));
plot2d([[parametric, ξ, toPlot[1], [ξ,0,1]],
[parametric, 1+ξ*subst(params,h[2]/h[1]), toPlot[2], [ξ,0,1]],
[parametric, ξ, toPlot[3], [ξ,0,1]],
[parametric, 1+ξ*subst(params,h[2]/h[1]), toPlot[4], [ξ,0,1]]],
[legend, "M_y(x), sec 1", "M_y(x), sec 2", "M_z(x), sec 1", "M_z(x), sec 2"],
[xlabel, "x/h_1->"],[ylabel, "M(x)/M_0 ->"])$
Links
- ...
Literature
- ...