Automation components for simulation-based engineering October 2008 simulation-based engineering challenges Use of physics simulation as an integral part of the design process Use of simulation early and often in the design process Use of simulation to evaluate design functional objectives Use of simulation to affect design decisions October 2008 simulation-based engineering challenges Increasing complexity Structural Analysis Thermal Analysis Computational Fluid Dynamics (CFD) ElectroMagnetic Analysis Radiation Analysis Coupled Physics MEMS Application specific ... October 2008 Turbo-machinery Power generation Combustion engines Chemical Mixing simulation-based engineering challenges objectives of physics simulation in the design process are changing Drive reusable Analysis Data Models from high level requirements through detailed analysis. Concept to detail design phases Provide a means to support robust design, systems engineering, functional design and design space exploration for performance investigations. Provide Analysis data definition to enable capture and reuse of expertise. October 2008 simulation-based engineering environment Simulation Driver Frameworks InstanceIndependent Simulation Definition Simulation Instance Model Simulation Execution Instance Model (Analysis Abstract Model) Solve for Frameworks (Robust Design / Design Exploration / Systems Engineering) Simulation Results Instance Data Data Management Frameworks (PLM/SDM) Rules, Processes, Templates October 2008 Object Definition Instance Data (CAD, Mesh Based, Concept, Non-Geometric) Instance Based Simulation Data (Execution Ready/Results Data) Simulation Models Simmetrix approach Provide software components to enable automation to generate accurate simulation results applicable to design decisions directly from the current Design Model instance on a repetitive basis through the design process October 2008 Abstract Model Simulation Model Direct geometry access Automatic mesh generation Automatic generation of run-ready data Results management Adaptive mesh modification analysis abstract model Instance Independent Simulation Definition Made up of Four Major Aspects Physical Characteristics Solution Specific Definitions Conceptual Model October 2008 Instantiation Rules and Processes analysis abstract model Instance Independent Simulation Definition Physical characteristics Physical constraints and properties that are instance independent Material definitions/libraries Physical constraints others Defined / utilized as attributes assigned to a global / nothing Class in the Conceptual Model October 2008 analysis abstract model Instance Independent Simulation Definition Solution Specific Definitions Definitions of the specific problem to be solved Defined as attributes assigned to data objects (or global class) in the conceptual model Can be expanded to include definition of derived results (Performance Requirements) calculation October 2008 analysis abstract model Abstract (Conceptual) Model Tag based approach Tags placed on our associated with Object Definition Data Typically string parameters or attributes Tags can be assigned to Assemblies, subassemblies, parts, features, and explicit Faces Auxiliary file used for Discrete (mesh) data Benefits Independent of complexity of problem domain Can work with object definitions from multiple sources Limitations & Issues Requires creation and maintenance of persistent tag data Difficult to maintain tags at anything less than a feature (ie a-pillar flange ) Applicable to a limited domain of problems October 2008 analysis abstract model Abstract (Conceptual) Model Tag based approach Simple Heat Exchanger example CFD simulation defined once and alternate designs instanced first design could be in CAD system A and second design in CAD system B Boundary Layer meshing and wall boundary conditions applied to all appropriate faces October 2008 analysis abstract model Abstract (Conceptual) Model Abstract Reasoning based approach Abstract Geometry Component Functions & Filters Result in Component / Abstract Geometry Can be used to drive complex “rule” like structure (ie matching edge loop pairs for pin or bolt hole locations) Operations on Components / Abstract Geometry Relations, Groups, Functions & Filters Result in Component / Abstract Geometry Can be nested to form complex abstract objects Benefits Independent of object data structure (ie CAD features) Removes need for tags Can work with object definitions from multiple sources Applicable to a broad domain of problems Limitations & Issues Complexity of problem domain determines complexity of Abstract Reasoning October 2008 analysis abstract model Abstract (Conceptual) Model Abstract Reasoning based approach Decklid example Decklid analysis starting with existing NASTRAN mesh models Loads & boundary conditions defined abstractly and located based on each instance October 2008 analysis abstract model Abstract (Conceptual) Model Mixed approach Abstract Reasoning + Tags Best of both worlds approach Benefits Leverages knowledge that is available Minimizes need for tags to what is easy & appropriate to tag Reduces complexity of Abstract Reasoning by only using Abstract Reasoning where tags are not appropriate Independent of object data structure (ie CAD features) Removes need for tags Can work with object definitions from multiple sources Applicable to complete domain of problems Limitations & Issues Requires planning when & what tags are appropriate Yet another layer of abstraction October 2008 analysis abstract model Instance Independent Simulation Definition Instantiation Rules and Processes Transformation mappings from various object definition instance representation types to valid simulation instance models (implicit). Includes instantiation of relations data Includes instantiation of derived data inverse space for CFD/EM “sliver” feature removal Different for each object definition instance representation type Included as part of GeomSim modules for supported object definition representation types October 2008 simulation model The Object Definition Instance (“Design Model”) is transformed into a non-manifold topology (Simulation Model) Solids that touch share common faces and edges at the contact interface Resulting interface faces may have material on both sides Allows for single or set of mesh entities at the interface Attributes may be used to create duplicate mesh entities at the interface Attributes are recast from the Abstract Model to the Simulation Model for the current Design Model instance October 2008 simulation model A Unified Topology Model is created independent of geometry source (also works with discrete models – stl/mesh models) Initially generated from Design Model instance Provides interrogations of geometry via direct access of the Design Model Topological adjacencies, point classification, surface evaluation (points, derivatives, normals, etc.), closest point queries, etc. Assembly modeling Represent assembly models as non-manifold model even if the underlying modeling engine does not support this Allows for creation and modification of simulation related topology Suppression of “small” features Addition of bounding boxes Symmetry planes Recognition of void regions that are not explicitly defined in the modeling source Simulation Model topology does not have to exactly match the Design Model topology October 2008 automatic mesh generation Mesh control attributes assigned to the Abstract Model are mapped to the appropriate entities in the current Simulation Model instance. Supports non-manifold topology models embedded vertices, edges, faces Maintains relationship of mesh entities to Simulation Model topology Provides ability to put a full or partial mesh on a model entity October 2008 automatic mesh generation Fully automatic mesh generation for surfaces and solids Triangular, quadrilateral and mixed surface meshes Tetrahedral volume meshes Courtesy Top Systems Ltd Courtesy Ford Motor Company October 2008 Courtesy Infolytica Corporation automatic mesh generation Curved mesh generation Supports meshes of higher order elements that capture geometry Courtesy Top Systems Ltd. October 2008 automatic mesh generation Matched meshes for periodic boundary conditions Courtesy Infolytica Corporation October 2008 automatic mesh generation Boundary Layer meshing with edge blends October 2008 automatic mesh generation Extrusion meshing Extrude mesh between two faces with similar topology Supports generalized curvature between faces October 2008 automatic mesh generation Crack Tip meshing 3D edge blends along crack tip edge October 2008 automatic mesh generation Extensive mesh refinement control Specified refinement size Absolute value on model, model entity or location in space Relative value on model or model entity Function based on location in space Boundary layer growth rate Curvature based mesh refinement User defined refinement October 2008 A unified representation of simulation results data that is independent of the physics solver used Provide result feedback in terms of design objectives and criteria Provide improved data for visualization software Provide high level access and query functions October 2008 results management Expressions Are based on operations on one or more fields Can be created from multiple fields Fields may be on the same or different meshes Can create new fields Can store what the field represents Can be evaluated over any part of the domain Can be evaluated over Components or Classes in the Abstract Model Can be used to express results in terms of design objectives (e.g. comfort index, bearing force, power drop, …) October 2008 results management Supports mapping solutions between meshes October 2008 Different physics Same physics but different mesh Adaptive mesh modification Solution migration during repartitioning adaptive mesh modification October 2008 adaptive mesh modification Provides refinement and coarsening of existing mesh Ensures new nodes on boundary are placed correctly on geometry and mesh is valid Enables anisotropic target mesh October 2008 geometry based parallel mesh generation & adaptivity Growing need to solve larger and larger problems October 2008 Fluid domain applications (automotive & aerospace) Biomedical applications Environmental applications Electromagnetic applications Coupled applications geometry based parallel mesh generation & adaptivity Growing need to solve larger and larger problems Tens of millions of elements are becoming prevalent Hundreds of millions of elements are becoming common Applications requiring billions of elements are appearing October 2008 geometry based parallel mesh generation & adaptivity Solvers have made significant advances in parallelization Parallel CFD and EM solves are quite common Recent advances have shown excellent scaling results on large paralleled clusters (ref. Ken Jansen) Meshing Technology has not kept up with solver technology in the area of Parallel computing Some advances have been made in Parallel mesh adaptation Some work has been done in Parallel mesh generation A few applications have Distributed memory parallel meshing available A few more applications have Shared memory parallel meshing available Most applications start the parallel meshing with an initial facetted model Mesh generation for the large scale problems is clearly becoming the bottleneck October 2008 geometry based parallel mesh generation & adaptivity Parallel mesh generation brings with it its own set of problems / issues For generalized meshing of arbitrary geometry the problem is ill formed for parallel computing An added complexity is that the intent for CFD, EM and other farfield applications is to model the space defining the field volume with one or more complex volumes Just splitting the workload by parts in an assembly is not appropriate October 2008 geometry based parallel mesh generation & adaptivity Accurate solutions require accurate capture of geometry Curvature based refinement is commonly used in serial mesh generation applications Small details may be of interest Using a predefined facet model may not be accurate enough for the critical areas of interest Accurate capture of geometry requires direct geometry access as part of the parallel mesh generation Creating a highly accurate facet model is a serial operation and would quickly become the new bottleneck October 2008 geometry based parallel mesh generation & adaptivity Shared Memory .vs. Distributed Memory 64 bit processors and multi-core systems have raised the question of Shared Memory (multi-threaded) or Distributed Memory (MPI) architectures The answer is basically related to the size of mesh required The limitation on Shared Memory Parallel has moved from the addressable memory space to the amount of physical memory available The main issue with Distributed Memory Parallel is to get enough regions to be meshed on each processor to avoid a negative impact from communications Three groupings of problems can be considered Moderately large – (millions to low tens of millions of elements) – SMP Large – (low tens of millions to high tens of millions) – either Very Large – (> high tens of millions) - DMP Simmetrix has developed a set of toolkits for Geometry Based Parallel Mesh generation for both SMP and DMP architectures October 2008 geometry based parallel mesh generation & adaptivity A series of rooms with furniture and people (Parasolid model) (courtesy of Transpire , Inc.) Walls, Furniture, people and space are meshed With BL for CFD type applications Without BL for EM type applications Results shown for various configurations of Distributed Memory Parallel (DMP) on a small cluster October 2008 geometry based parallel mesh generation & adaptivity Cluster configuration used for testing (low end cluster) 6 dual core Suns 2Ghz Opteron processors 2GB Ram per processor Gigabit Ethernet connection Speedup Test 3 different mesh sizes run with and without Boundary Layers ~ 6 Million mesh regions run on 2, 4, and 8 processors ~ 24 Million mesh regions run on 4 and 8 processors ~ 46 Million mesh regions run on 4, 6, 8,10 and 12 processors Normalized Speedup = ( t(b) * n(b) ) / ( t(n) * n ) October 2008 t(b) – meshing time for base (minimum number of processors run) n(b) – number of base processors t(n) – meshing time for n processors n – number of processors used geometry based parallel mesh generation & adaptivity 6 million mesh regions ~1.5 million mesh regions/minute on 2 processors ~2.3 million mesh regions/minute on 4 processors ~3.6 million mesh regions/minute on 8 processors Meshing time (6 million regions) 300 250 200 w/out Boundary Layers 150 w/Boundary Layers 100 50 0 0 2 4 6 number of processors October 2008 8 10 geometry based parallel mesh generation & adaptivity 6 Million mesh regions Processors 2 4 8 w/out Boundary Layers 1.00 0.77 0.61 w/ Boundary Layers 1.00 0.80 0.62 Normalized Speedup (6 million regions) 1.2 speedup 1 0.8 w/out Boundary Layers w/Boundary Layers 0.6 0.4 0.2 0 0 October 2008 2 4 6 number of processors 8 10 geometry based parallel mesh generation & adaptivity 24 million mesh regions ~ 3 Million mesh regions/minute on 4 processors ~ 4.3 Million mesh regions/minute on 8 processors Meshing time (24 million regions) 600 500 400 w/out Boundary Layers 300 w/Boundary Layers 200 100 0 0 2 4 6 number of processors October 2008 8 10 geometry based parallel mesh generation & adaptivity 24 Million mesh regions Processors 4 8 w/out Boundary Layers 1.00 0.72 w/ Boundary Layers 1.00 0.74 Normalized Speedup (24 million regions) 1.20 speedup 1.00 0.80 w/out Boundary Layers w/Boundary Layers 0.60 0.40 0.20 0 October 2008 2 4 6 number of processors 8 10 geometry based parallel mesh generation & adaptivity 46 million mesh regions ~ 2.7 Million mesh regions/minute on 4 processors ~ 3 Million mesh regions/minute on 6 processors ~ 3.5 Million mesh regions/minute on 8 processors ~ 4.9 Million mesh regions/minute on 10 processors ~ 5.3 Million mesh regions/minute on 10 processors Meshing Time (46 million regions) 1200 1000 800 w/out Boundary Layers w/Boundary Layers 600 400 200 0 0 2 4 6 8 number of processors October 2008 10 12 14 geometry based parallel mesh generation & adaptivity 6 Million mesh regions – normalized speedup Processors 4 6 8 10 12 w/out Boundary Layers 1.00 0.73 0.68 0.73 0.66 w/ Boundary Layers 1.00 (46 million 0.76 Speedup regions) 0.62 0.69 0.65 1.20 speedup 1.00 0.80 w/out Boundary Layers w/Boundary Layers 0.60 0.40 0.20 0.00 0 2 4 6 8 number of processors October 2008 10 12 14 geometry based parallel mesh generation & adaptivity Parallel Mesh adaptivity Supports isotropic and anisotropic mesh adaptivity Supports refinement & coarsening Adapted mesh adheres to original geometry Supports initial mesh as partitioned or single mesh October 2008 Simmetrix technology is widely used October 2008