interoperable geometry and mesh components for scidac applicationsterascalesimulation tools and...

1
Interoperable Geometry and Mesh Components for SciDAC Applications Terascale Terascale Simulation Simulation Tools and Tools and Technologies Technologies 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. G o CUBIT Generate mesh M o Iteration 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 Shape Optimizatio n TSTTR/ LASSO Shape Optimizatio n TSTTG/ CGM Viz Design 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 Facet Granite Virtual Topology Non-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++, CUBIT MOAB/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/10 6 hex elements (structured) 55MB/10 6 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) Omega3P Sensitivity (AST/TOPS) δp ω(p), E(d) (p), g(p) p g p f , Mesh Projection / Smoothing ILC Parameteriz ed Geometry Procedural Geometry Generation DDRIV (TSTT) x n n p m m , , , m Ώ (p) m Ώ (p’) (p’) Omega3P (AST) Design Velociti es v Γ /p i Impact: Superior accelerator cavities, yielding better accelerator performance at a lower cost TSTTG/CGM MkILC G(p i ) G(p i ) (M k ) (∂v Γ / ∂p i ) p i Procedural Geometry Generation Design parameters 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 Geometry construction function Geometric model Store model to disk Basis for mesh projection Compute design velocities Uses in Ddriv: p 1 p 2 p 3 p 4 Damped De-tuned Structure 15 params, 786 lines C++ G p 2 p 3 p 4 p 5 International Linear Collider (ILC) 20 params, 525 lines C++ Shape optimization iterations project same mesh to new geometric models Fixed mesh topology gives continuity in optimization & allows reuse of matrix factorization in Omega3P DDRIV Geom/mesh/smooth driver TSTTR relate geom to mesh Mesquite smooth mesh TSTTG/MkILC construct new geom TSTTM store mesh, derivs G(p i ) k M k M o p i “Design Velocity” Calculation •Procecure: Write original vertex positions as tag on M k Generate new model G(p δ ) from perturbation p δ Project/smooth mesh onto affected surfaces in G(p δ ) Compute x Γ /p i using differencing Store as tags on mesh vertices Design velocity = x Γ /p i (last term in chain-rule expansion of f/ p i ) Computed AUTOMATICALLY using geometry generation function Communicated to Omega3P as tags on surface mesh vertices ILC Parameterized Geometry zcc zcb bll all a1l b1l ra1 ra0 zcll bll all a1l b1l ra1 ra0 zcll bll all a1l b1l ra1 ra0 zcll QVDual viz tool Set parent-child relations show geometric model topology ∂x Γ /∂r 2 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

Upload: elfrieda-blankenship

Post on 12-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Interoperable Geometry and Mesh Components for SciDAC ApplicationsTerascaleSimulation Tools and Technologies The TSTT Interfaces TSTTB: “Base” Tags Error

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