Top Banner
Wissen für Morgen FrOSCon Automatisierter Flugzeugvorentwurf mit Python Michael Petsch Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR) Institut für Bauweisen und Strukturtechnologie (BT) Pfaffenwaldring 38-40 | 70569 Stuttgart [email protected] Tel.: +49 711 6862 368 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de Folie 1
42

DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

Aug 13, 2019

Download

Documents

phungmien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

Wissen für Morgen

FrOSCon Automatisierter Flugzeugvorentwurf mit Python

Michael Petsch Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR) Institut für Bauweisen und Strukturtechnologie (BT) Pfaffenwaldring 38-40 | 70569 Stuttgart [email protected] Tel.: +49 711 6862 368

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 1

Page 2: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 2

Automatisierter Flugzeugvorentwurf mit Python

Page 3: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

1) Flugzeugvorentwurf Allgemein

DLR.de • Folie 3 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

Unterschiedlichste Anforderungen an Luftfahrzeuge

[1] https://upload.wikimedia.org/wikipedia/commons/7/79/DG1000_glider_crop.jpg [2] http://assets.geo.de/div/image/61309/02_columbus_popup.jpg [3] http://www.ultralightnews.com/_frame/elazair-electric-powered-ultralight-aircraft.jpg [4] http://www.extraaircraft.com/images/defaults/aircraft/330SC/slideshow/1.jpg

[1]

Aerodynamik

[3]

Struktur

[2]

Nutzlast

[4]

Flugleistung

Page 4: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

2) Flugzeugvorentwurf Prozesskette

DLR.de • Folie 4 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

Strukturauslegung

Rumpfstruktur, Masse Luftfahrzeug

(Entwurf)

Aerodynamik & Lasten

„Tool-Box“ beim DLR-BT

Luftfahrzeug (optimiert)

Iterativer Prozess

Page 5: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

2) Flugzeugvorentwurf Prozesskette

DLR.de • Folie 5 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

CPACS

„Tool-Box“

CPACS

• Geometrie • Struktur • Lasten • …

* CPACS = Common Parametric Aircraft Configuration Schema

„Tool-Box“

Parameter-Datensatz multidisziplinäre Schnittstelle (CPACS*)

Ausgabe für weitere Tools

Entwicklung beim DLR-BT

Prozesskette am DLR

+ Strukturmasse + …

Page 6: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

2) Flugzeugvorentwurf Prozesskette

DLR.de • Folie 6 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

Verschiedene Simulations-Anforderungen

Vorhandene Prozessketten: • TRAFUMO, AC-CRASH,… • Kaum gemeinsame Schnittstellen • Kommerzielle, langsame Skriptsprachen

(z.B. APDL der FE-Software ANSYS) • Unübersichtlich, unflexibel

Statische Strukturauslegung

Crash

CPACS

Page 7: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

2) Flugzeugvorentwurf Prozesskette

DLR.de • Folie 7 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

Basismodell CPACS spezifisches Modell

Neue Umsetzung in Python: • Ein Basismodell • Eine Toolumgebung (Open Source) • Modulare Anpassung

Toolumgebung

Erweiterung

Verschneiden Extrudieren Modellieren

Page 8: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 8

CPACS

CPACS

Vorteile: • Modular (Übersicht, Wartung) • Einheitliche Python Schnittstelle • Eigene/lizenzfreie Tools

Nachteile: • Erhöhter Wartungs- und

Programmieraufwand • Zusätzliche Dokumentationen

Python-Modul (Tool-Schnittstelle)

Geometrie Tool

Parameter Tool

FE Tool

Modellierungs Tool

Konverter Tool

Dimensionierungs Tool

Modularer Aufbau der Toolumgebung

3) Open Source Toolumgebung zur Strukturauslegung

Page 9: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 9

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Geometrie Tool

FE Tool

Modellierungs Tool

Konverter Tool

Dimensionierungs Tool

… Parameter Tool

3) Open Source Toolumgebung zur Strukturauslegung

Page 10: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 10

Parameter –Tool

Ein-/Auslesen und Validieren der CPACS-Daten (XML-Datei)

3) Open Source Toolumgebung zur Strukturauslegung

Page 11: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 11

Parameter –Tool

Objektorientierte XML-Daten-Verarbeitung

3) Open Source Toolumgebung zur Strukturauslegung

Ast Objekt(lxml)

Eigenschaften • ID/Name/Typ • Dateninhalt • Verknüpfte Verzweigungen

Methoden • Unteräste iterieren • Unteräste Durchsuchen • Unteräste Visualisieren • Unteräste in Tabelle konvertieren

(pandas.DataFrame) • Ast/Daten modifizieren • …

Page 12: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 12

Parameter –Tool

Pfad Autovervollständigung

Automatische Konvertierung von XML-Text

3) Open Source Toolumgebung zur Strukturauslegung

Page 13: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 13

Parameter –Tool XML-Daten Hierarchie visualisieren

3) Open Source Toolumgebung zur Strukturauslegung

Parameter

Datei Anfang

Page 14: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 14

Parameter –Tool

XML-Visualisierung (Baum-Algorithmus) • Rekursive Zuweisung von Punkt/Vektor • Relativ zu übergeordneten Objekt • Skalierung je nach Anzahl Unteräste • Parameter zur Variation

3) Open Source Toolumgebung zur Strukturauslegung

Referenz Ast

Übergeordneter Ast

Untergeordnete Äste

nÄste = 3

nÄste = 1

Page 15: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 15

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Parameter Tool

FE Tool

Modellierungs Tool

Konverter Tool

Dimensionierungs Tool

Geometrie Tool

3) Open Source Toolumgebung zur Strukturauslegung

Page 16: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 16

Geometrie –Tool

3) Open Source Toolumgebung zur Strukturauslegung

Beschreibung Oberflächen-Geometrie in CPACS 1. Aufpunkte für Kurven 2. Kurveninterpolation (Kubisch/B-Spline) 3. Flächeninterpolation (Coons-Patches/NURBS)

*1 Eigene Geometrie Algorithmen *2 Über pythonOCC

Beispiel: B-Spline Interpolation

Page 17: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 17

Geometrie –Tool

3) Open Source Toolumgebung zur Strukturauslegung

Verschiedene Geometrie-Kerne: • MESH-basiert*1

• OpenCascade (OCC)*2

*1 Eigene Geometrie Algorithmen *2 Über pythonOCC

Schnelle Verschneidungen Variable Netzfeinheit − Mäßige Gradienten Qualität

Gute Geometriequalität Viele Geometrieoperationen − Langsam bei aufwändigen

Verschnitten

OCC-Geometrie MESH-Geometrie

Page 18: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 18

Geometrie –Tool

Geometrie Objekt

Eigenschaften mode = MESH, OCC,… type = SURFACE, CURVE, POINT,… uid = ID Name geom = Geometrie-Daten subgeo = verknüpfte Sub-Geometrie

Methoden • Sub-Geometrie hinzufügen • Iterieren durch Sub-Geometrie • Verschneiden mit Geometrie-Objekt • Plotten • Gradienten Berechnen • Geometrie-Rohdaten abrufen • …

3) Open Source Toolumgebung zur Strukturauslegung

CPACS-Geometrie-Modul: • Nutzung beider Geometriekerne • Geometrie-Objekte (objektorientiert) • Verwaltung von Geometrie

Page 19: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 19

Geometrie –Tool

Objektorientierte Geometrie • Geometrietyp automatisch erkannt

Geometrie Objekt A

Geometrie Objekt B Ve

rsch

neid

en

Geometrie Objekt D

Vers

chne

iden

Geometrie Objekt E1

Geometrie Objekt E2

Geometrie Objekt C

3) Open Source Toolumgebung zur Strukturauslegung

Geometrie Objekt C

Page 20: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 20

Geometrie –Tool

Verwaltung von Geometrie Objekten aus CPACS

Visualisierung mit Mayavi

3) Open Source Toolumgebung zur Strukturauslegung

Kategorisierung

Objektname aus CPACS

z.B. Flächen und Stützkurven z.B. Schnittkurven für Struktur

Page 21: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 21

Geometrie –Tool

3) Open Source Toolumgebung zur Strukturauslegung

Mesh-basierte Verschneidung 1. Box um Bereich beider Netze 2. Gebiet unterteilen in Boxen 3. Filter Boxen mit Punkte beider Netze 4. Filter Punkte mit Distanz<Toleranz 5. Schnittpunkt Extrapolieren 6. Punkte sortieren/filtern 7. Kurve erstellen

Punkt Netz A & Normale

Punkt Netz B & Normale

Extrapolierter Schnittpunkt

Page 22: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 22

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Geometrie Tool

Parameter Tool

Modellierungs Tool

Konverter Tool

Dimensionierungs Tool

FE Tool

3) Open Source Toolumgebung zur Strukturauslegung

Page 23: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 23

FE – Tool (PreProzessor) • Finite Elemente (FE) Modellaufbau • Python basiert (OOP) • Nutzung von Modulen wie Numpy, Pandas, Mayavi • FE-Solver unabhängig • Schnittstelle zu Konverter-Tool • GUI vorhanden (PyQt)

(automatisch erstelltes Menü)

3) Open Source Toolumgebung zur Strukturauslegung

FE-Kategorisierung (Klassen)

Unterkategorien

Methoden

Page 24: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 24

FE – Tool (PreProzessor) Beispiel: Allgemeine Anwendungsmöglichkeit

FE-Model er

stel

len

Nutzer/Algorithmus

3) Open Source Toolumgebung zur Strukturauslegung

Page 25: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 25

3) Open Source Toolumgebung zur Strukturauslegung

FE – Tool (PreProzessor) Beispiel: Extrudieren von Balken

Profil

Page 26: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 26

FE – Tool (PreProzessor) Beispiel: Flächennormalen visualisieren/ausrichten

3) Open Source Toolumgebung zur Strukturauslegung

1

2

3

4 Element-Normale

Page 27: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 27

3) Open Source Toolumgebung zur Strukturauslegung

FE – Tool (PreProzessor) Beispiel: Berechnung von Schwerpunkt, Massenträgheitsmomente,…

Page 28: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 28

3) Open Source Toolumgebung zur Strukturauslegung

FE – Tool (PreProzessor) Beispiel: FE-Netz modifizieren

„Vernetzung“ (bisher nur bei vorhandenen Knoten & Knotenverbindungen)

Schnittkurve

Page 29: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 29

3) Open Source Toolumgebung zur Strukturauslegung

FE – Tool (PreProzessor) Beispiel: Modell Exportieren

Page 30: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 30

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Geometrie Tool

Parameter Tool

Konverter Tool

Dimensionierungs Tool

3) Open Source Toolumgebung zur Strukturauslegung

FE Tool

Modellierungs Tool

Page 31: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 31

3) Open Source Toolumgebung zur Strukturauslegung

Basis-Modellierungs – Tool • Nutzung vieler Module (Parameter, Geometrie, FE) • Algorithmen zur Erstellung der FE-Rumpfstruktur

Struktur Definitionen

FE Struktur mit Lasten

Page 32: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 32

3) Open Source Toolumgebung zur Strukturauslegung

Erweitertes-Modellierungs – Tool • Detailstruktur modellieren • Netzverfeinerung • Ausmodellierung vereinfachter Struktur (z.B. Balken)

Detailstruktur Fahrwerkschacht

Detailstruktur Leitwerk

Page 33: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 33

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Geometrie Tool

Parameter Tool

Dimensionierungs Tool

3) Open Source Toolumgebung zur Strukturauslegung

FE Tool

Modellierungs Tool

Konverter Tool

Page 34: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

3) Open Source Toolumgebung zur Strukturauslegung

DLR.de • Slide 34 > FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016

• FE-Daten Konvertieren für verschiedene FE-Codes (Ansys, Nastran, Code-Aster (open-source),…)

• Modular & objektorientiert • Offene interne Datenstruktur • Tests & HTML-Dokumentation

Outputdatei

Writer Aufbereiten der Modelldaten Schreiben der Outputdatei

FE-Modellobjekt

Parser Inputdatei einlesen Daten extrahieren und ordnen

Inputdatei

Konverter – Tool

Page 35: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Slide 35

3) Open Source Toolumgebung zur Strukturauslegung

Model • nodes • shells • beams • mats • forces • spc_dt • plot() • parse() • write() • …

Writer • __init__() • __build_filestring() • __write_data_to_string() • __write_split_list() • Dummy methods • …

Parser • __init__() • __build_model() • __find_lines_comma() • __find_lines_nsplit() • __find_lines_assignment() • __find_lines_list() • __dataframe_from_keyword() • get_model() • Dummy methods • … Cor

e plugin_b.Writer

• __write_node_data() • __write_shell_data() • __write_beam_data() • __write_material_data() • __write_force_data() • __write_bc_data() • …

plugin_a.Parser • __read_node_data() • __read_shell_data() • __read_beam_data() • __read_material_data() • __read_force_data() • __read_bc_data() • … P

lugi

n

Solverspezifische Implementierung

Basisfunktionalität

Konverter – Tool

Page 36: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

Beispiel: Daten Einlesen/Aufbereiten mit pandas

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 36

Modelldatenverarbeitung mit pandas

G TYPE F TREF NEND NINC 0 5 FX 500 0 NaN NaN 1 9 FY -5000 0 NaN NaN 2 10 FX 500 0 NaN NaN

G F TREF N1 N2 N3 0 5 500 0 1 0 0 1 9 -5000 0 0 1 0 2 10 500 0 1 0 0

N1 N2 N3 FX 1 0 0 FY 0 1 0 FZ 0 0 1

3) Open Source Toolumgebung zur Strukturauslegung Konverter – Tool

d = {'N1':'FX', 'N2':'FY', 'N3':'FZ'} transl_frame = pd.DataFrame(np.eye(3), index=d.values(), columns=d.keys())

df = df[df.F!=0].join(trans_frame, on='TYPE‘, how=‘inner‘).drop('TYPE', axis=1) return df.drop(['NEND', 'NINC'], axis=1)

df = self.__dataframe_from_keyword('forces')

def __read_force_data(self):

Page 37: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 37

Anwenderschnittstellen

%CONSPYRE_DIR%>python main.py --help usage: main.py [-h] [-v] [-b] [-c "config file path" | -f "input path" "output path"] optional arguments: -h, --help show this help message and exit -v, --version View version information -b, --batch Run in batch mode. -c "config file path", --config "config file path" Specify a non-default config file -f "input path" "output path", --files "input path" "output path" Specify input and output paths hidden argument: -s, --shell Show options for model shell cmds

Solver Auswahl

Hau

ptfe

nste

r

Mögliche Aktionen

3) Open Source Toolumgebung zur Strukturauslegung Konverter – Tool

GUI und Batch-Betrieb möglich

Page 38: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 38

CPACS CPACS

Python Modul (Tool-Schnittstelle)

Geometrie Tool

Parameter Tool

FE Tool

Modellierungs Tool

Konverter Tool

3) Open Source Toolumgebung zur Strukturauslegung

Dimensionierungs Tool

Page 39: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 39

3) Open Source Toolumgebung zur Strukturauslegung

Dimensionierungs – Tool • Iterative Anpassung z.B. der Wandstärke • Basierend auf Strukturbelastung

FE-Modell B

erec

hnun

g

Belastungsgrenzen

Strukturbelastung Ist-Zustand

Soll-Zustand

angepasste Referenz

Modellanpassung

Referenz

Dimensionierungs-Algorithmus

Page 40: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 40

3) Open Source Toolumgebung zur Strukturauslegung

Dimensionierungs – Tool

Dimensionierung v.Mises Spannung

Hautdicke [m] Beispiel aus alter Prozesskette

Erste Tests mit Python-Algorithmus und ANSYS-Solver Beispiel: Kragbalken mit Querbelastung

Page 41: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2

> FrOSCon > M.Petsch • Automatisierter Flugzeugvorentwurf mit Python > 20/21 Aug 2016 DLR.de • Folie 41

4) Fazit

Modularisierung & Objektorientierung • Klare Strukturen/Schnittstellen • Trennung nach Funktionalität • Einfachere Wart- und Erweiterbarkeit

Erweiterte Möglichkeiten • Bereitstellung von Geometrie-Objekten • Modularer Aufbau des FE-Modells • Umsetzung spezifischer Funktionalitäten • Implementierung von GUIs • Exportieren verschiedener Formate

Einbindung vieler Module • Schnelle Numerik (NumPy, SciPy, Pandas,…) • Vielfältige Visualisierungstools (z.B. Mayavi, PyQt)

Page 42: DLR · 1) Flugzeugvorentwurf Allgemein 2) Flugzeugvorentwurf Prozesskette 3) Open Source Toolumgebung zur Strukturauslegung 4) Fazit DLR.de • Folie 2