TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the...
Transcript of TiGL: An Open Source Computational Geometry Library for ... · • NURBS-based modelling of the...
![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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/1.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/2.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/3.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/4.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/5.jpg)
> 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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/6.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/7.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/8.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/9.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/10.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/11.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/12.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/13.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/14.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/15.jpg)
> 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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/16.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/17.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/18.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/19.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/20.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/21.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/22.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/23.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/24.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/25.jpg)
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)](https://reader034.fdocuments.in/reader034/viewer/2022042914/5f4f138f8cdad708b514f04b/html5/thumbnails/26.jpg)
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