FlowSimulator
Der FlowSimulator dient im DLR als zentrales, für HPC-Anwendungen optimiertes, Software-Integrations-Framework zur Implementierung von High-Fidelity-CFD-basierten multidisziplinären Simulationsfähigkeiten. Es spielt eine Schlüsselrolle in der Digitalisierungsstrategie des DLR und ist ein zentraler Baustein zur Realisierung von virtuellen Flugversuchen und dem digitalen Flugzeugentwurf. Die Entwicklung wurde mit dem Ziel der Harmonisierung und Verbesserung von CFD-basierten Workflows vor mehr als einem Jahrzehnt von AIRBUS und europäischen Forschungseinrichtungen initiiert und wird seitdem fortgesetzt. FlowSimulator ist in drei Schichten organisiert: Die Steuerungsebene (control layer) ist die Hauptzugriffsebene für den Endanwender; hier befinden sich die Skripte für den Simulationsprozess. Python-Skripte werden für die schnelle Prozessentwicklung und die Integration verschiedener Softwarekomponenten verwendet, die in unterschiedlichen Programmiersprachen geschrieben wurden.
Der FlowSimulator DataManager (FSDM) - das Herzstück des FlowSimulators - ist die Datenschicht (data layer). In Übereinstimmung mit den HPC-Anforderungen ermöglicht diese den Datenaustausch im Arbeitsspeicher zwischen Prozesskomponenten und ist von Grund auf vollständig parallel ausgelegt, wobei sie die bestehende Intra-Solver- und Inter-Solver-Parallelität auf der Basis des Message Passing Interface (MPI) unterstützt. Der FSDM bietet Datencontainer für unstrukturierte Netze und strukturierte Multiblocknetze, CAD-Geometrien und hierarchische Beschreibungen von Konfigurationen und Simulationsszenarien sowie Werkzeuge für die effiziente Selektion von Netzteilen und Netz-zu-Netz-Interpolation. Es stehen sowohl Implementierungen für parallele mehrdimensionale Arrays zur Verfügung, als auch Klassen für Vektoren, Matrizen, Koordinatensysteme, affine Transformationen, binäre Suchoperationen, etc. Es gibt Schnittstellen zu Graphen-basierten Netzpartitionierungsbibliotheken sowie zu gängigen linearen Algebra-Paketen. Aus Effizienzgründen ist FSDM in der Programmiersprache C++ geschrieben; ein Großteil der Klassen wurde für die Verwendung in Python Skripten verpackt. Die FSDM-Bibliothek wird unter der Open-Source-Lizenz LGPL v2 zur Verfügung gestellt; die Rechte an den Plugins verbleiben bei den jeweiligen Plugin-Besitzern. Die Plugin-Schicht (plugin layer) umfasst alle Anwendungen, die eine Schnittstelle zum FSDM haben und somit für die Verwendung im FlowSimulator zur Verfügung stehen, z.B. CFD- und CSM-Solver, Module für Volumennetzverformung, räumliche Kopplung, Flugmechanik, Trimmung und andere Zwecke.
Die Philosophie des FlowSimulators ist, dass die Plugins keine Daten mit anderen Plugins kommunizieren dürfen (keine horizontale Kommunikation), sondern nur mit dem FSDM. Auf diese Weise wird das Risiko vermieden, dass Prozessketten von den Spezifika einzelner Prozesskomponenten abhängig werden, was die Wartung und Erweiterung von Prozessketten erleichtert.
Wesentliche Merkmale
- Software-Integrationsumgebung für multidisziplinäre Simulation
- Kopplung hochgenauer disziplinärer Verfahren und Tools
- Datenaustausch zwischen Simulationskomponenten im Arbeitsspeicher
- parallele Datencontainer für multiblock-strukturierte und unstrukturierte Netze (CFD, CSM, etc)
- massive Parallelisierung auf Basis von Gebietszerlegungstechniken und MPI zur Nutzung auf Hochleistungsrechnen (HPC)
- Python-basierte Prozesssteuerung
- C++-Kern (FSDM)
- LGPL v2 Lizenz (FSDM)
Anwendungsgebiete
Hauptanwendungsgebiet von FlowSimulator ist die effiziente hochparallele multidisziplinäre Simulation von Luftfahrzeugen, zum Beispiel komplexe Fluid-Struktur-gekoppelte Simulationsszenarien zur hochgenauen Vorhersage von Flugleistung und -lasten. Das nachfolgende Bild zeigt eine Beispielanwendung, in der auf Basis einer unter FlowSimulator realisierten Kopplung zwischen dem DLR CFD-Löser TAU, einem strukturdynamischen Modallöser, einem Flugmechanik-Code, und spline-basierten Verfahren zur CFD-Netzdeformation sowie zur Projektion von aerodynamischen Lasten und strukturellen Verformungen, die Zeithistorie der Lastüberhöhung auf ein Passagierflugzeug während eines Böendurchflugs hochgenau berechnet wurde. Das Bild zeigt den Zeitpunkt der maximalen Lastüberhöhung. Die Bestimmung der Maximallasten ist wesentliches Element der Strukturauslegung; der Nachweis, dass die Struktur allen in der Flugenveloppe zu erwartenden Lasten standhält, ist existenzieller Teil der Zertifizierung. Weitere Anwendungen des FlowSimulator bestehen in der multidisziplinären Simulation von Raumfahrzeugen.
Weiterführende Links
Lizenzhinweis
Der Zugang zu dieser Software kann nur unter bestimmten Voraussetzungen auf Grundlage einer Lizenzvereinbarung gewährt werden. Setzen Sie sich bei Interesse bitte mit uns in Verbindung. Bitte beachten Sie, dass wir keine Lizenzverträge mit Privatpersonen oder Organisationen außerhalb des EWR abschließen.