Parametrizzazione di forma mediante il mesh morphing: RBF Morph Prof. Marco Evangelos Biancolini University of Rome Tor Vergata info@rbf-morph.com biancolini@ing.uniroma2.it
Outline Company Introduction Parametric shapes RBF Morph Software Line Ongoing RBF Morph Researches Industrial Applications Why Mesh Morphing? ANSYS ACT Technology RBF Morph Extension Industrial applications
Company Introduction RBF Morph is a pioneer and world-leading provider of numerical morphing techniques and solutions conceived to efficiently handle shape optimization studies concerning most challenging industrial applications. We are an independent software-house and vendor. Our main product is RBF Morph, that is a unique morpher that combines a very accurate control of the geometrical parameters with an extremely fast mesh smoothing properly designed to be integrated in advanced computational optimization procedures. The RBF Morph tool is currently available in the market mainly as add-on of the CFD commercial code ANSYS Fluent.
Company Introduction The RBF Morph tool had its inception in 2008 as on-demand solution for a Formula 1 top team. The need was a novel technology able to change the shape of large CFD numerical models as fast as possible. The final result had been so good that the technology was packaged in a commercial software product and launched onto the market. At present, Dr. Marco Evangelos Biancolini is the unique owner of the RBF Morph technology and, as Director, avails himself of the collaboration of several experts for the deliver of products and services.
Company Introduction Morphing-based numerical tools and services RBF Morph Milestones 2008: tool implementation for Formula 1 top team consultancy activity 2009: founded in Italy 2009: Software Partner of ANSYS 2009: at EASC RBF Morph won the Most Advanced Approach Award Most Innovative Approach using Simulation Methods 2011: strategic partnership (Rome) 2012: OEM partner of ANSYS with Tor Vergata University 2013: beneficiary of an FP7 AAT Project RBF4AERO 2013: at ASWC RBF Morph awarded for the Best use of HPC 2013: Partner of Enginsoft 2014: beneficiary of FP7 Project RIBES 2014: beneficiary of FP7 Fortissimo
Knowledge Galaxy
Parametric shapes
Geometry - CAE link Strategies: CAD driven Mesh morphing
CAD to mesh Main advantages Accurate geometry quality control High constraints setup flexibility No back to CAD required Main disadvantage Complex and not generalizable setup Highly skilled CAD user required Robustness Remesh required Structured grids Simple geometries
RBF mesh morphing Main advantages No re-meshing Can handle any kind of mesh Can be integrated in the CFD solver Highly parallelizable Robust process Main disadvantage Computationally expensive (HPC for large grids) Back to CAD procedure required
RBF Morph software line
Mesh Morphing with RBF A system of Radial Basis Functions is used to fit a solution for the mesh movement/morphing, from a list of source points and their displacements. The RBF problem definition does not depend on the mesh Radial Basis Function interpolation is used to derive the displacement in any location in the space, each component of the displacement is interpolated: RBF are recognized as on of the best mathematical tool for mesh morphing. The main issue is about performances required for the solution of large dataset. z y x s v z y x s v z y x s v z z z z N i k z i z z y y y y N i k y i y y x x x x N i k x i x x i i i 4 3 2 1 1 4 3 2 1 1 4 3 2 1 1 x x x x x x x x x
One pt at center and border (80 pts)
Effect on surface (gs-r)
Effect on surface (cp-c4)
Control of volume mesh (1166 pts)
Morphing the volume mesh
RBF Morph software line HPC RBF general purposes library (state of the art algorithms, parallel, GPU). This is the numerical kernel of our software. Millions of RBF centers can be fitted in a short time. Awarded mesh morphing software available as an add-on for ANSYS Fluent CFD solver Stand alone morphing software + smoothing commands for different mesh formats ANSYS Mechanical ACT extension
Fluent add-on Add on fully integrated within Fluent (GUI, TUI & solving stage), Workbench and Adjoint Solver Mesh-independent RBF fit used for surface mesh morphing and volume mesh smoothing Parallel calculation allows to morph large size models (many millions of cells) in a short time Management of every kind of mesh element type (tetrahedral, hexahedral, polyhedral, etc.) Support of the CAD re-design of the morphed surfaces Multi fit makes the Fluent case truly parametric (only 1 mesh is stored) Precision: exact nodal movement and exact feature preservation (RBF are better than FFD)
ACT extension for Mechanical Deeply integrated in ANSYS Mechanical: same look & feel, same interaction logic Nested in the usual Mechanical tree as an added object, shares its scoping tools for geometrical and mesh elements selections Written in python and xml, uses external C++ RBF Morph core libraries Cuda and OpenMP acceleration Child hierarchical logic for complex morphings (two steps, three steps,, n steps setups)
RBF Morph Stand Alone RBF solutions are fully compatible and exchangeable between add-on and standalone versions Support for STL and CGNS file formats. Selected morphed surfaces can be exported in STL format and back to CAD is possible via STEP files Add-on-like interface Solver independent process currently supports many mesh formats Functions scriptable via tcl Global supported bi-harmonic functions and C 0, C 2, C 4 compact supported functions available
Ongoing RBF Morph Researches
Ongoing RBF research RBF Morph and Adjoint coupling: Adjoint sculpting, Adjoint preview, Augmented DOE STL targeting, CAD controlled surfaces Mesh to CAD features Mapping of magnetic and pressure loads Interpolation of hemodynamic flow fields acquired in vivo Strain and stress calculation (experimental data, coarse FEM, isostatic lines)
RBF4AERO EU Project Innovative Benchmark Technology for Aircraft Engineering Design and Efficient Design Phase Optimisation ACP3-GA-2013-605396 www.rbf4aero.eu
RIBES EU Project Radial basis functions at fluid Interface Boundaries to Envelope flow results for advanced Structural analysis JTI-CS-2013-GRA-01-052
Fortissimo EU Project Factories Of the Future Resources, Technology, Infrastructure and Services for SImulation and MOdelling Approved experiment: Virtual Automatic Rapid Prototyping Based on Fast Morphing on HPC Platforms
RBF Morph Fluent Add On and Stand Alone
The work-flow RBF Morph basically requires three different steps: Step 1 setup and definition of the problem (source points and displacements). Step 2 fitting of the RBF system (write out.rbf +.sol). Step 3 [SERIAL or PARALLEL] morphing of the surface and volume mesh (available also in the CFD solution stage it requires only baseline mesh and.rbf +.sol files).
The problem setup The problem must describe correctly the desired changes and must preserve exactly the fixed part of the mesh. The prescription of the source points and their displacements fully defines the RBF Morph problem. Each problem and its fit define a mesh modifier or a shape parameter.
Fluent parallel morphing Interactive update using the GUI Multi-Sol panel and the Morph/Undo commands. Interactive update using sequential morphing by the TUI command (rbf-smorph). Batch update using the single morphing command (rbf-morph) in a journal file (the RBF Morph DOE tool allows to easily set-up a run). Batch update using several sequential morphing commands in a journal file. Link shape amplifications to Fluent custom parameters driven by Workbench (better if using DesignXplorer). More options (modefrontier, Matlab, DAKOTA, Mathcad)
Stand alone version Shape modifications can be defined using the stand alone RBF Morph GUI (CGNS plot based, accepts CGNS and stl) and/or Fluent Add On for each shape modifications 2 files are stored (.rbf.sol). Volume morphing can be executed using specific morphing commands (input: original mesh, shape modifications, shape amplifications) or directly embedding the smoothing library Notice that even in the case of huge meshes just the shape modifications files are required; with a very small demand of storage because just the points and the coefficients of the RBF are stored. A shape parametric calculation grid is obtained
Industrial Applications
Motorbike Windshield (Bricomoto, MRA)
Sails Trim (Ignazio Maria Viola, University of Newcastle)
Ship Hull (University of Leeds)
Ship Hull (University of Leeds)
Optimization of sweep angles
Optimization of fuselage (Taurus-Pipistrel)
Exhaust manifold Constrained Optimization Adjoint Solver
Optimized vs. Original - Streamline
Generic Formula 1 Front End
Generic Formula 1 Front End
MIRA Reference car (MIRA ltd)
50:50:50 Project Volvo XC60 (Ansys, Intel, Volvo)
HPC Workflows Case Motorbike windshield Reference car Sedan Hull Volvo XC60 Sails DLR-F6 IR5 Organization MRA/UTV MIRA ANSYS Leeds ANSYS New Castle / UTV MorphLab/ UTV Dallara Year 2009 2010 2011 2011 2012 2013 2013 2013 #Mcells 1,5 5,2 6 0,3 50 1,5 14 80 mesh type tets poly tets hexa tets hexa tets tets #par 3 3 2 8 4 4 8 5 #design 45 27 9 45 50 100 81 1 RS Tool modef Mathcad DX DX DX DX/ Mathcad DX FSI ncores 4 2 12 4 240 16 16 256 RUN (hr) 48 300 24 45 50 26 102 1 Time to set-up one par (hr) 1,5 2,5 2 1 2 2 1 2 Time to set-up (hr) 4,5 7,5 4 8 8 8 8 8 Serial time one design (hr) 4,27 22,22 32,00 4,00 240,00 4,16 20,15 256,00 Serial time one design (hr/mcells) 2,84 4,27 5,33 13,33 4,80 2,77 1,44 3,2
FSI analysis on a Indy race car
FSI analysis on a Indy race car
Steering wheels
Ice accretion morphing
3D accretion morphing
Why mesh morphing also for FEM?
Why FEM mesh morphing? It allows to have parametric shape mesh that preserves the original topology. Remeshing noise is avoided. It allows to update the shape of a validated FEM model without rebuilding a new mesh. New shapes can be investigated even if the underlying CAD geometry is missing. The mesh can be updated to measured shapes (i.e. accounting for manufacturing tolerances) It s usually faster than remeshing.
Why RBF morphing? RBF Morph is a best in class product crafted to deal with challenging CFD application (huge meshes) 7 years of experience on industrial applications of Radial Basis Functions (RBF) RBF are recognized as one of the best mesh morphing tool available in the industrial and scientific community A new vision (we have started the new project from scratch) to put in the hands of ANSYS Mechanical Users the fastest and easiest mesh morphing tool Satisfy the needs of many users asking for such a kind of technology available in ANSYS Mechanical
Video number 1 https://youtu.be/kxzzq0f3mq8
ANSYS ACT technology
ANSYS ACT Technology Application Customization Toolkit: a framework which combines the plugin model with an API written in IronPython to allow the development of extensions of ANSYS Workbench applications without the need of compiling code. Basically an ACT extension consists of two elements: an XML file IronPython code In addiction, the RBFMorph extension for ACT interacts with an external library by means of a wrapper developed in C++.
RBF Morph ACT extension for Mechanical: XML The purpose of XML is to describe the graphical elements of extension's interface by means of tags and options. <propertygroup name="rbf_select" caption="rbf function" display="caption"> <property name="degree" caption="degree" control="select" default="1"> <attributes options="1,3" /> </property> </propertygroup> <propertygroup name="combine_select" caption="combine select"> <property name="binary" caption="acting on" control="select"> <attributes options="undeformed,deformed" /> </property> <property name="multiple" caption="if selected nodes overlap" control="select"> <attributes options="override,sum" /> </property> </propertygroup> Every element may have associated a IronPython routine executed when it is selected.
RBF Morph ACT extension for Mechanical: XML The purpose of XML is to describe the graphical elements of extension's interface by means of tags and options. Every element may have associated a IronPython routine executed when it is selected.
RBF Morph ACT extension for Mechanical: IronPython ACT makes available an IronPython (.NET implementation of Python) application programming interface with a rich set of objects, so the extension must include IronPython code which acts as a bridge between the GUI and API. degree = int(self.load.properties["rbf_select"].properties["degree"].value) child_point_x = array.array("d") child.coll_get(child_points, child_point_x, "x") child_point_x_ptr = IntPtr(child_point_x.buffer_info()[0]) morpher.morph( node_point_count, node_point_x_ptr, node_point_y_ptr, node_point_z_ptr, node_point_dx_ptr, node_point_dy_ptr, node_point_dz_ptr ) The RBF Morph extension also interacts with an external library, developed in C++, which actually implements the morphing routines. These function are invoked through an ad-hoc wrapper.
RBF Morph ACT extension for Mechanical: C++ wrapper IronPython methods cannot be directly bound to any external library until it does not export an interface to Common Language Runtime, the virtual machine that runs bytecode generated from high-level.net languages (such as IronPython). For that reason it has been developed a CLR wrapper which maps morphing library functions onto IronPython methods.
The wrapper includes a tool to perform some time benchmarks; particularly the criteria taken into consideration are the following: turnaround time: total amount of time requested by library to process input and return output; CPU/GPU time: estimation of actual time spent on processors for calculus: - clock() on Linux; RBF Morph ACT extension for Mechanical: benchmark - GetProcessTimes() on Windows; - cudaevent* functions on CUDA.
Accelerating the solver The evaluation of RBF at a point has a cost of order n. The fit has a cost of order n 3 for a direct fit (full populated matrix); this limit to ~10.000 the number of source points that can be used in a practical problem. Using an iterative solver (with a good pre-conditioner) the fit has a cost of order n 2 ; the number of points can be increased up to ~70.000. With parallelization and fast RBF methods (OpenMP GPU) we are able to scale up to very large problems (millions of points to control hundreds millions of nodes)
GPU acceleration! Single RBF complete evaluation Unit random cube Kepler 40: 2880 CUDA cores GPU Clock 0.75 GHz Quadro K2000: 384 CUDA cores GPU Clock 0.95 GHz CPU: Intel Xeon E5-2680 Clock 2.8 GHz 20 cores
GPU acceleration! #points CPU serial CPU OMP K2000 K40 Preconditioner build iterations Preconditioner build iterations Preconditioner build iterations Preconditioner build iterations 5000 0.8 4.352 0.955 0.4770 0.94 0.491 2.194 0.060 10000 2.47 19.867 2.32 1.132 2.41 1.140 3.885 0.17 50000 47.07 733.463 46.463 35.20 47.510 33.13 48.95 5.12 100000 231.03 3922.31 238.68 163.375 238.82 146.20 239.007 21.365 150000 375.75 7915.24 379.923 439.546 400.12 402.95 457.597 52.568
Scaling plot Complexity is expected to grow as n²: 1 10 3 100 GPU observed as n 1.87 CPU observed as n 2.17 Estimation at one million points: GPU: 59 s 10 1 0.1 0.01 1 10 3 1 10 CPU: 2783 s 3 1 10 4 1 10 5 1 10 6
Registered Time Conrod testcase CPU: 497 s CPU OMP: 53 s K2000: 55 s K40: 34 s
Solver performance (Fluent Add On) 14 mill. cells, 60.000 points, PC 4 cpu 2.67 GHz fitting time: 53 sec. (serial) smoothing: 3.5 min. 50 mill. cells, 30.000 points, HPC 140 cpu fitting time: 25 sec. (serial) smoothing: 1.5 min. 100 mill. cells, 200.000 points, HPC 256 cpu fitting time: 25 min. smoothing: 5 min. Largest fitted cloud 2 mill. points on 32 cpu in 3 hours. Largest model morphed (in our knowledge) 700.mill. cells on 768 cpu in 45 min.
RBF Morph ACT Extension
ACT extension specs Fully embedded in ANSYS Mechanical with same look & feel Integration in the tree and founded on the working principles of ANSYS Workbench Based on the ACT (Application Customization Toolkit) extension concept Geometrical and mesh scoping to set-up the mesh morphing problem Parametric RBF fast solver (including parallel and GPU support)
ACT extension specs Easy to use, flexible and expressive. Powered by multi-step RBF technology (which effectiveness has been extensively proven in RBF Morph) RBF fitting and mesh morphing happen as a unique HPC process at each shape update. This allows the maximum flexibility with respect to parameterization RBF component set-up data stored and persistent with the ANSYS Mechanical project. Advanced interaction with DM to enable CAD resynchronization after morphing (coming soon)
ACT extension specs Hierarchical multi-step RBF approach Each morphing target can be controlled using the superposition of a constant translation (other modifiers will be introduced) and an RBF field generated by its sources (if any) Source points are extracted using the motion of all the children If the child is a leaf its movement is known otherwise it becomes a target and has to be solved descending the tree
Available Modifications Translation
Available Modifications Translation
Available Modifications Scaling
Available Modifications Scaling
Available Modifications Rotation
Available Modifications Rotation
Available Modifications Surface offset
Available Modifications Surface offset
Available Modifications Curve offset
Available Modifications Curve offset
Available Modifications Surface targeting
Available Modifications Surface targeting
Available Modifications Surface targeting
Available Modifications Curve targeting
Available Modifications Curve targeting
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Simple example of working logic behind the RBF Morph ACT extension
RBF Morph ACT extension for Mechanical Morphed mesh!
Cube example A simple cube is loaded on the top and clamped to the bottom Structural mechanics tell us that this structure can be optimized adopting a tapered profile A parabola is obtained if we look for constant bending stress beam The theory is well known in gear design as the Lewis formula used for the stress assessment of a teeth
Cube example Boundary conditions
Cube example Baseline solution
Cube example Mass reduction 36% Stress reduction 12%
Video number 2 https://youtu.be/9hy628uyrr4
RBF Morph ACT extension for Mechanical: conrod Practical problem example: a connecting rod optimization. Geometry in Solidworks. Meshing, parameterization (RBF Morph) and structural analysys in Workbench. 161493 nodes mesh. The shape of the two lightening holes is varied, translating and resizing them
RBF Morph ACT extension for Mechanical: conrod Offset+rigid translation for the holes Null movement for other surfaces
RBF Morph ACT extension for Mechanical: conrod
RBF Morph ACT extension for Mechanical: conrod 2395 N traction load acting on big head Structural steel
RBF Morph ACT extension for Mechanical: conrod Optimized geometry
Press basement This is a simple mesh morphing feasibility study for a geometry relevant for SACMI Part studied is a quarter of the basement of a press Area to be optimized is the one highlighted in green Simple boundary conditions are used to stress the part (red fixed, yellow symmetry, blue loaded)
Press basement Mesh morphing has been used to reduce the stress concentration acting on the shape of the fillet.
Press basement As the fillet is smoothed a stress redistribution is observed. Morph #1 Morph #2
Press basement Notice that high mesh deformation is properly accommodated thanks to RBF mesh morphing Morph #3
Press basement Original vs. Optimised (13% reduction of stress peak)
Example 1 Complex geometry: parameterization is not possible edges # nodes: 115.000 # morphed nodes: 115.000 before after Features Curve Offset Translation faces Multiple Bodies Hierarchical logic FEA bodies
Example 2 Complex assembly: parameterization is possible but difficult and human-time consuming # nodes: 620.000 # morphed nodes: 190.000 Multiple Parts Contacts FEA before after Features Curve Offset Translation Contact region «translates» all together
BGA Solder Joint study The objective here is to show how RBF Morph can be used in BGA Solder Joint Reliability simulations to show how geometric parameters can be morphed to itemize their effect on stress calculations DIE DIE UNDERFILL MOLD COMPOUND SUBSTRATE SOLDER BALLS PCB
BGA Solder Joint study
Video number 3 http://youtu.be/lpnc972x2ka
Conclusions An overview of our flagship product RBF Morph Fluent Add has been given The novel mesh morphing tool implemented in ANSYS Mechanical using ACT extension technology has been introduced Radial Basis Functions are used for multistep set-up The new software tailored for FEM benefits of past experience on RBF Morph ANSYS Fluent add-on (mainly CFD) Nevertheless we have restarted all the developments from scratch i.e. reusing knowledge and ideas (no cross compatibility between tools) Basic capability of the first software prototype are demonstrated on a simple FEM mesh and on an industrial FEM model How can we do better? Please do not hesitate to tell us your needs!
Thank you! Prof. Marco Evangelos Biancolini E-mail: act@rbf-morph.com Web: Goo.gl/1svYd linkedin.com/company/rbf-morph Twitter.com/RBFMorph youtube.com/user/rbfmorph