Gelöste Aufgaben/GYRO: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 29: Zeile 29:
text=Wir lösen hier das Anfangswertproblem mit den nichtlinearen Bewegungsgleichungen zu den Koordinaten  
text=Wir lösen hier das Anfangswertproblem mit den nichtlinearen Bewegungsgleichungen zu den Koordinaten  
::<math>\underline{\varphi} = \left( \begin{array}{c}\varphi_1(t)\\ \varphi_2(t)\\ \varphi_3(t)\end{array}\right)</math>,
::<math>\underline{\varphi} = \left( \begin{array}{c}\varphi_1(t)\\ \varphi_2(t)\\ \varphi_3(t)\end{array}\right)</math>,
wobei ''φ<sub>1</sub>'', ''φ<sub>2</sub>'' Kippwinkel bezüglich der ''x<sub>1</sub>'' und ''x<sub>2</sub>'' sind, ''φ<sub>3</sub>'' ist der Rotationswinkel um die Kreisel-Symmetrieachse.
wobei ''φ<sub>1</sub>'', ''φ<sub>2</sub>'' Kippwinkel bezüglich der ''x<sub>1</sub>''- und ''x<sub>2</sub>''-Achsen sind, ''φ<sub>3</sub>'' ist der Rotationswinkel um die Kreisel-Symmetrieachse.


DIe Gleichgewichtsbedingungen kommen aus dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Prinzip der virtuellen Verrückungen]].
Die Gleichgewichtsbedingungen kommen aus dem [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Prinzip der virtuellen Verrückungen]].
Für diese Gleichungen brauchen wir die virtuelle Arbeit der [[Sources/Lexikon/D'Alembert'sche Trägheitskraft|D'Alembert'schen Trägheitskräfte]] und die virtuelle Arbeit der Gewichtskraft des Kreisels.
Für diese Gleichungen brauchen wir die virtuelle Arbeit der [[Sources/Lexikon/D'Alembert'sche Trägheitskraft|D'Alembert'schen Trägheitskräfte]] und die virtuelle Arbeit der Gewichtskraft des Kreisels.
|
|
Zeile 49: Zeile 49:
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Declarations
|text=Wir brauchen
|text=Wir brauchen zunächst die Transformationsmatrizen [[Sources/Lexikon/Euler-Rotation]]




|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* Euler-Drehmatrizen */
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]);
 
coord: [[ φ[1](t), φ[2](t), φ[3](t)],
        [δφ[1]  ,δφ[2]  ,δφ[3]  ]];
q: funmake('matrix,makelist([coord[1][i]],i,1,3));
 
abbr: makelist(diff(φ[i](t),t)=ω[i](t),i,1,3);
 
params: [
  I[y] =      m      * 3/20*( R^2+4*H^2),
  I[z] =      m      * 3/10*  R^2,
  m  = ρ*%pi*R^2*H/3          ];
params: append(subst(params[3], [params[1], params[2]]),[params[3]]);
params: [params, makelist(solve(params[i], [H^3,R^4,R^2][i])[1],i,1,3)];
</syntaxhighlight>
</syntaxhighlight>
}}
}}

Version vom 29. März 2022, 13:06 Uhr


Aufgabenstellung

Kreisel und Ihre Bewegungsgleichungen sind immer wieder eine Herausforderung für uns Ingenieure. Hier nähern wir uns hier dem Thema mit dem Aufstellen und Lösen der Bewegungsgleichungen für große Winkel - und damit nichtlinearen Differentialgleichungen. Die sonst üblichen Linearisierungen führen wir nicht durch - und schauen, ob wir die Gleichungen noch gelöst bekommen.


Kreisel mit gelenkiger Fußpunktlagerung.

Gesucht ist die Präzessions-Bahn der eines Kreisels. Unser Kreisel ist ein Kegel der Höhe H und Radius R. Die Bewegungsgleichungen sollen mit dem Prinzip der virtuellen Verrückungen aufgestellt werden. Wir suchen nach der Trajektorie des Mittelpunktes des Kreisels für große Kippwinkel.


Lösung mit Maxima und Matlab®

Wir arbeiten mit Maxima und Matlab.

Maxima brauchen wir zum Aufstellen der Bewegungsgleichungen, die zunächst mal recht komplex aussehen. Dabei nehmen wir die Bewegungsgleichungen wie sie aus den Gleichgewichtsbedingungen kommen und lösen sie als Anfangswertproblem.

Geomertrie des Kreisels
Geomertrie des Kreisels

Header

Wir lösen hier das Anfangswertproblem mit den nichtlinearen Bewegungsgleichungen zu den Koordinaten

,

wobei φ1, φ2 Kippwinkel bezüglich der x1- und x2-Achsen sind, φ3 ist der Rotationswinkel um die Kreisel-Symmetrieachse.

Die Gleichgewichtsbedingungen kommen aus dem Prinzip der virtuellen Verrückungen. Für diese Gleichungen brauchen wir die virtuelle Arbeit der D'Alembert'schen Trägheitskräfte und die virtuelle Arbeit der Gewichtskraft des Kreisels.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 21.05.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2022-03-27                            */
/* ref: gyroscopic precession                          */
/* description: solve using principle of virt. work    */
/*******************************************************/




Declarations

Wir brauchen zunächst die Transformationsmatrizen Sources/Lexikon/Euler-Rotation


/* Euler-Drehmatrizen */
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]);

coord: [[ φ[1](t), φ[2](t), φ[3](t)],
        [δφ[1]   ,δφ[2]   ,δφ[3]   ]];
q: funmake('matrix,makelist([coord[1][i]],i,1,3));

abbr: makelist(diff(φ[i](t),t)=ω[i](t),i,1,3);

params: [
  I[y] =      m       * 3/20*( R^2+4*H^2),
  I[z] =      m       * 3/10*  R^2,
   m   = ρ*%pi*R^2*H/3           ];
params: append(subst(params[3], [params[1], params[2]]),[params[3]]);
params: [params, makelist(solve(params[i], [H^3,R^4,R^2][i])[1],i,1,3)];




Equations of Motion

Wir brauchen


1+1




Solving

Wir brauchen


1+1




Postprocessing

Wir brauchen


1+1






Links

  • ...

Literature

  • ...