Gelöste Aufgaben/FEC0
Aufgabenstellung
Die schnelle Rotation von Körpern auf Wellen wie z.B. bei Turboladern oder Turbinen führt auf Bewegungsgleichungen, die auch im linearisierten Fall Komponenten der Kreiseldynamik (vgl. GYRO) besitzen.
Gesucht sind die Bewegungsgleichungen für einen starren Rotor auf einer masselosen, elastischen Welle. Die Welle dreht sich mit der Drehzahl Ω. Dabei sollen zunächst die linearisierten Bewegungsgleichungen des Systems angeschrieben werden und dessen Eigenwerte für den Idealfall des ausgewuchteten Rotors berechnet werden.
Lösung mit Maxima
Beim Aufstellen der Bewegungsgleichung von drehenden Körpern geht man oft vom Drall (Moment of Momentum), beschreiben als das Skalarprodukt aus Trägheitstensor mal Winkelgeschwindigkeit aus:
- .
Dass es - aus meiner Sicht - auch schlanker und intuitiver mit dem Prinzip von d'Alembert geht, zeigen wir hier.
Wir arbeiten mit Maxima.
Maxima brauchen wir dabei zunächst zum Aufstellen der Bewegungsgleichungen, deren Elemente wir dann auf die Komponenten des Drallsatzes zurückführen können. Für den Fall des gewuchteten Rotors (sein Schwerpunkt liegt auf der Rotationsachse und die Deviationsmoments des Trägheitstensors verschwinden) führen wir eine Eigenwertanalyse des Systems für verschiedene Drehzahlen durch - dafür machen die Bewegungsgleichungen dimensionslos.
Header
Wir leiten die Bewegungsgleichungen des Systems mit dem Prinzip der virtuellen Verrückungen her. Für die masselose Welle (shaft) ist das einfach, für die Trägheitskräfte des Rotors nutzen wir das Prinzip von d'Alembert, um dessen Tägheitskräfte zu erfassen.
Für die Modalanalyse der linearisierten Bewegungsgleichungen benötigen wir dann etwas mehr, als die Fähigkeiten eines Computer-Algebra-Systems wie Maxima. Hierfür nutzen wir eine bewährte Bibliotheken wie die LaPack - auf die aus Maxima heraus zugreifen können.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 22.04.0 */
/* author: Andreas Baumgart */
/* last updated: 2023-10-29 */
/* ref: Rotor mit fliegender Lagerung */
/* description: derives the equations of motion for */
/* a rigid roter and elating shaft */
/*******************************************************/
load (lapack) $ /* use lapack for numerics */
fpprintprec : 3$ /* and low number of printed digits */
/*******************************************************/
Declarations
Wir brauchen zunächst einen Ortsvektor zu einem Massepunkt des Rotors. Dafür nutzen wir die Transformationsmatrizen der Euler-Rotation, also die Drehmatrizen, die unser inertiales Koordinatensystem
in das Wellen-feste Koordinatensystem durch eine Drehung um Ω t bzgl. der "x"- oder "1"-Achse überführt:
- .
Der Ortsvektor des Koppelpunktes von Rotor und Welle ist dann in unserem inertialen Koordinatensystem
mit den Koordinaten des Durchstoßpunktes V(t) und W(t) und der freien Länge der Welle ℓ. Von kommen wir zu einem beliebigen Punkt auf dem Rotor mit dem Rotor-festen Koordinatensystems
- ,
in das die Kippwinkel Ψ(t) bzgl. der "z"-Achse und Φ(t) bzgl. der y-Achse eingehen. Damit ist
- .
Wir drehen hier bzgl. der y-Achse um -Φ(t), damit wir die Beziehen der klassischen Euler-Bernoulli-Biegetheorie (hier: ) nutzen können. Die Koordinaten des Rotors sind damit
- Fehler beim Parsen (Unbekannte Funktion „\begin{array}“): {\displaystyle \underline{Q}:= \left(\begin{array}{c}V(t)\\Ψ(t)\\W(t)\\Φ(t)\end{array}\right)} .
Da wir uns nur für die linearisierte Form der Bewegungsgleichungen des starren Rotors interessieren, können wir gleich die linearisierten Drehmatrizen in Maxima nutzen.
/* Declarations */
/* Euler - Rotations */
D[1](φ) := matrix([1,0,0],[0,cos(φ),+sin(φ)],[0,-sin(φ),cos(φ)]);
D[2](φ) := matrix([cos(φ),0,-sin(φ)],[0,1,0],[+sin(φ),0,cos(φ)]);
D[3](φ) := matrix([cos(φ),+sin(φ),0],[-sin(φ),cos(φ),0],[0,0,1]);
/* ... linearized */
DL[2](φ) := matrix([1,0,-φ],[0,1,0],[+φ,0,1]);
DL[3](φ) := matrix([1,φ,0],[-φ,1,0],[0,0,1]);
/* trigonometric replacements */
trigReplace : [sin(Ω*t)^2=1-cos(Ω*t)^2, cos(Ω*t)^2=(cos(2*Ω*t)+1)/2, cos(Ω*t)=sin(2*Ω*t)/sin(Ω*t)/2];
/* minimal coordinates of motion */
Q: [[ V(t), Ψ(t), W(t), Φ(t)],
[δV , δΨ , δW , δΦ ]];
/* variation of coordinates */
varia: makelist(Q[1][i]=Q[2][i],i,1,4);
/* null-reference for linearization */
nuller : makelist(Q[1][i]=0,i,1,4);
Für unser System brauchen wir einen Ansatz, der diese Transformation - und weitere - formalisiert (→ Drehmatrix).
Equations of Motion
Text
1+1
Solving
Text
1+1
Postprocessing
Text
1+1
Links
Literature
- ...
- Seiten mit Syntaxhervorhebungsfehlern
- Gelöste Aufgaben
- Dimensionslose Schreibweise
- Lineare Algebra
- Rotationssymmetrie
- Analytische Lösung
- Prinzip der virtuellen Verrückungen
- Euler-Bernoulli-Balken
- Dynamik
- D’Alembertsches Prinzip
- Eigenvektor
- Eigenwert
- Eigenwertproblem
- Kreisel
- Koordinaten
- Maxima
- Stabilität
- Starrer Körper
- Seiten mit defekten Dateilinks
- Seiten mit Math-Fehlern
- Seiten mit Math-Renderingfehlern