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

Post on 12-Jan-2016

217 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related