Gelöste Aufgaben/FEC1/FEC1 - Teil II: Das Modell erstellen

Aus numpedia
Version vom 8. Juni 2022, 12:21 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

⬅ Zurück zu Teil I

Mathematisches Modell formulieren

Die Bewegungsgleichungen leiten wir mit dem Prinzip der virtuellen Verrückungen her, die Gleichgewichtsbedingung lautet also

δW=δWaδΠ=!0.

Die Anteile ergeben sich jeweils aus der Summe der Teilsysteme

δWa=iWia,δΠ=iΠi

mit

i{S,I,T,BB,BC,UA,UD} .

Auf keines der Teilsysteme wirkt eine äußere, eingeprägte Last (keine Kraft, kein Moment) - es treten also nur die Anteile der d'Alembert'schen Kräfte und der Formänderungsenergie auf.

Impeller- und Turbinen-Rad sowie die Unwuchten erfassen wir als Starrkörper - ihre virtuelle Formänderungsenergie ist Null:

δΠI=0δΠT=0δΠU,A=0δΠU,D=0 .

Für die beiden Lager berücksichtigen wir keine Massen, hier ist also

δWB,B=0δWB,C=0 .

Die verbleibenden virtuellen Arbeiten des Systems schreiben wir an, sortieren nach den Koordinaten und deren Variation und formen daraus das System von Bewegungsgleichungen.

Diskretisierung der Welle

Die Welle ist ein elastisches Kontinuum. Wir können sie als Stab (als eindimensionales Kontinuum) modellieren. Dabei passen

Der Einfachheit halber wählen wir den klassischen Euler-Bernoulli-Balken. Die Ansatzfunktionen und Element-Steifigkeits-Matrizen nehmen wir aus der FEM-Formulierung für den Euler-Bernoulli-Balken.

Für die Komplexität des Modells ist die Anzahl der Finiten Elemente entscheidend. Jeder Knoten eines Finite Elements für diesen 3D-Euler-Bernoulli-Ballken hat die vier Koordinaten

Vi(t)Ψi(t)Wi(t)Φi(t).

Die Anzahl der Koordinaten K ist also mit N als Anzahl der Elemente

K=4(N+1)

Uns geht es hier primär um die Anschaulichkeit - wir approximieren die Bewegung der Welle mit einem Finiten Element.

Damit sind die Koordinaten der Welle - und damit des Gesamt-Systems

Hier steht der Index 0 für Punkt A und Index 1 für Punkt B.


/*******************************************************/
/******************* PART   I **************************/
/*******************************************************/

/* define trial functions */
trial: w(x,t) = sum(a[i]*xi^i,i,0,3);
nodal : [W[0](t)  = subst([xi=0],subst(trial,w(x,t))),
         Φ[0](t)  = subst([xi=0],diff(subst(trial,w(x,t)),xi)/ℓ),
         W[1](t)  = subst([xi=1],subst(trial,w(x,t))),
         Φ[1](t)  = subst([xi=1],diff(subst(trial,w(x,t)),xi)/ℓ)];
trial: ratsimp(subst(solve(nodal,makelist(a[i],i,0,3))[1],trial));
/* translate to y-direction */
trial: [trial, subst([w(x,t)=v(x,t),W[0](t)=V[0](t),W[1](t)=V[1](t), Φ[0](t)=Ψ[0](t), Φ[1](t)=Ψ[1](t)],trial)];

/* shaft nodal coordinates */
Q: [[ V[0](t),  Ψ[0](t),  W[0](t),  Φ[0](t),  V[1](t),  Ψ[1](t),  W[1](t),  Φ[1](t),  V[i](t),  Ψ[i](t),  W[i](t),  Φ[i](t)], 
    [δV[0]   , δΨ[0]   , δW[0]   , δΦ[0]   , δV[1]   , δΨ[1]   , δW[1]   , δΦ[1]   , δV[i]   , δΨ[i]   , δW[i]   , δΦ[i]   ]];
/* variation of coordinates            */
varia: makelist(Q[1][i]=Q[2][i],i,1,8);
/* null-reference for linearization   */
nuller : makelist(Q[1][i]=0,i,1,12);




Virtuelle Arbeit von D'Alembert'schen Trägheitkräften

Allgemein ist die Virtuelle Arbeit von D'Alembert'schen Trägheitkräften definiert als

δWa=V(ρr¨)δrdV.

Wir brauchen also nur einen Ortsvektor zu den materiellen Punkten der Körper als Funktion der Koordinaten der Bewegung - den wir dann in die Beziehung oben einsetzen und über das Volumen des Körpers integrieren.

Virtuelle Arbeit von D'Alembert'schen Trägheitkräften der Welle

Wir beschreiben den Ort "x1" der neutralen Faser der Welle durch die funktionalen Koordinaten v(x1,t) und w(x1,t) im rotierenden Koordinatensystem. In diesem ist

rN(x1,t)=x1ex,1+v(x,t)ey,1+w(x,t)ez,1=(x1,v,w)(ex,1ey,1ez,1)=(x1,v,w)e_1

mit den Einheits-Vektoren des rotierenden Koordinatensystems

ex,1(t),ey,1(t),ez,1(t)).

In Kurzform schrieben wir den Ortsvektor als

rN=r_Ne_1.

mit

r_NT=(x1v(x1,t)w(x1,t)) und e_1=(ex,1ey,1ez,1).

Um vom  

e_0 Inertialsystem in dase_1 rotierende Koordinatensystem

zu transformieren, arbeiten wir mit der Eulerschen Drehmatrix in der Form

e_1=D__1(Ωt)e_0

Die Beschleunigung eines Schwerpunkts des Querschnitts "x" erhalten wir dann durch die zweite Ableitung des Ortsvektors nach der Zeit. Das ist nicht ganz trivial, weil wir nun die Ableitung der Einheitsvektoren im rotierenden Koordinatensystem berücksichtigen müssen. Wir starten deshalb mit der ersten Zeitableitung, der Geschwindigkeit. Hier ist - mit der Produktregel -

r˙N=r_˙Ne_1+r_Ne_1˙

mit

e_1˙=D__˙1(Ωt)e_0.

Ausführlich geschrieben steht dort

rN(x1,t)dt:=r˙N(x1,t)=ddt(x1ex,1)=0+ddt(v(x,t)ey,1)=v˙(x,t)ey,1+v(x,t)e˙y,1+ddt(w(x,t)ez,1)=w˙(x,t)ez,1+w(x,t)e˙z,1.

Einsetzten liefert für die Einheitsvektoren im gedrehten "1"-System (s.o.)

(ex,1ey,1ez,1):=e_1=(ex,0cos(Ωt)ey,0sin(Ωt)ez,0cos(Ωt)ez,0+sin(Ωt)ey,0)

Und damit ist z.B.

e˙y,1=Ωcos(Ωt)ez,0Ωsin(Ωt)ey,0und
e_˙1=(0Ωcos(Ωt)ez,0Ωsin(Ωt)ey,0+Ωcos(Ωt)ey,0Ωsin(Ωt)ez,0).

Die zweite Ableitung nach der Zeit liefert analog

e_¨1=(0+Ω2sin(Ωt)ez,0Ω2cos(Ωt)ey,0Ω2cos(Ωt)ez,0Ω2sin(Ωt)ey,0)

Die Variation des Ortsvektors erhalten wir, indem wir im Ausdruck für

rN
  • die Terme zu Null setzen, die wir nicht variieren dürfen und
  • die Koordinaten v(x,t), w(x,t) durch ihre Variation δv(x), δw(x) ersetzen, also
    δrN(x1)=0+δv(x)ey,1+δw(x)ez,1.

Einsetzten in die Formel für die Virtuelle Arbeit von D'Alembert'schen Trägheitkräften liefert zunächst

r¨NδrN=v¨δvw¨δw2Ω(v˙δww˙δv)+Ω2(vδv+wδw)

Wir setzen nun die Trial-Functions für kubische Ansatz-Polynome für v(x,t), w(x,t) ein, führen die Integration über die Länge ℓ der Welle und den Querschnitt A aus - wobei wir die Trägheitsmomente aus dem Kippen der Querschnitte vernachlässigen - und erhalten

δWSa=δQ_T(M__SQ¨_+G__SQ˙_+K__SQ_)

mit

M__S=mS(1335112100097013420001121021050013420214000001335112100097013420001121021050013420214097013420001335112100013420214000112102105000097013420001335112100013420214000112102105),
G__S=mSΩ(0026351110500935132100011105221050013210270263511105009351321000111052210500132102700000935132100026351110500132102700011105221059351321000263511105001321027000111052210500),
K__S=mSΩ2(1335112100097013420001121021050013420214000001335112100097013420001121021050013420214097013420001335112100013420214000112102105000097013420001335112100013420214000112102105),

und der Wellen-Masse

mS=ρA.

Im rotierenden Koordinatensystem kommen wir zusätzlich zur gewohnten Massenmatrix MS nun also die Gyroskopie-Matrix GS und die Zentrifugal-Matrix KS.

Hier steht bereits die Grundform der System-Matrizen von oben - es fehlen nur noch die Anteile der starren Teilsysteme Impeller,Turbine und Unwucht.


/*******************************************************/
/******************* PART  II **************************/
/*******************************************************/
/* virtuel work of d'Alembert forces                   */
/*******************************************************/

/***********************************/
/* matrices from d'Alembert forces
                           of shaft*/
 r : expand(subst(trial,matrix([0,v(x,t),w(x,t)]).D[1](Omega*t)));
δr : sum(subst(nuller,diff(r,Q[1][i]))*Q[2][i],i,1,8);
δW[S] :-expand(ℓ*integrate(expand(rho*A*   diff(r,t,2).   δr   ),xi,0,1))$
δW[S] : subst(solve(params[1][3],A),δW[S])$

MS : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[S],Q[2][j]),diff(Q[1][k],t,2)),j,1,8),k,1,8)))$
GS : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[S],Q[2][j]),diff(Q[1][k],t,1)),j,1,8),k,1,8)))$
KS : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[S],Q[2][j]),diff(Q[1][k],t,0)),j,1,8),k,1,8)))$




Virtuelle Arbeit von D'Alembert'schen Kräften von Impeller- und Turbinen-Rad

Impeller-und Turbinen-Rad modellieren wir als Starrkörper.

Eine Verschiebung in Wellen-Längsachse betrachten wir nicht, der Drehwinkel Ω t ist fest gegeben - es bleiben also  für jeden Knoten i = A, D noch die Freiheitsgrade

Q_i=(Vi(t)Ψi(t)Wi(t)Φi(t))

Die Virtuelle Arbeit von d'Alembert'schen Trägheitskräften des Impeller- oder Turbinen-Rades "i" erhalten wir nun wieder aus dem Integral der Beiträge über alle seine materiellen Punkte. Um zu einem beliebigen Punkt auf dem Rad - hier dem Impeller - zu kommen, brauchen wir zuerst den Ortsvektor zu Punkt A:

rA(t)=(0,VA(t),WA(t)).e_1
Koordinaten zu einem materiellen Punkt P auf dem Impeller.

Von Punkt A zu Punkt P kommen wir im Impeller-festen Koordinatensystem

ΔrAP=(x2,y2,z2)e_2 mit e_2=D__3(Ψi(t))D__2(Φi(t))e_1.

Die Integration über den zylindrischen Impeller schaffen wir einfacher in Polarkoordinaten

(x2,y2,z2)=(x2,y~,0)D__1(ζ)

Für die Ebene x2=0 ist das

rP=(0,VA,WA)e_1+(0,y~,0)D__1(η)e_2.

Die beiden Kippungen um die y1- und z1-Achse sind klein, es gilt

ΦA1 und ΨA1.

Wir linearisieren deshalb bezüglich dieser Winkel.

Für x2=0 ist dieser Punkt P noch in der y-z-Ebene von Punkt A. Wir müssten nun die Integration über den komplexen Impeller mit seinen Schaufeln ausführen - mit analytischen Ansätzen hoffnungslos! Wir stellen uns vor, der Impeller sei eine Scheibe mit konstante Dicke "w". Und statt die Integration explizit in x2-Richtung auszuführen, multiplizieren wir einfach (vereinfachend) mit der Dicke der imaginären Scheibe w.

Wir führen also die Integration über

dV=wy~dζdy~

für

0<y~<R und 0<ζ<2π

aus und erhalten - hier für den Impeller -

δWIa=δQ_AT(M__IQ¨_A+G__IQ˙_A+K__IQ_A)

mit

M__I=(mI0000JI0000mI0000JI),
G__I=2Ω(00mI0000JImI0000JI00),
K__I=Ω2(mI0000JI0000mI0000JI).

Die Matrizen des Teilsystems Turbine sind die gleichen - nur mit dem Intex T statt I!

Komposition der Gesamtmatrix

Wir bauen die Matrizen der Teilsysteme wie im Bild links in das Gesamtsystem ein.

Jetzt fehlt noch die Unwucht.


/* displacement of mass point P 
   on either Impeller- or Turbine-Wheel*/
r : expand(matrix([0,V[i](t),W[i](t)]).D[1](Omega*t)
          +matrix([0,   y   ,  0    ]).D[1](zeta).DL[2](-Φ[i](t)).DL[3](Ψ[i](t)).D[1](Omega*t))$
/* linearize*/
r : subst(nuller,r) + sum(subst(nuller,diff(r,Q[1][j]))*Q[1][j],j,9,12)$
/* Variation of ...*/
δr : sum(subst(nuller,diff(r,Q[1][j]))*Q[2][j],j,9,12)$

δW[W] :-expand(integrate(integrate(expand(w*y*rho*  diff(r,t,2). δr  ), zeta,0,2*%pi),y,0,R))$
δW[W] : subst( append(solve(subst(params[1][2],params[1][1]),R^4), solve(params[1][2],R^2)),δW[W]);

/***********************************/
/* matrices from d'Alembert forces
                    of rigid wheels*/
MW : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[W],Q[2][j]),diff(Q[1][k],t,2)),j,9,12),k,9,12)))$
GW : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[W],Q[2][j]),diff(Q[1][k],t,1)),j,9,12),k,9,12)))$
KW : trigsimp(funmake('matrix,makelist(makelist(coeff(coeff(-δW[W],Q[2][j]),diff(Q[1][k],t,0)),j,9,12),k,9,12)))$




Virtuelle Arbeit von D'Alembert'schen Kräften der Unwucht

Eine Unwucht hat die Gesamtmasse mU. Wir setzen mUmi' und mUmT' an, dann brauchen wir unten die Anteile der Unwucht in den System-Matrizen M, G und K nicht berücksichtigen. Was bleibt dann?.

Der Ortsvektor zur "vorderen" (positive x-Koordinate) der Hantelmassen ist

rU,1(t)=(0,VA,WA)e_1+(0,0,e)e_2+(+a,0,0)D__2(φ)e_2

Die Virtuelle Arbeit von D'Alembert'schen Trägheitskräften für diese Hälfte der Hantel-Masse erhalten wir aus

δWU,1=(mU2r¨U,1)δrU,1

Den Term für die zweite Masse der Hantel (Index "U,2") erhalten wir, wenn wir die Länge "a" durch "-a" ersetzen. Dann ist

δWU=δWU,1+δWU,2

Wir erhalten in Matrix-Schreibweise - hier für die Unwucht am Impeller (bei A) -

δWU,Aa=δQ_AT(M__UQ¨_A+G__UQ˙_A+K__UQ_AP_U)

mit

M__U=mU(10000a2cos(φ)2000010000e2+a2),
G__U=2ΩmU(0010000a2cos(φ)210000a2cos(φ)200),
K__U=Ω2mU(10000a2cos(φ)2000010000a2cos(φ)2)

und

P_A=Ω2mU(00ea2sin(2φ)2).

Damit es übersichtlich bleibt, vernachlässigen wir - wegen mUmi' - die Matrizen MU, GU und KU beim Zusammenbau der Gesamt-Gleichungssystems.

Es bleibt: PA als "rechte Seite" im Gleichungssystem.


/***********************************/
/* matrices from d'Alembert forces
                       of unbalance*/

r : expand(matrix([ 0,  V[i](t),W[i](t)]).D[1](Omega*t)
          +matrix([ 0,    0    ,    e  ]).DL[2](-Φ[i](t)).DL[3](Ψ[i](t)).D[1](Omega*t)
          +matrix([+a,    0    ,    0  ]).D[2](-phi).DL[2](-Φ[i](t)).DL[3](Ψ[i](t)).D[1](Omega*t))$
/* linearize*/
r : subst(nuller,r) + sum(subst(nuller,diff(r,Q[1][j]))*Q[1][j],j,9,12)$
/* Variation of ...*/
δr : sum(subst(nuller,diff(r,Q[1][j]))*Q[2][j],j,9,12)$

δW[U] :-m[U]/2*diff(r,t,2). δr$
δW[U] : expand(subst(nuller,δW[U]))$
/* add second Mass */
δW[U] : expand(trigsimp(δW[U] +subst([a=-a],δW[U])))$
δW[U] : subst([cos(phi)=sin(2*phi)/sin(phi)/2],δW[U]);

/***********************************/
/* right-hand-side from d'Alembert forces
                              of unbalance*/
PU : trigsimp(funmake('matrix,makelist([coeff(+δW[U],Q[2][j])],j,9,12)));




Virtuelle Formänderungsenergie

Zwei elastische Elemente hat unser Modell:

  • die Welle und
  • die elastischen Lager.


Virtuelle Formänderungsenergie der Welle

Die Virtuelle Formänderungsenergie für die elastische Welle können wir aus der FEM-Formulierung für den Euler-Bernoulli-Balken kopieren:

δΠS=δQ_TK__SQ_

mit

K__S=EI3(12600126006420062200001260012600642006221260012600622006420000126001260062200642)

/*******************************************************/
/* virtuel strain energies                             */
/*******************************************************/
/* matrices from elastic deformation
                          of shaft */
δΠ[S] : integrate(EI*diff(subst(trial,w(x,t)),xi,2)*diff(subst(varia,subst(trial,w(x,t))),xi,2),xi,0,1)/ℓ^3+
        integrate(EI*diff(subst(trial,v(x,t)),xi,2)*diff(subst(varia,subst(trial,v(x,t))),xi,2),xi,0,1)/ℓ^3$
δΠ[S] : expand(subst(solve(params[1][4],EI) ,δΠ[S]))$

KS : funmake('matrix,makelist(makelist(coeff(coeff(δΠ[S],Q[2][i]),diff(Q[1][j],t,0)),i,1,8),j,1,8))$




Virtuelle Formänderungsenergie der elastischen Lager

Etwas komplizierter wir es bei der virtuellen Formänderungsenergie der Lager.

Auslenkung des Lagers - hier "B".

Die Verschiebungen der Welle - hier VB und WB für Lager B - haben wir im mitrotierenden Koordinatensystem angegeben. Wenn hier das Turbolader-Gehäuse unterschiedliche Nachgiebigkeiten in y0 und z0-Richtung hat, müssen wir die Auslenkungen auf das Intertialsystem transformieren.

Dafür brauchen wir

rB=(1,VB(t),WB(t))e_1

und

δrB=(0,δVB(t),δWB(t))e_1

Die virtuelle Formänderungsenergie der beiden Federn ist dann

δΠB,B=k2rB,2δrB,2+k3rB,3δrB,3.
🧨 Gleitlager sind komplizierter:
In Gleitlagern ist die Auslenkung in eine Richtung (z.B. y1) durch die Drehung der Welle immer mit einer Kraft senkrecht zur Auslenkung (z.B. in z1-Richtung) gekoppelt. Die Bewegungsgleichungen haben dann periodische Koeffizienten (vgl. Aufgabe "Kw30"). Das vernachlässigen wir hier.

Einsetzen und Vereinfachen liefert

δΠB,B=12(δVB,δWB)((k3k2)WB(t)sin(2Ωt)+(k2k3)VB(t)cos(2Ωt)+(k3+k2)VB(t)(k3k2)VB(t)sin(2Ωt)+(k3k2)WB(t)cos(2Ωt)+(k3+k2)WB(t)).

Hier stehen jetzt Terme mit sin(2 Ω t), cos(2 Ω t), die sich auch nicht herauskürzen lassen. Sie führen in der Bewegungsgleichung zu einer Steifigskeits-Matrix (die Koeffizienten), die nicht mehr konstant ist. Diese periodischen Anteile haben alle den Koeffizienten k3-k2 - wir führen deshalb

Δk=k3k2

ein und schreiben damit die Steifigkeitsmatrizen

K__B=k2K__B,0+Δk(K__B,D+cos(2Ωt)K__B,C+sin(2Ωt)K__B,S)

an. Aber dafür müssen wir zuerst noch die Auslenkungen VB und WB in unsere FE-Knoten umrechnen. Wir wählen

10=13 und 20=23

und erhalten z.B. für

VB(t)=127(20V0(t)+7V1(t)+4Ψ0(t)2Ψ1(t)).

Damit berechnen wir die Element-Steifigkeits-Matrizen zu

K__B,0=(4497299472900280729687290094729202729006872916272900004497299472900280729687290094729202729006872916272928072968729004497299472900687291627290094729202729000028072968729004497299472900687291627290094729202729)
K__B,D=(4491458477290014072934729004772910272900347298272900004491458477290014072934729004772910272900347298272914072934729004491458477290034729827290047729102729000014072934729004491458477290034729827290047729102729),
K__B,C=(4491458477290014072934729004772910272900347298272900004491458477290014072934729004772910272900347298272914072934729004491458477290034729827290047729102729000014072934729004491458477290034729827290047729102729)

und

K__B,S=(0044914584772900140729347290047729102729003472982729449145847729001407293472900477291027290034729827290000140729347290044914584772900347298272900477291027291407293472900449145847729003472982729004772910272900).

/***********************************/
/* matrices from elastic deformation
                        of bearing */
 r : expand(subst(trial,matrix([0,v(x,t),w(x,t)]).D[1](Omega*t)));
δr : sum(subst(nuller,diff(r,Q[1][j]))*Q[2][j],j,1,8);

δΠ[B] : k[2]*r[1][2]*subst(varia,r[1][2])+
        k[3]*r[1][3]*subst(varia,r[1][3])$
δΠ[B] : expand(sum(subst(params[2][i],δΠ[B]),i,1,2))$
δΠ[B] : expand(subst([k[3]=k[2]+Δk],δΠ[B]))$

KB[N] : funmake('matrix,makelist(makelist(trigsimp(coeff(coeff(δΠ[B],Q[2][i]),diff(Q[1][j],t,0))),i,1,8),j,1,8))$
KB[N] : expand(subst(trigReplace[3],expand(subst(trigReplace[2],expand(subst(trigReplace[1],KB[N]))))))$

KB[D] : coeff(KB[N],Δk)$
KB[N] : expand(KB[N] - Δk*KB[D])$

KB[C] : coeff(KB[D],cos(2*Omega*t))$
KB[S] : coeff(KB[D],sin(2*Omega*t))$
KB[D] : expand(KB[D] - KB[S]*sin(2*Omega*t) - KB[C]*cos(2*Omega*t))$

/* -> see Matthieus DGL, Ottl 3.11*/




Komponieren der System-Matrizen

Aus den Element-Matrizen müssen wir nun noch die System-Matrix komponieren, d.h. die Element-Matrizen passend hinein-addieren. Die Struktur dazu ist

M__Q¨_+G__Q˙_+(K__D+K__Ccos(2Ωt)+K__Ssin(2Ωt)TermemitΔk+K__0)Q_=P_

Wir erhalten

M__=(13mS35+mI11mS210009mS7013mS4200011mS210mS2105+JI0013mS420mS2140000013mS35+mI11mS210009mS7013mS4200011mS210mS2105+JI0013mS420mS21409mS7013mS42000mT+13mS3511mS2100013mS420mS21400011mS210mS2105+JT00009mS7013mS42000mT+13mS3511mS2100013mS420mS21400011mS210mS2105+JT),
G__=Ω(0026mS35+2mI11mS105009mS3513mS2100011mS1052mS21050013mS210mS27026mS352mI11mS105009mS3513mS2100011mS1052mS21050013mS210mS27000009mS3513mS210002mT+26mS3511mS1050013mS210mS2700011mS1052mS21059mS3513mS210002mT26mS3511mS1050013mS210mS2700011mS1052mS210500),
K__0=(4k4+449k27292k4+94k272900280k27294k42k468k2729002k4+94k27294k423+20k227290068k27292k42k42316k2272900004k4+449k27292k4+94k272900280k27294k42k468k2729002k4+94k27294k423+20k227290068k27292k42k42316k22729280k27294k468k27292k4004k4+449k27292k494k2729002k468k27292k42316k22729002k494k27294k423+20k227290000280k27294k468k27292k4004k4+449k27292k494k2729002k468k27292k42316k22729002k494k27294k423+20k22729),
K__D=ΔkK__B,D,
K__C=ΔkK__B,C,
K__S=ΔkK__B,S

und

P_=Ω2mU(00e12a2sin(2φ)0000)

In P steht dabei nur die Zentrifugalkraft der Impeller-Unwucht - auf eine Unwucht in der Turbine verzichten wir hier.

In der Hauptdiagonale der Steifigkeitsmatrix K0 stehen nun Terme - hier in Zeile 1 - die bei genügend großem Ω negativ werden:

4k4+449k2729mIΩ2

Das sieht nach Instabilität aus!

Aber unser Mathematisches Modell ist erst mal fertig! Wir können es aber etwas einfacher hinschrieben:


/*******************************************************/
/* compose total equations of motion                   */

K[N] : KS + KB[N]$
K[D] : Δk*KB[D]$
K[S] : Δk*KB[S]$
K[C] : Δk*KB[C]$

P    : zeromatrix(8,1)$

for row:1 thru 4 do
  (P[row,1] : subst([sin(phi)=sin(2*phi)/cos(phi)/2],PU[row,1]),
   for col:1 thru 4 do
   (print (row,col),
    /* compressor wheel*/
    M   [  row][  col] : M   [  row][  col]+subst([i=I],MW[row][col]),
    M   [4+row][4+col] : M   [4+row][4+col]+subst([i=T],MW[row][col]),
    G   [  row][  col] : G   [  row][  col]+subst([i=I],GW[row][col]),
    G   [4+row][4+col] : G   [4+row][4+col]+subst([i=T],GW[row][col]),
    K[N][  row][  col] : K[N][  row][  col]+subst([i=I],KW[row][col]),
    K[N][4+row][4+col] : K[N][4+row][4+col]+subst([i=T],KW[row][col])))$




Mathematisches Modell anpassen

Hinschreiben in dimensionsloser Form

Das Mathematische Modell schreiben wir jetzt noch in dimensionsloser Form an.

Dazu wählen wir 

Vi(t)=V~i(t)Wi(t)=W~i(t),

also

Q_=(V~0Ψ0W~0Φ0V~1Ψ1W~1Φ1).

Als dimensionslose Zeit wählen wir 

τ=tT mit der Bezugszeit T=2πω0,0.

Wir ersetzen außerdem dimensionsbehaftete Parameter durch dimensionslose Parameter:

k2=κ2k4Δk=κ3k4k4=ω0,02mIJI=ΘImI2JT=ΘTmT2mT=θTmtmU=θUmtmS=θSmtmI=θImte=ϵa=αΩ=ω0,0η.

Als numerische Werte wählen wir weiter

θS=13θI=49θT=29θU=11000ΘI=120ΘT=120κ2=1000κ3=10..

Die Koeffizienten unseres linearen, dimensionslosen Differentialgleichungssystems zweiter Ordnung sind hier aufgelistet:

m[1,1] = 179/(560*pi^2)
m[1,2] = 11/(1120*pi^2)
m[1,3] = 0
m[1,4] = 0
m[1,5] = 27/(1120*pi^2)
m[1,6] = -13/(2240*pi^2)
m[1,7] = 0
m[1,8] = 0
m[2,1] = 11/(1120*pi^2)
m[2,2] = 1/(70*pi^2)
m[2,3] = 0
m[2,4] = 0
m[2,5] = 13/(2240*pi^2)
m[2,6] = -3/(2240*pi^2)
m[2,7] = 0
m[2,8] = 0
m[3,1] = 0
m[3,2] = 0
m[3,3] = 179/(560*pi^2)
m[3,4] = 11/(1120*pi^2)
m[3,5] = 0
m[3,6] = 0
m[3,7] = 27/(1120*pi^2)
m[3,8] = -13/(2240*pi^2)
m[4,1] = 0
m[4,2] = 0
m[4,3] = 11/(1120*pi^2)
m[4,4] = 1/(70*pi^2)
m[4,5] = 0
m[4,6] = 0
m[4,7] = 13/(2240*pi^2)
m[4,8] = -3/(2240*pi^2)
m[5,1] = 27/(1120*pi^2)
m[5,2] = 13/(2240*pi^2)
m[5,3] = 0
m[5,4] = 0
m[5,5] = 109/(560*pi^2)
m[5,6] = -11/(1120*pi^2)
m[5,7] = 0
m[5,8] = 0
m[6,1] = -13/(2240*pi^2)
m[6,2] = -3/(2240*pi^2)
m[6,3] = 0
m[6,4] = 0
m[6,5] = -11/(1120*pi^2)
m[6,6] = 9/(1120*pi^2)
m[6,7] = 0
m[6,8] = 0
m[7,1] = 0
m[7,2] = 0
m[7,3] = 27/(1120*pi^2)
m[7,4] = 13/(2240*pi^2)
m[7,5] = 0
m[7,6] = 0
m[7,7] = 109/(560*pi^2)
m[7,8] = -11/(1120*pi^2)
m[8,1] = 0
m[8,2] = 0
m[8,3] = -13/(2240*pi^2)
m[8,4] = -3/(2240*pi^2)
m[8,5] = 0
m[8,6] = 0
m[8,7] = -11/(1120*pi^2)
m[8,8] = 9/(1120*pi^2)
g[1,1] = 0
g[1,2] = 0
g[1,3] = (179*eta)/(140*pi)
g[1,4] = (11*eta)/(280*pi)
g[1,5] = 0
g[1,6] = 0
g[1,7] = (27*eta)/(280*pi)
g[1,8] = -(13*eta)/(560*pi)
g[2,1] = 0
g[2,2] = 0
g[2,3] = (11*eta)/(280*pi)
g[2,4] = eta/(140*pi)
g[2,5] = 0
g[2,6] = 0
g[2,7] = (13*eta)/(560*pi)
g[2,8] = -(3*eta)/(560*pi)
g[3,1] = -(179*eta)/(140*pi)
g[3,2] = -(11*eta)/(280*pi)
g[3,3] = 0
g[3,4] = 0
g[3,5] = -(27*eta)/(280*pi)
g[3,6] = (13*eta)/(560*pi)
g[3,7] = 0
g[3,8] = 0
g[4,1] = -(11*eta)/(280*pi)
g[4,2] = -eta/(140*pi)
g[4,3] = 0
g[4,4] = 0
g[4,5] = -(13*eta)/(560*pi)
g[4,6] = (3*eta)/(560*pi)
g[4,7] = 0
g[4,8] = 0
g[5,1] = 0
g[5,2] = 0
g[5,3] = (27*eta)/(280*pi)
g[5,4] = (13*eta)/(560*pi)
g[5,5] = 0
g[5,6] = 0
g[5,7] = (109*eta)/(140*pi)
g[5,8] = -(11*eta)/(280*pi)
g[6,1] = 0
g[6,2] = 0
g[6,3] = -(13*eta)/(560*pi)
g[6,4] = -(3*eta)/(560*pi)
g[6,5] = 0
g[6,6] = 0
g[6,7] = -(11*eta)/(280*pi)
g[6,8] = eta/(140*pi)
g[7,1] = -(27*eta)/(280*pi)
g[7,2] = -(13*eta)/(560*pi)
g[7,3] = 0
g[7,4] = 0
g[7,5] = -(109*eta)/(140*pi)
g[7,6] = (11*eta)/(280*pi)
g[7,7] = 0
g[7,8] = 0
g[8,1] = (13*eta)/(560*pi)
g[8,2] = (3*eta)/(560*pi)
g[8,3] = 0
g[8,4] = 0
g[8,5] = (11*eta)/(280*pi)
g[8,6] = -eta/(140*pi)
g[8,7] = 0
g[8,8] = 0
kn[1,1] = -(729*eta^2-451916)/729
kn[1,2] = 95458/729
kn[1,3] = 0
kn[1,4] = 0
kn[1,5] = 277084/729
kn[1,6] = -66542/729
kn[1,7] = 0
kn[1,8] = 0
kn[2,1] = 95458/729
kn[2,2] = 20972/729
kn[2,3] = 0
kn[2,4] = 0
kn[2,5] = 66542/729
kn[2,6] = -15514/729
kn[2,7] = 0
kn[2,8] = 0
kn[3,1] = 0
kn[3,2] = 0
kn[3,3] = -(729*eta^2-451916)/729
kn[3,4] = 95458/729
kn[3,5] = 0
kn[3,6] = 0
kn[3,7] = 277084/729
kn[3,8] = -66542/729
kn[4,1] = 0
kn[4,2] = 0
kn[4,3] = 95458/729
kn[4,4] = 20972/729
kn[4,5] = 0
kn[4,6] = 0
kn[4,7] = 66542/729
kn[4,8] = -15514/729
kn[5,1] = 277084/729
kn[5,2] = 66542/729
kn[5,3] = 0
kn[5,4] = 0
kn[5,5] = -(162*eta^2-1807664/9)/324
kn[5,6] = -95458/729
kn[5,7] = 0
kn[5,8] = 0
kn[6,1] = -66542/729
kn[6,2] = -15514/729
kn[6,3] = 0
kn[6,4] = 0
kn[6,5] = -95458/729
kn[6,6] = 20972/729
kn[6,7] = 0
kn[6,8] = 0
kn[7,1] = 0
kn[7,2] = 0
kn[7,3] = 277084/729
kn[7,4] = 66542/729
kn[7,5] = 0
kn[7,6] = 0
kn[7,7] = -(162*eta^2-1807664/9)/324
kn[7,8] = -95458/729
kn[8,1] = 0
kn[8,2] = 0
kn[8,3] = -66542/729
kn[8,4] = -15514/729
kn[8,5] = 0
kn[8,6] = 0
kn[8,7] = -95458/729
kn[8,8] = 20972/729
kd[1,1] = 2245/729
kd[1,2] = 470/729
kd[1,3] = 0
kd[1,4] = 0
kd[1,5] = 1400/729
kd[1,6] = -340/729
kd[1,7] = 0
kd[1,8] = 0
kd[2,1] = 470/729
kd[2,2] = 100/729
kd[2,3] = 0
kd[2,4] = 0
kd[2,5] = 340/729
kd[2,6] = -80/729
kd[2,7] = 0
kd[2,8] = 0
kd[3,1] = 0
kd[3,2] = 0
kd[3,3] = 2245/729
kd[3,4] = 470/729
kd[3,5] = 0
kd[3,6] = 0
kd[3,7] = 1400/729
kd[3,8] = -340/729
kd[4,1] = 0
kd[4,2] = 0
kd[4,3] = 470/729
kd[4,4] = 100/729
kd[4,5] = 0
kd[4,6] = 0
kd[4,7] = 340/729
kd[4,8] = -80/729
kd[5,1] = 1400/729
kd[5,2] = 340/729
kd[5,3] = 0
kd[5,4] = 0
kd[5,5] = 2245/729
kd[5,6] = -470/729
kd[5,7] = 0
kd[5,8] = 0
kd[6,1] = -340/729
kd[6,2] = -80/729
kd[6,3] = 0
kd[6,4] = 0
kd[6,5] = -470/729
kd[6,6] = 100/729
kd[6,7] = 0
kd[6,8] = 0
kd[7,1] = 0
kd[7,2] = 0
kd[7,3] = 1400/729
kd[7,4] = 340/729
kd[7,5] = 0
kd[7,6] = 0
kd[7,7] = 2245/729
kd[7,8] = -470/729
kd[8,1] = 0
kd[8,2] = 0
kd[8,3] = -340/729
kd[8,4] = -80/729
kd[8,5] = 0
kd[8,6] = 0
kd[8,7] = -470/729
kd[8,8] = 100/729
ks[1,1] = 0
ks[1,2] = 0
ks[1,3] = 2245/729
ks[1,4] = 470/729
ks[1,5] = 0
ks[1,6] = 0
ks[1,7] = 1400/729
ks[1,8] = -340/729
ks[2,1] = 0
ks[2,2] = 0
ks[2,3] = 470/729
ks[2,4] = 100/729
ks[2,5] = 0
ks[2,6] = 0
ks[2,7] = 340/729
ks[2,8] = -80/729
ks[3,1] = 2245/729
ks[3,2] = 470/729
ks[3,3] = 0
ks[3,4] = 0
ks[3,5] = 1400/729
ks[3,6] = -340/729
ks[3,7] = 0
ks[3,8] = 0
ks[4,1] = 470/729
ks[4,2] = 100/729
ks[4,3] = 0
ks[4,4] = 0
ks[4,5] = 340/729
ks[4,6] = -80/729
ks[4,7] = 0
ks[4,8] = 0
ks[5,1] = 0
ks[5,2] = 0
ks[5,3] = 1400/729
ks[5,4] = 340/729
ks[5,5] = 0
ks[5,6] = 0
ks[5,7] = 2245/729
ks[5,8] = -470/729
ks[6,1] = 0
ks[6,2] = 0
ks[6,3] = -340/729
ks[6,4] = -80/729
ks[6,5] = 0
ks[6,6] = 0
ks[6,7] = -470/729
ks[6,8] = 100/729
ks[7,1] = 1400/729
ks[7,2] = 340/729
ks[7,3] = 0
ks[7,4] = 0
ks[7,5] = 2245/729
ks[7,6] = -470/729
ks[7,7] = 0
ks[7,8] = 0
ks[8,1] = -340/729
ks[8,2] = -80/729
ks[8,3] = 0
ks[8,4] = 0
ks[8,5] = -470/729
ks[8,6] = 100/729
ks[8,7] = 0
ks[8,8] = 0
kc[1,1] = -2245/729
kc[1,2] = -470/729
kc[1,3] = 0
kc[1,4] = 0
kc[1,5] = -1400/729
kc[1,6] = 340/729
kc[1,7] = 0
kc[1,8] = 0
kc[2,1] = -470/729
kc[2,2] = -100/729
kc[2,3] = 0
kc[2,4] = 0
kc[2,5] = -340/729
kc[2,6] = 80/729
kc[2,7] = 0
kc[2,8] = 0
kc[3,1] = 0
kc[3,2] = 0
kc[3,3] = 2245/729
kc[3,4] = 470/729
kc[3,5] = 0
kc[3,6] = 0
kc[3,7] = 1400/729
kc[3,8] = -340/729
kc[4,1] = 0
kc[4,2] = 0
kc[4,3] = 470/729
kc[4,4] = 100/729
kc[4,5] = 0
kc[4,6] = 0
kc[4,7] = 340/729
kc[4,8] = -80/729
kc[5,1] = -1400/729
kc[5,2] = -340/729
kc[5,3] = 0
kc[5,4] = 0
kc[5,5] = -2245/729
kc[5,6] = 470/729
kc[5,7] = 0
kc[5,8] = 0
kc[6,1] = 340/729
kc[6,2] = 80/729
kc[6,3] = 0
kc[6,4] = 0
kc[6,5] = 470/729
kc[6,6] = -100/729
kc[6,7] = 0
kc[6,8] = 0
kc[7,1] = 0
kc[7,2] = 0
kc[7,3] = 1400/729
kc[7,4] = 340/729
kc[7,5] = 0
kc[7,6] = 0
kc[7,7] = 2245/729
kc[7,8] = -470/729
kc[8,1] = 0
kc[8,2] = 0
kc[8,3] = -340/729
kc[8,4] = -80/729
kc[8,5] = 0
kc[8,6] = 0
kc[8,7] = -470/729
kc[8,8] = 100/729
p[1,1] = 0
p[2,1] = 0
p[3,1] = (9*eta^2)/4000000
p[4,1] = (3^(5/2)*eta^2)/160000000
p[5,1] = 0
p[6,1] = 0
p[7,1] = 0
p[8,1] = 0

/*******************************************************/
/* Mathematisches Modell anpassen                      */
/*******************************************************/

toReplace : [k[2]=kappa[2]*k[4], Δk=kappa[3]*k[4], k[4]=omega[0,0]^2*m[I],
             J[I]=Theta[I]*m[I]*ℓ^2, J[T]=Theta[T]*m[T]*ℓ^2, m[T]=theta[T]*m[t], m[U]=theta[U]*m[t], m[S]=theta[S]*m[t],
             m[I] = theta[I]*m[t],
             e = epsilon*ℓ, a = alpha*ℓ,
             Omega = eta*omega[0,0]];


/* numerical parameters */
numerical : [
         /* mass ratios */
         theta[S] = 3/9, theta[I] = 4/9, theta[T] = 2/9, theta[U] = 1/1000,
         /* mass momentum ratios */
         Theta[I] = 1/20, Theta[T] = 1/20,
         /* stiffness ratios */
         kappa[2] = 10, kappa[3] = 10];

mats : [copymatrix(M)/subst(solve(params[3],T),T)^2, copymatrix(G)/subst(solve(params[3],T),T), copymatrix(K[N]), copymatrix(K[S]), copymatrix(K[C]), copymatrix(P)]$

/***********************************/
/* make V and W dimensionsless
       coordinates V = V*ℓ, W = W*ℓ*/

for i:1 thru (length(mats)-1) do
   (for row:1 thru 8 step 2 do
       mats[i][row] : mats[i][row]*ℓ,
    for row:1 thru 8 step 1 do
        for col:1 thru 8 step 2 do
            mats[i][row][col] : mats[i][row][col]*ℓ)$
for row:1 thru 8 step 2 do
    mats[length(mats)][row][1] : mats[length(mats)][row][1]*ℓ$
/***********************************/
/* and simplify ....               */
mats: ratsimp(subst(toReplace,mats/m[I]/ℓ^2/omega[0,0]^2))$
mats: subst(numerical,mats)$

/* write matrices to file */
fileN : "C:\\Users\\abs384\\OneDrive\\X\\tmp\\plots\\system.txt"$
toDump : [m, g, kn, ks, kc, p]$
with_stdout (fileN,
     for mid:1 thru length(toDump) do
        for row:1 thru length(mats[mid]) do
            for col:1 thru length(mats[mid][row]) do
                grind (toDump[mid][row,col] = mats[mid][row,col]))$




Weiter in Teil III ➡ .