Flexible Mehrkörpersysteme in Modelica

Modelica ist eine deklarative, objektorientierte Hochsprache zur mathematischen Beschreibung physikalischer Systeme. Sie erlaubt eine modulare und interdisziplinäre Modellierung und Simulation von technischen Systemen aus nahezu jedem Fachbereich.

Modelica unterstützt eine Vielzahl von Modellierungsformalismen, die es ermöglichen, sowohl kontinuierliches als auch zeitdiskretes Verhalten im Kontext hybrider Differential-algebraischer Gleichungen zu beschreiben. Die Sprache unterstützt sowohl kausale als auch akausale Ansätze innerhalb desselben Modells. Der objektorientierte und modulare Ansatz ermöglicht, zunächst Teilmodelle in Form von Subsystemen zu entwerfen und diese zu komplexen Simulationsmodellen zu verknüpfen.

Ein wesentliches Merkmal von Modelica ist die mathematische Beschreibung der Modelle auf Gleichungsebene. Im Hinblick auf die Mehrkörperdynamik, erlaubt diese Tatsache eine analytische Modellierung und Implementierung beliebiger Methoden und Formalismen.

Innerhalb freier Modelica Entwicklungsumgebungen existieren eine Vielzahl an Bibliotheken zur Beschreibung mechanischer Systeme. Dabei können sowohl eindimensionale, translatorische bzw. rotatorische Systeme als auch zwei- bzw. dreidimensionale Mehrkörpersysteme modelliert und miteinander kombiniert werden. Dies erlaubt eine problemangepasste Modellierungstiefe, was zu numerisch sehr effizienten Simulationsmodellen führt.

Flexible Mehrkörpersysteme in Modelica

Simulation flexibler Mehrkörpersysteme mit Modelica

Speziell im Hinblick auf die MKS-Simulation, sind dabei nur Bibliotheken für Starrkörpersysteme frei verfügbar. Ziel ist, eine Modelica Bibliothek zur Simulation von flexiblen Mehrkörpersystemen zu entwickeln, die sich nahtlos in das bestehende Modelica Konzept einreiht. Eine solche FlexBody Bibliothek ermöglicht damit die objektorientierte und mathematisch effiziente Modellierung von flexiblen Körpern als Komponenten von beliebigen Mehrkörpersystemen und Modelica Modellen.

Es existieren auch eine ganze Reihe von kommerzielle Modelica Bibliotheken zur Simulation von flexiblen Strukturen. Diese sind in der Regel aber ebenfalls abhängig von kommerziellen FE-Programmen. Um maximale Flexibilität in der Auswahl der Methoden und in der numerischen Umsetzung zu haben, stellte bei der Entwicklung der Toolbox die Verwendung von Open Source FE-Codes eine zwingende Rahmenbedingung dar.

Somit unterscheidet sich die vorliegende Lösung in diesem Merkmal entscheidend von bestehenden Bibliotheken. Sie bildet gleichzeitig die Basis für unsere Berechnungskette im Hinblick auf die Simulation von elastischen Mehrkörpersystemen.

Flexible Mehrkörpersysteme in Modelica

FE-Modell

Startpunkt ist die Vernetzung und Modellierung des FE-Modells. Dabei kommen ausschließlich frei verfügbare Open Source Tools zum Einsatz. Dazu zählen z.B. Salome, Meshlab und Gmsh. Dabei erlaubt die Python-Schnittstelle eine tiefgreifende Automatisierung der Prozesse (RBE-Erzeugung, Netzmanipulation, …). Das bedeutet eine maximale Flexibilität in der Umsetzung von Simulationsaufgaben.

Startpunkt ist die Vernetzung und Modellierung des FE-Modells.

Modale Reduktion

Die theoretische Basis für die Beschreibung von elastischen Strukturen innerhalb der Mehrkörperdynamik bildet die sogenannte Floating Frame of Reference Formulierung (FFR). Dabei wird jedem Körper ein Bezugskoordinatensystem zugeordnet, das einer Starrkörperbewegung unterliegt, während die elastische Verschiebung in lokalen Koordinaten in Bezug auf das Referenzsystem beschrieben wird.

Nach der klassischen Rayleigh-Ritz-Methode werden die elastischen Verschiebungen als eine Linearkombination von Formfunktionen (Eigenformen, auch Moden genannt) formuliert, deren Koeffizienten die sogenannten elastischen oder modalen Koordinaten darstellen. Bei einfachen Geometrien (z. B. Biegebalken) können die Formfunktionen analytisch bestimmt werden, in allgemein Fällen ist jedoch die Verwendung der Finite-Elemente-Methode erforderlich. Dabei wird eine große Anzahl von Knotenkoordinaten auf eine viel kleinere Anzahl von modalen Koordinaten (z.B. nach der klassischen Craig-Bampton Methode) reduziert.

Die theoretische Basis für die Beschreibung von elastischen Strukturen innerhalb der Mehrkörperdynamik bildet die sogenannte Floating Frame of Reference Formulierung (FFR).

Die Generierung der frei wählbaren modalen Basis erfolgt ausschließlich mit Open Source FE-Tools. Dazu zählt z.B.: Code_Aster, das sich durch seine Transparenz und Flexibilität auszeichnen.

Auch hier erlaubt die Python-Schnittstelle ein tiefgreifender Eingriff in den Berechnungsprozess und einen direkten Zugriff auf die Systemelemente, wie z.B. Knotenkoordinaten, Elementspannungen, Massen-, Steifigkeits- und Dämpfungsmatrizen, etc. Diese Möglichkeit ist die Grundvoraussetzung für eine erfolgreiche Integration eines FE-Codes in den Berechnungsprozess flexibler Mehrkörpersysteme, sowie für die flexible Auswahl des Reduktionsverfahrens.

Kinematik & Bewegungsgleichungen

Der nächste Schritt erfordert die Formulierung der kinematischen Zusammenhänge für Lage, Geschwindigkeit und Beschleunigung für jeden Knoten p in Abhängigkeit der modalen Koordinaten q.

Damit lässt sich mit Hilfe des Prinzips der virtuellen Arbeit

die Bewegungsgleichungen der flexiblen Struktur aufstellen.

In Verbindung mit einer lumped-mass Approximation der FE-Struktur, treten an Stelle der Volumenintegrale einfache Summen auf, die nach geeigneter symbolischer Umformulierung, dass Herauslösen sogenannter Invarianten aus den Bewegungsgleichungen erlaubt. Die Berechnung dieser Invarianten wird in einem Preprocessing – Schritt durchgeführt und ist ebenfalls ein wesentlicher Teil der entwickelten Toolbox.

Optionale Reduktion der Rechenoperationen

Ein wesentliches Merkmal der vorliegenden Toolbox ist ein optionaler Preprocessing–Schritt zur Reduktion der Rechenoperationen während der MKS-Simulation. Der Algorithmus arbeitet im Wesentlichen nach der Grundidee, Terme oder Teile der Bewegungsgleichungen, die kein signifikanter Beitrag zur Bewegungsgleichung leisten, durch symbolische Rechenoperationen zu vereinfachen oder zu vernachlässigen. In seiner einfachsten Form entspricht dies:

z.B.: Vernachlässigung quadratischer Terme

z.B.: Reduktion der Rechenoperationen durch Elimination von Ausdrücken mit geringem Einfluss

Es sei jedoch darauf hingewiesen, dass ein solcher Algorithmus nur auf Basis von Toleranzbetrachtungen arbeiten kann. Die Entscheidung welche physikalischen Effekte durch eine Manipulation der Gleichungen vernachlässigbar sind, setzt ein tiefes Systemverständnis voraus und liegt stehts beim Anwender. Beispielsweise kann die relative Verschiebung des Schwerpunktes durch die Verformung bei einer langsam drehenden, schweren Gastrubine eher vernachlässigt werden, als bei einem leichten, schnell drehenden Turbolader.

Modelica Simulationsmodell

Das Simulationsmodell folgt dem modularen und objektorientierten Konzept der Modelica Sprache und ist kompatibel zu den bestehenden Modelica-Bibliotheken. Wegen der symbolischen Formelmanipulation des Modelica-Compilers in Zusammenhang mit der optionalen Modellreduktion ergeben sich numerisch sehr effiziente Simulationsmodelle.

Post-Processing / Visualisierung:

Für das Postprocessing bzw. die Visualisierung der Ergebnisse stehen ebenfalls mächtige Open Source Lösungen zur Verfügung. In diesem Zusammenhang fällt die Auswahl auf FreeCAD, ParaView, Octave, Python & Bibliotheken. Auch hier erlaubt die Python-Schnittstelle einen tiefen Eingriff in die Prozesskette.

Zusammenfassung

Dieses ausgewählte Praxisbeispiel aus dem Bereich der Simulation von Systemen mit flexiblen Körpern soll einen repräsentativen Einblick in die vielfältigen Einsatzmöglichkeiten einer Open Source Berechnungskette geben. Gleichzeitig beabsichtigt dieses Beispiel die Leistungsfähigkeit einer Open Source Entwicklungsumgebung und die Flexibilität des darauf basierenden Berechnungsprozesses aufzuzeigen.
Um eigene Algorithmen und Zusatzfunktionen in bestehende Systeme integrieren zu können, sind tiefe Einblicke in Methoden, Quellcode und Schnittstellen unverzichtbar. Es gibt praktisch keine Einschränkungen und endlose Möglichkeiten bei der Auswahl, Zusammenstellung und Erarbeitung eines individuellen und problemspezifischen Workflows. Diese Anforderungen erfüllen nur Open Source Entwicklungs- und Berechnungswerkzeuge als zentrale Bausteine einer Berechnungskette. Die Integration von problemangepassten Eigenentwicklungen in Form von Berechnungsroutinen und -methoden ist ebenso möglich und oft auch unbedingt notwendig. In diesem Zusammenhang sind aber die vielfältigen Schnittstellen als eine wesentliche Problematik zu sehen.