interoperable geometry and mesh components for scidac applicationsterascalesimulation tools and...
TRANSCRIPT
Interoperable Geometry and Mesh Components for SciDAC Applications
Terascale Terascale Simulation Simulation Tools and Tools and
TechnologiesTechnologies
The TSTT Interfaces
TSTTB: “Base”• Tags • Error class
• Sets
TSTTG: Geometry• BREP-type topological model• Sub-interfaces for:
• Topology • Parametric evaluations
• Shape • Modify
TSTTM: Mesh• FE “zoo” + polygons, polyhedra• Entity- & array-based access• (picture of mesh…)
TSTTR: Relations• Relates entities, sets between geometry, mesh interfaces• Dynamic mapping based on application-defined criteria• Extensible to other (e.g. hierarchical) relations
depends on
• 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
The TSTT Data Model
“implements-all”“implements-all”
depends on
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).
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.
GoCUBIT
Generate mesh MoIteration 0:
Iteration k:
Mesh Projection/Smoothing
SNL Geometry, Mesh Tools Supporting Shape Optimization
Restore, evaluate data relations between interacting components
• 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
Match, in TSTTG: To, in TSTTM:
Entity Entity Set
->dimension() GEOM_DIMENSION::value
LASSO (TSTTR)
TSTTM/MOAB
ShapeOptimization
TSTTR/LASSO
ShapeOptimization
TSTTG/CGM
VizDesign
Common Geometry Module (CGM)
• CGM is the basis for SNL’s CUBIT mesh generation tool• LGPL release summer ’05 (http://cubit.sandia.gov/MOAB)
Vertex
Edge
Face
Volume
Non-manifold topology(e.g. shared face)
Virtual geometry/topology
CAD-, facet- based engines
Full TSTTG Interface
NLC Damped De-tuned Structure (SLAC)
ITER “Simplified” Benchmark Model
ARIES Compact Stellerator
Geometry
ACIS FacetGranite
Virtual
TopologyNon-manifold
TSTTG
Others…
Enabling shape optimization for future accelerator designs
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)
Future: extension of approach to:• New components/instances of current interfaces• New domains (e.g. discretization, fields, materials, etc.)• New applications
TSTTG implementation: representation, modification of solid model-based geometry
Layered implementation for applicability across engines}
Mesh-Oriented datABase (MOAB)
• 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, …)
– Viz (Qt-, VTK-based)
• Available under LGPL license(http://cubit.sandia.gov/MOAB)
• C-based TSTTM interface implementation available too
TSTTM/C
TSTTM/SIDL
MOAB/C++, CUBITMOAB/C++-Scd
MOAB/C++,TSTTM/C-Indiv
TSTTM/SIDL,TSTTM/C-Block
High-efficiency, low memory cost implementation of full TSTTM interface
Memory efficient:• 25MB/106 hex elements (structured)• 55MB/106 hex elements (unstructured”)
Access times comparable to object-based C++
Mesh Quality Improvement Toolkit (MESQUITE)• 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/)
Overall Optimization Cycle:
Optimization(TOPS)
Omega3PSensitivity(AST/TOPS)
δp
ω(p), E(d) (p), g(p)
p
g
p
f
,
MeshProjection/Smoothing
ILCParameterized
Geometry
ProceduralGeometry
Generation
DDRIV(TSTT)
x
nn
p
mm
,
,,
mΏ(p)
mΏ(p’) (p’)Omega3P(AST)
Design Velocities
∂vΓ/∂pi
Impact: Superior accelerator cavities, yielding better accelerator performance
at a lower cost
TSTTG/CGM
MkILC G(pi)G(pi)
(Mk)
(∂vΓ/∂pi)
pi
Procedural Geometry Generation
Design parameters
Device-specific function constructs geometric model from design parameter vectorGenerates new geometry based on optimization-driven design parameter changesApplication of shape optimization to new device XYZ requires only new MkXYZ function
Geometry constructionfunction
Geometricmodel
Store modelto disk
Basis for mesh projection
Computedesign velocities
Uses in Ddriv:
p1
p2p3
p4
Damped De-tuned Structure
15 params, 786 lines C++
G
p2
p3
p4p5
International Linear Collider (ILC)
20 params, 525 lines C++
Shape optimization iterations project same mesh to new geometric modelsFixed mesh topology gives continuity in optimization & allows reuse of
matrix factorization in Omega3P
DDRIVGeom/mesh/smooth driver
TSTTRrelate geom to mesh
Mesquitesmooth mesh
TSTTG/MkILCconstruct new geom
TSTTMstore mesh, derivs
G(pi)k
MkMo
pi
“Design Velocity” Calculation
• Procecure:–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
Design velocity = ∂xΓ/∂pi (last term in chain-rule expansion of ∂f/∂pi)
Computed AUTOMATICALLY using geometry generation functionCommunicated to Omega3P as tags on surface mesh vertices
ILC Parameterized Geometry
zcczcb
bllall a1l
b1l
ra1ra0 zcll
bllall a1l
b1l
ra1ra0 zcll
bllalla1l
b1l
ra1ra0zcll
QVDual viz tool
Set parent-child relations show geometric model topology
∂xΓ/∂r2
Qualitative derivative
verification using Paraview
r 2
The Terascale Simulation Tools & Technologies (TSTT) Center
Sets & tags used to store processor partition
Tags on vertices used to communicate surface normals to Mesquite, Omega3P