tigl: an open source computational geometry library for ... · • nurbs-based modelling of the...

26
An Open Source Computational Geometry Library for Parametric Aircraft Design ESCO 2018 – Pilsen – Czech Republic Martin Siggel Simulation- and Software Technology German Aerospace Center (DLR)

Upload: others

Post on 16-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

An Open Source Computational Geometry Library for Parametric Aircraft Design ESCO 2018 – Pilsen – Czech Republic Martin Siggel Simulation- and Software Technology German Aerospace Center (DLR)

Page 2: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Outline

Introduction • Aircraft design optimization • TiGL Software overview

TiGL methods

• Applications and uses • Architecture • Curve and surface interpolation algorithms

Results

• Comparison Gordon surfaces vs. Coons patches • Complete aircraft geometries

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 2

Page 3: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Motivation Aircraft design optimization overview

• Explore the aircraft of tomorrow • Evaluate new designs

• Geometry generation has essential role • All codes in the process chain must be robust

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 3

Design Vars

Geometry

CFD Sim.

Structure Sim.

Optimizer

Obj. Function

Design Study

Page 4: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

The TiGL software package

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 4

Aerodynamics / CFD

Radar signature

Infrared signature

Structure und Aeroelastics

CPACS

• C++ Library for parametric modelling of aircraft and helicopter based on parametric CPACS* (XML) files

• Used at DLR and international universities / research institutes for aircraft design and analysis

• TiGL Viewer to visualize CPACS-based aircraft geometries and other CAD files

• Cross platform: Linux, macOS, Windows, Android • Open Source, developers from

*B. Nagel et. al., Communication in Aircraft Design: Can we establish a Common Language?, 28th ICAS, Brisbane, Australia, 2012

Page 5: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 5

Introduction • Aircraft design optimization • TiGL Software overview

TiGL methods

• Features and applications • Architecture • Curve and surface interpolation algorithms

Results

• Comparison Gordon surfaces vs. Coons patches • Complete aircraft geometries

Page 6: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Parametric geometry

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 6

parametric CPACS data

Page 7: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Features and Applications

• Custom geometric modeling algorithms • Geometry export to common file formats, e.g.

IGES, STEP, STL, VTK, Collada

• NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers • Wing structure • Flaps • Fuselage structure (at work)

• API to query

• Points on surfaces • Intersections • Projections

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 7

Rendering, Visualization

Mesh Generation for Simulations (at work)

Modeling with CAD Systems

3D Printing • Mesh generation (at work) • Volume meshes for fluid

dynamics simulations • Surface meshes for structural

analysis, radar signatures

Page 8: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Architecture

• TiXI (https://github.com/dlr-sc/tixi) • Library to parse XML (CPACS) files

• OpenCASCADE (https://www.opencascade.com/)

• Geometry (NURBS-based) • Topology (Boundary Representation) • CAD Exports, Visualization

• Language Bindings

• Generated via SWIG (http://www.swig.org/) • Can access all C++ Data structures

• TiGL Viewer

• 3D Visualization • Scripting • Debugging

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 8

TiGL Geometry Library

OpenCASCADE CAD Kernel

TiXI XML Interface

TiGL Viewer Bindings

Matlab Python Java

Page 9: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Under the hood B-splines / NURBS • B-spline curve:

𝒄𝒄 𝑢𝑢 = �𝑷𝑷𝑖𝑖 ∗ 𝑁𝑁𝑖𝑖𝑑𝑑(𝑢𝑢, 𝒕𝒕)𝑛𝑛

𝑖𝑖=0

with:

• Control points 𝑃𝑃𝑖𝑖𝑐𝑐 • B-spline basis functions 𝑁𝑁𝑖𝑖𝑑𝑑(𝑢𝑢, 𝒕𝒕) • Knot vector 𝒕𝒕, 𝑡𝑡𝑖𝑖 ≤ 𝑡𝑡𝑖𝑖+1

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 9

• B-spline surface:

𝒔𝒔 𝑢𝑢, 𝑣𝑣 = ��𝑷𝑷𝑖𝑖𝑖𝑖 ∗ 𝑁𝑁𝑖𝑖𝑑𝑑𝑢𝑢 𝑢𝑢, 𝒕𝒕𝑢𝑢 ∗ 𝑁𝑁𝑖𝑖

𝑑𝑑𝑣𝑣 (𝑣𝑣, 𝒕𝒕𝑣𝑣)𝑚𝑚

𝑖𝑖=0

𝑛𝑛

𝑖𝑖=0

Page 10: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Under the hood B-spline curve interpolation • Solve control points Pi, given data points Dj, such that:

�𝑷𝑷𝑖𝑖 ∗ 𝑁𝑁𝑖𝑖𝑑𝑑 𝑢𝑢𝑖𝑖 , 𝒕𝒕𝑛𝑛

𝑖𝑖=0

= 𝐷𝐷𝑖𝑖

⇒ 𝑵𝑵𝑵𝑵 ≡ 𝒅𝒅 i.e. the curve passes though the data points

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 10

Page 11: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Under the hood B-spline surface skinning • Interpolates set of B-spline curves 𝑐𝑐𝑖𝑖(𝑢𝑢) by B-spline surface 𝑠𝑠(𝑢𝑢, 𝑣𝑣)

• First: knot insertion to create same knot vector for all curves • Then: Interpolate each row of control points with a curve → Control points of surface

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 11

𝑠𝑠(𝑢𝑢, 𝑣𝑣)

Page 12: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surfaces Curve network interpolation • Given network of profile and guide curves: Find surface that interpolates these curves

• Problem: No free library available for curve network interpolation!

• Custom development from OpenCASCADE for DLR based on Coons-patches showed

poor results

• „Gordon Surfaces“ interpolate curve networks, but require the curves to be compatible

• Practically never the case → Reparametrization of the curves (tricky)

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 12

Guides 𝑔𝑔𝑖𝑖(𝑣𝑣)

Profiles 𝑓𝑓𝑖𝑖(𝑢𝑢)

Page 13: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surfaces Algorithm overview → Gordon Surface is superposition of three surfaces:

𝐺𝐺(𝑢𝑢, 𝑣𝑣) = 𝑆𝑆𝑢𝑢(𝑢𝑢, 𝑣𝑣) + 𝑆𝑆𝑣𝑣(𝑢𝑢, 𝑣𝑣) − 𝑇𝑇(𝑢𝑢, 𝑣𝑣) → Convert Gordon surface to B-Spline / NURBS for further use in TiGL (degree elevation, knot insertion)

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 13

𝑆𝑆𝑢𝑢(𝑢𝑢, 𝑣𝑣)

𝑆𝑆𝑣𝑣(𝑢𝑢, 𝑣𝑣)

𝑇𝑇(𝑢𝑢, 𝑣𝑣) 𝐺𝐺(𝑢𝑢, 𝑣𝑣)

+ - =

𝑆𝑆𝑢𝑢 𝑢𝑢, 𝑣𝑣 : Skinning surface interpolating all profiles 𝑆𝑆𝑣𝑣(𝑢𝑢,𝑣𝑣): Skinning surface interpolating all guides 𝑇𝑇(𝑢𝑢,𝑣𝑣): Tensor product surface interpolating the intersection points of the curve network

Page 14: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surfaces Robustness • In theory: Profiles and guides must intersect each other!

• In practice: Allow for user defined tolerances

• Allow curve imperfections

• Reorder and reverse curves if necessary

• Try to handle ALL special cases!

• Provide Coons-based fallback solution

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 14

Page 15: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 15

Introduction • Aircraft design optimization • TiGL Software overview

TiGL methods

• Applications and uses • Architecture • Curve and surface interpolation algorithms

Results

• Comparison Gordon surfaces vs. Coons patches • Complete aircraft geometries

Page 16: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Surface Quality Analysis

• Surface quality analysis with zebra stripe plot • Implemented in TiGL Viewer using OpenGL fragment shader code

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 16

Page 17: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surface Results: Wing

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 17

Old – Coons Style New – Gordon Style

Page 18: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surface Results: Belly Fairing

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 18

Old – Coons Style New – Gordon Style

Page 19: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surface Results: Engine Cover

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 19

Old – Coons Style New – Gordon Style

Page 20: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surface Results: Engine Cover

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 20

Old – Coons Style New – Gordon Style

Page 21: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Gordon Surface Results: Helicopter Body

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 21

Old – Coons Style New – Gordon Style

Page 22: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Full aircraft model

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 22

Page 23: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Possible aircraft designs

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 23

Page 24: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

TiGL on GitHub

• Open Source, Apache-2.0 License

• ~ 120 kLOC

• ~43 kLOC auto-generated from CPACS XML schema

• https://github.com/DLR-SC/tigl

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 24

Page 25: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Conclusion

Summary • TiGL is a library for geometric modeling of aircraft

• TiGL can be used for general purpose geometry

modeling too

• Gordon Surfaces are a major building block for surfaces with high surface quality

Thanks to all TiGL Contributors

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 25

Outlook • Fuselage structure will come soon

• TiGL 3 Release probably in Q3 / 2018

(when CPACS 3 is finished)

• More aircraft specific geometries

Sebastian Deinert (Airbus) Bernhard Gruber (RISC) Jonas Jepsen (DLR) Jan Kleinert (DLR)

Philipp Kunze (DLR) Roland Landertshammer (RISC) Markus Litz (now Google) Reinhold Maierl (Airbus)

Merlin Pelz (DLR) Paul Putin (DLR) Konstantin Rusch (DLR) Tobias Stollenwerk (DLR)

Page 26: TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the main parts, e.g. • Wings • Fuselages • Engine covers ... • Geometry (NURBS-based)

Thank you for your attention!

> TiGL: An Open Source Computational Geometry Library for Parametric Aircraft Design > Martin Siggel > 6.6.2018 DLR.de • Chart 26

[email protected]