Interoperable Geometry and Mesh Components for SciDAC Applications The TSTT Interfaces

Download Report

Transcript 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