Interoperable Geometry and Mesh Components for SciDAC Applications The TSTT Interfaces
Download ReportTranscript Interoperable Geometry and Mesh Components for SciDAC Applications The TSTT Interfaces
Interoperable Geometry and Mesh Components for SciDAC Applications Terascale Simulation Tools and Technologies Enabling shape optimization for future accelerator designs The Terascale Simulation Tools & Technologies (TSTT) Center SLAC/TOPS/TSTT Accelerator Shape Optimization Collaboration Purpose: Create a new generation of accelerator modeling & optimization capability from SciDAC computational components, which can be applied directly for near-term design decisions (e.g. International Linear Collider Low-Loss cavity) and to future accelerator designs (RIA, LCLS). Enabling access to advanced geometry & mesh representations, tools through common interfaces • • • • • • MOAB (SNL): Structured/unstructured FE mesh FMDB (RPI): Tri/tet mesh, adaptive mesh refinement NWGrid (PNNL): Mesh generation for biological models GRUMMP (UBC, Canada): Tri/tet mesh, mesh improvement Mesquite (SNL): Optimization-based mesh smoothing Frontier (BNL, SUNY-SB): (See X. Li’s poster) TSTT Role: Provide advanced services for geometry (TSTTG/CGM) and mesh (TSTTM/MOAB, MESQUITE), linked to accelerator physics and optimization using core TSTT data model concepts. Overall Optimization Cycle: Future: extension of approach to: • New components/instances of current interfaces • New domains (e.g. discretization, fields, materials, etc.) • New applications mΏ(p’) DDRIV (TSTT) Procedural Geometry Generation ILC Parameterized Geometry (p’) Omega3P (AST) mΏ(p) ω(p), E(d) Mesh Projection/ Smoothing The TSTT Interfaces δp TSTTR: Relations depends on • Topology • Parametric evaluations • Shape • Modify “implements-all” bll ra0 ra0 zcll zcll ra1 zcll zcb Mesh Projection/Smoothing Uses in Ddriv: Geometry construction function pi MkILC Design parameters • Tags a1l bll ra1 ra1 ra0 all a1l a1l bll b1l b1l b1l all all Device-specific function constructs geometric model from design parameter vector Generates new geometry based on optimization-driven design parameter changes Application of shape optimization to new device XYZ requires only new MkXYZ function • FE “zoo” + polygons, polyhedra • Entity- & array-based access • (picture of mesh…) TSTTB: “Base” ILC Parameterized Geometry Omega3P Sensitivity (AST/TOPS) Procedural Geometry Generation TSTTM: Mesh • BREP-type topological model • Sub-interfaces for: f g , p p (p), g(p) zcc depends on TSTTG: Geometry m , Optimization (TOPS) • Relates entities, sets between geometry, mesh interfaces • Dynamic mapping based on application-defined criteria • Extensible to other (e.g. hierarchical) relations m , p n n , x Design Velocities ∂vΓ/∂pi Impact: Superior accelerator cavities, yielding better accelerator performance at a lower cost TSTTG/CGM G(pi) G(pi) (Mk) Geometric model Shape optimization iterations project same mesh to new geometric models Fixed mesh topology gives continuity in optimization & allows reuse of matrix factorization in Omega3P Store model to disk Basis for mesh projection (∂vΓ/∂pi) Iteration 0: Compute design velocities • Error class Iteration k: International Linear Collider (ILC) p3 p2 p2 p4 p1 p5 Design velocity = ∂xΓ/∂pi (last term in chain-rule expansion of ∂f/∂pi) Computed AUTOMATICALLY using geometry generation function Communicated to Omega3P as tags on surface mesh vertices Mo Generate mesh • Procecure: “implements-all” Damped De-tuned Structure CUBIT Go “Design Velocity” Calculation –Write original vertex positions as tag on Mk –Generate new model G(pδ) from perturbation pδ –Project/smooth mesh onto affected surfaces in G(pδ) –Compute ∂xΓ/∂pi using differencing –Store as tags on mesh vertices DDRIV Geom/mesh/smooth driver p p • Sets 4 pi 3 TSTTG/MkILC TSTTR construct new geom relate geom to mesh G(pi)k ∂xΓ/∂r2 G 20 params, 525 lines C++ 15 params, 786 lines C++ The TSTT Data Model TSTTM store mesh, derivs Common Geometry Module (CGM) TSTTG implementation: representation, modification of solid model-based geometry Vertex Volume Full TSTTG Interface TSTTG Topology Edge Non-manifold Face Non-manifold topology (e.g. shared face) Geometry ACIS Granite Virtual Others… Facet } Layered implementation for applicability across engines CAD-, facetbased engines QVDual viz tool Mesh-Oriented datABase (MOAB) High-efficiency, low memory cost implementation of full TSTTM interface • Structured & unstructured mesh – FE “zoo” + polygons, polyhedra • Reads and/or writes CUBIT .cub files (w/metadata), ExoII, vtk, etc. – Geom topology as sets w/parent-child relations • Various other tools – Converter (ExoII, vtk, .cub, Ansys, …) Access times comparable to object-based C++ • Available under LGPL license (http://cubit.sandia.gov/MOAB) • C-based TSTTM interface implementation available too Memory efficient: • 25MB/106 hex elements • CGM is the basis for SNL’s CUBIT mesh generation tool • LGPL release summer ’05 ITER “Simplified” Benchmark Model • Optimization-based mesh smoothing software library • Structured, unstructured, hybrid meshes (most element types) • Multiple state-of-the-art algorithms and solvers • Multiple application domains: –Deforming domains/meshes, –r-type adaptivity –Heterogeneous, anisotropic mesh smoothing –Arbitrary-Lagrange-Eulerian mesh smoothing –Mesh fixup (untangle, shape, smoothness) • Released under LGPL license (http://www.cs.sandia.gov/~web9200/) CPU Time Memory Usage 1000 (structured) • 55MB/106 hex elements (unstructured”) TSTTM/SIDL, TSTTM/C-Block 800 600 400 MOAB/C++, TSTTM/C-Indiv 200 MOAB/C++-Scd 100 TSTTM/SIDL 80 Time (s) Virtual geometry/topology Mesh Quality Improvement Toolkit (MESQUITE) Set parent-child relations show geometric model topology smooth mesh Memory (MB) ARIES Compact Stellerator (http://cubit.sandia.gov/MOAB) Sets & tags used to store processor partition Mk – Viz (Qt-, VTK-based) NLC Damped De-tuned Structure (SLAC) Tags on vertices used to communicate surface normals to Mesquite, Omega3P Qualitative derivative verification using Paraview Mesquite SNL Geometry, Mesh Tools Supporting Shape Optimization • MUST be both simple AND flexible •4 Basic Types: • Entity: topological entities in a geometry or mesh ([g]vertex, [g]edge, [g]face, [g]region) • Entity set: Arbitrary combinations of entities and of other sets; supports parent/child relations between sets (!= “contains”) • Tag: arbitrary piece of data which can be written to any of the other items; created with specified name, size, optional type; individual values assigned to any of the other items • Interface instance: instance of a component inside which entities are assumed to be related to one another, and which serves as the overall “container” of a component’s data and as the point of reference for those data Mo 60 TSTTM/C 40 MOAB/C++, CUBIT 20 0 0 0 2 4 6 8 0 10 2 4 6 8 Elements (million) Elements (million) LASSO (TSTTR) Restore, evaluate data relations between interacting components Shape Optimization • Why not bundle components together? Because smaller components: –Promote re-usability –Reduce complexity –Give applications options/flexibility • Then why is TSTTR necessary? Because advanced applications require interactions between components –Geometry-mesh –Geometry-materials –Fields-mesh Design Viz TSTTR/ LASSO TSTTG/ CGM TSTTM/ MOAB Match, in TSTTG: To, in TSTTM: Entity Entity Set ->dimension() GEOM_DIMENSION::value 10