mesh generation - cae usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 mesh...

60
Mesh Generation Timothy J. Tautges Principle Member Technical Staff Sandia National Laboratories Adjunct Professor, Engineering Physics University of Wisconsin-Madison Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL85000.

Upload: vodien

Post on 07-Sep-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Mesh Generation

Timothy J. Tautges

Principle Member Technical StaffSandia National Laboratories

Adjunct Professor, Engineering PhysicsUniversity of Wisconsin-Madison

Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company,for the United States Department of Energy under contract DE-AC04-94AL85000.

Page 2: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

What is mesh generation?

• Geometry from CAD (SDRC Ideas, Pro/Engineer, etc.)• Mesh type determined by analysis; tetrahedra, hexah edra

most common

Continuous domain(Geometry)

Discretized Domain(Mesh)

Discrete Solution(FEA Results)

Page 3: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

What Kind of Mesh Should I Use?

• Tetrahedra– Automatic generation possible– Quadratic elements (10-node tets) typically used– More elements/nodes to resolve a given domain– More cpu time per unit accuracy for some analyses, but not all!

• Hexahedra– Much more difficult to generate (but getting better…)– Fewer elements/nodes– Conventional wisdom says they perform better (very little hard

data to show that though)• 2d plates/shells

– All-quad mesh generation solved– Similar arguments regarding number elements, accura cy– ?

Page 4: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Tetrahedral Mesh GenerationDelaunay Triangulation

• Point distribution, P• Generate triangulation T(P) using

“Delaunay criterion”, D• Recover (non-convex) boundary• Why Delaunay? Quality guarantee:

• However, in 3D, Delaunay criterion allows “slivers”• Almost everyone uses (modified) Delaunay:

– Automatic– Anisotropic mesh from point distribution– Automatic

DelaunayDPT min,)(:)( αα >∀

Page 5: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Tetrahedral Mesh GenerationDelaunay Triangulation

• Start with domain boundary

Page 6: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Tetrahedral Mesh GenerationDelaunay Triangulation

• Point distribution, P– Distribute in irregular

pattern through domain– Find convex hull, start

triangulation with that

Page 7: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Tetrahedral Mesh GenerationDelaunay Triangulation

• Point distribution, P• Triangulate points using

“Delaunay criterion”, D(P)• Recover boundary

Page 8: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Tetrahedral Mesh GenerationDelaunay Triangulation

• Point distribution, P• Triangulate points using

“Delaunay criterion”, D(P)

– Delaunay criterion: circumcircle (2D) or circumsphere(3D) cannot contain any other point in P

– Triangulation methods:• Point/triangle insertion: insert new point, remove elements

whose circumcircles contain point, retriangulate regi on• Arbitrary starting point, refine until Delaunay crit erion met

– Transformations (e.g. diagonal flip) to improve mes h quality or achieve Delaunay:

Page 9: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hexahedral Mesh GenerationWhy Is It Difficult?

• Hex elements match face to face throughout the mesh

• Chord propagation:– Small change in surface mesh can

effect non-local changes in mesh– Mesh changes propagate across entire

assembly because of shared surfaces• In assemblies, shared surfaces

introduce coupling– Coupling introduces global components

to hex meshing– Coupling is reduced for tet meshes

Page 10: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hexahedral Mesh Generation

• No “automatic” hex meshing algorithm known!• Lots of semi-automated algorithms

Quad (surface)algorithms

Sweeping(extrusion)

N-SidePrimitives

Multisweep

Page 11: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hexahedral Mesh Generation

• No “automatic” hex meshing algorithm known!• Lots of semi-automated algorithms

Quad (surface)algorithms

Sweeping(extrusion)

N-SidePrimitives

Combined Use inLarge Assemblies

Multisweep

B61 Antenna SupportStructural Analysis~258K Hex elements

Page 12: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Assembly Hex Mesh GenerationToolkit Approach

Geometry Decomposition

Mesh SchemeSelection

12 1222

108

Mesh Size/IntervalAssignment

Mesh GenerationMesh Quality

Analysis

Geometry Validity,BC Assignment

SymmShell

Page 13: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

The CUBIT Mesh Toolkit

Virtual Geometry, Topology & Mesh Interface

Viz Hoops Composite & PartitionGeometry

Merge Topology

CUBITGeometry ACIS Geometry

Pro EGeometry

IDEASGeometry . . .

ANSYS

ABAQUSNet CDFExodus II

STEPHealingLocal Ops

IGES

AutoFeat.

Remove

Auto DecompManualDecomp

Advanced Hex Smoothing

Tet DicingGeodeHexDicing H.T.P. OPT MS

Plaster Tets MSC

WW

Sweep

Adv. Hex Smoothing

Int. Ass..

Automatic Algorithm Selection

LPMap

Submap

Multi

PaveSkew Control

Hex Improv.

Page 14: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Example: Sphere Octant

• Start cubit• Create sphere octant• Click & drag mouse in graphics

window• Cut into 2 bodies along

cylindrical surface• Merge coincident

surfaces• Assign mesh schemes• Set mesh size• Mesh• Check mesh quality• Export

> ~tautges/cubit/cubit

> Sphere radius 1 xpos ypos zpos> Left: rotate

> Middle: zoom

> Right: pan

> Webcut body 1 cyl rad .2 axis z

> Merge all

> Volume all scheme auto

> Volume all size .1

> Mesh volume all

> Quality volume all

> Export genesis ‘octant.g’

Page 15: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Some More Useful CUBIT Commands

>List surface 3

• Pick geometry in graphics window– <Ctrl>-Left on geometry in graphics window

• Switch picking to entities of dimension 0/1/2/3– With mouse in graphics window, type 0/1/2/3

>Delete mesh

>Curve 3 size .2

• Set node-based BC group on 2 surfaces> Nodeset 100 surface 2 10

• Import solid model from file> Import acis

‘/pong/usr1/t/tautges/cubit/spindle.sat’

Page 16: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Next Time…

• Will learn more about how various meshing algorithms work

• Will mesh the spindle & transfer mesh to Ansys• Next assignment:

– Generate tet mesh (in Ansys) & analyze for torsion– Generate hex mesh (in cubit) & analyze for torsion– Compare results wrt element count, accuracy

Page 17: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Day 2 Outline

• Boundary condition grouping in Cubit• Exporting mesh• Translating to Ansys format• Reading into Ansys• Setting up for analysis

• But first: a taste of quad/hex meshing algorithms

Page 18: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing Begins With Quad Meshing

• Structured algorithms– Mapping [COO82]

– Submapping [WHI96]

• Primitives [LI95]

• Advancing-front algorithms– Paving [BLA91, CAS96]

– Qmorph [OWE99a]

Page 19: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing PrimitivesSweeping

• Fundamental assumption: match all source faces, nod es with counterparts on target (may be implied mesh on target)

• Fundamental problem: placement of nodes inside boun dary loops on target & intermediate layers

• Fidelity to:– Side surface variations– Source/target surface variations

• Implementations:– Morph-based (CUBIT)– BMSweep (Ansys)– Cooper

Page 20: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing ToolsInterval Assignment

• Task: quad-mesh a collection of surfaces which share edges

• Challenge: quad meshes constrain the number of intervals on boundary of a surface to be even

Surface Chords:

Page 21: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Interval AssignmentConstraints

• Some quad algorithms further constrain intervals

Map:I1 = I3I2 = I4

Submap:I1 = I2 + I3 + I4 + I5 + I6

Triangle Primitive:I2 + I3 > 2I1

...

I2

I1

I4

I3 I1

I5

I4

I3

I6

I2

I2 I3

I1

Page 22: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Auto Algorithm SelectionAuto Sweep Detect [WHI99]

• Swept volumes must be bounded by non-intersecting chains of mapped/submapped surfaces:

• Can parameterize chain surfaces in a consistent gl obal parameter system– Consistent means C0-continuous parameters where

surfaces meet– Chains will have periodic boundary where parameter

“jumps”

Chain B

Chain A

Page 23: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

To Learn More…

• Plenty of small project topics for your final project

• If you’re interested in programming, also some hourly work I have

• Meshing Research Corner: http://www.andrew.cmu.edu/user/sowen/mesh.html

• Mesh Generation & Grid Generation on the Web: http://www-users.informatik.rwth-aachen.de/~roberts /meshgeneration.html

Page 24: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Key Technology: A Geometry-Centric Process

symmplane

position

“foam”

“steel case” “impact”

Material Bound Cond Init Cond

⊗⊗⊗⊗

• Why:⇓⇓⇓⇓ interactive detailFine geom ≈≈≈≈ Coarse

geomBasis: initial CAD

model

• Model generation:1 Start with well-

defined design model

Page 25: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Boundary Conditions

• Three primary types of boundary condition groupings :– Element Block: not really a BC; groups elements for

purposes of material type identification– Nodeset: for assigning loads on nodes in the model,

e.g. Temperature, Force– Sideset: for assigning loads on faces in the model,

e.g. Pressure• Import into Ansys as named components , then use to

assign loads to model there

• Examples :Ø Block 100 volume 1

Ø Nodeset 2001 surface 1 2 3 curve 100 volume 3

Ø Export genesis ‘test.g’

Page 26: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Mesh Translation to Ansys

• Mesh translated to Ansys using a translator outside cubit:Ø ~tautges/cubit/exoans test.g myfile

• Produces 5 files:– myfile : Overall command file, which imports others– myfile.node : node definitions– myfile.elem : element definitions– myfile.eset : component EB<block_id> definitions, one

component per element block– myfile.nset : component NS<nodeset_id> definitions, one

component per nodeset– myfile.sset : component definitions for sidesets, not used righ t

now• To use in Ansys, use File->Import commands from fil e to read

commands from myfile

Page 27: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

(Slides From Past Semesters…)

Page 28: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Exodus to Ansys

• In Ansys:– Elements defined with default material, or can assi gn

using EB components– Dirichlet BC’s can be assigned directly to component s– Neumann BC’s:

• Could assign to element + “side”/load step, but that’ s not easy in translator

• Can assign to all faces connected to specified grou p of nodes, using NS components

– Must make sure that each of those faces included in higher dimension element (e.g. hex) only once

– If that’s not the case, use > 1 nodeset/NS componen t• To assign surface load:

– Define nodeset on desired surface (CUBIT)– Select nodeset component, i.e. NSxxx (Ansys)– Specify NS component when specifying surface load

Page 29: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Putting it all together: Ansys example1. CUBIT:(start with previous mesh)Ø Block 100 volume allØ Nodeset 100 surface 27 32Ø Nodeset 200 surface 16Ø Export genesis ‘frust.g’

2. Sun:Ø exoans frust.g frust

3. Ansys:• Enter preprocessor (\prep7)• Select default material• File->Read Input from…

• (select ‘frust’)• Select->Comp/Assembly->Select Comp/Assembly… (select NS100)• Loads->define loads->apply->structural->pressure->o n nodes (select “Pick All”)

• Enter load value• Select->Comp/Assembly->Select Comp/Assembly… (select NS200)• Loads->define loads->apply->structural->displacemen t->on nodes (select “Pick All”)

• Select “all DOF”, enter 0.0 for value• Proceed with analysis (remember to select all eleme nts before doing analysis)

Page 30: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

The Paving AlgorithmIntersection Detection

2) Detect & resolve intersecting fronts [CAS96]– Intersections in 3-space difficult, because edges r arely

intersect (chords of 3D surface)– “Intersection” becomes decision on whether to join

fronts

– Connect by joining nodes & edges on opposing fronts– Need even-node loops on both sides

d

v

u

Case (C):

mid-mid (0) mid-end (1) end-end (1)

Angle:Proximity:

l1

l2

S = .45(l1+l2)/2

F = d/S + .25(1-|u•v| ) + .1CF < 1 ⇒ join edges

Page 31: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

The Paving AlgorithmSmooth & Seam

3) Smooth locally4) Seam, insert tucks/wedges

5) Repeat 1-4 until closed

Wedge:

Tuck:

Seam:

Page 32: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

The Paving AlgorithmCleanUp

6) Clean up mesh topology– Large family of topological cleanup operations [KIN 96]– Ultimate goal: minimize number of irregular nodes

(valence != 4)

“Close-6”:

“Face Open”:

Page 33: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Mid-point Subdivision

• Split each d-dimensional region with a node, connect to all bounding (d-1)–dimensional region midpoints

• Utilize mapping to map subregions• In 3d, requires 3-valent vertices/nodes

at “corners”• Automatic detection / scheme

assignment challenging for non-trivial topology

Page 34: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Morph-Based Sweep

• Given: source surface mesh x S, boundary mesh ΩΩΩΩT, compute interior mesh x T by solving:

DnxT = Pn|unT|γ-1 un

T + Qn |vnT|γ-1 vn

T

where

Pn = (vnS•vn

S)(unS • DnxS) - (un

S • vnS)(vn

S • DxS)/|unS|γ-1 |un

S×vnS | 2

Qn = (unS•un

S)(vnS • DnxS) - (un

S • vnS)(un

S • DxS)/|vnS|γ-1 |un

S×vnS | 2

Dnx = G22nDξξxn - 2G12nDξηxn + G11nDηηxn

G..n, D..n, un, vn = f(x n, xnm)• Compute each layer mesh based on source & bounding meshes• Work by Pat Knupp, Sandia National Labs [KNU99a]

Page 35: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Morph-Based SweepExamples

Page 36: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

BMSweep Algorithm [STA98]

• Compute sweepable mesh on source surface• Compute background triangular mesh for source surfa ce,

using only boundary nodes• Compute barycentric coordinates and offset distance of

nodes with respect to the containing background tri angle on source and target surfaces

• At each layer, place interior nodes according to in terpolated barycentric coordinates & offsets wrt “elevated” background triangles

On source/target: On layer u:x i’S = ai

Sx1iS + bi

S x2iS + ci

Sx3iS x i’u = ai

ux1iu + bi

u x2iu + ci

ux3iu

diS = |x iS - x i’ S| x i

u = x i’u + dit v(x1i

u, x2iu, x3i

u)

Page 37: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

BMSweep AlgorithmExamples

Page 38: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Ø Frustum height 5 maj rad 1 min rad .8 top .5

Ø Brick x 0.4

Ø Body 2 move z 2.5 x .4

Ø Subtr 2 from 1

Ø Vol 1 scheme sweep source 14 12 targ 2

Ø Vol 1 size .2

Ø Surf 14 12 2 scheme pave

Ø Surf 15 scheme submap

Ø Mesh vol 1

Ø Quality vol 1 allmet

Ø Export acis ‘frust.sat’

(simple 3d example, manual setting)

Page 39: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Decomposition-BasedHex Meshing Technique

• Use decomposition to reduce the problem to simpler pieces

• Requires:– Primitive algorithms, to mesh pieces– Tools, to choose algorithms and setup input– Infrastructure, for common data (mesh, geometry, et c.)

and support (visualization, etc.)

Page 40: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

(assembly meshing example)

Ø Sphere rad 1 xpos ypos zpos

Ø Web bod 1 cylinder rad .2

Ø Merge all

Ø Vol 1 scheme sweep source 13 targ 15

Ø Vol 3 sch sweep

Ø Vol all siz .05

Ø Mesh vol all

Page 41: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Other Useful Tools forHex Mesh Generation

• Interval matching• Automatic mesh scheme selection• Geometry decomposition tools• Multisweep

Page 42: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Interval AssignmentOptimization Problem

• Cast interval constraints as an optimization proble m:• “Over a collection of surfaces, minimize deviation from

initial intervals (x) subject to surface algorithm constraints (Ax=b)– I, i = Desired, computed interval settings– Independent variable: x := |I-i|– Constraints: Ax = b– Minimize: c Tx

• Different forms of c have been tried– Minimize summed deviation from goal (Li95)– Minimize max deviation from goal (TAM93)– Optimize lexicographic deviation from goal (MIT97)

Page 43: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Interval AssignmentExamples

9

910

7

714

Minimize lexicographic vector of deviations:9

910

9

110

Minimize sum of deviations:

Page 44: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Interval AssignmentIssues

• Affects both robustness & quality• New constraints being discovered and added

– Volume sweeping constraints [SHEP99] :

– Skew reduction constraints [KER99]– Hex meshes intrinsically constrain surface mesh (no t

really interval constraints, but close; see [MIT96] )• Automation important because it reduces manual

effort in quad-hex mesh generation

Constraint:Intervals inside = Intervals outside

InsideOutside

Page 45: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing ToolsAuto Algorithm Selection

• Meshing toolkit implies many tools• Need to automatically choose tools:

– Eliminates need to “touch” entire model– Relieves user from knowing about all the tools

• Three classes of meshing algorithms:– Map, submap, primitive– Sweep, Multisweep– Free-meshing

Page 46: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Auto Algorithm SelectionVertex, Edge Types

• Vertex types designate the type of mesh around a ve rtex:

• Angle of curves meeting at a vertex can be in a ran ge about some ideal value

• First step in automatic algorithm selection is assi gnment of vertex types

• Edge types can be classified in same manner

End (1) Side (0) Corner (-1) Reversal(-2)

Page 47: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Auto Algorithm SelectionMap, Submap

• A surface can be mapped or submapped if the sum of vertex types is four [WHI96]

• A surface is mapped if all vertices are either Side or End, submapped otherwise

• A volume is mapped or submapped if all its surfaces can be mapped or submapped; submappable volumes have vertices with valence > 4

Page 48: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Auto Algorithm SelectionAuto Sweep Detect (cont)

• Two additional constraints: traversing from source/ target to linking surface over two edges heads in:– Same global parametric direction if edges of same e dge

type (End or Corner)– Opposite global parametric direction if different e dge

type

L1 S1

C1

E1

SweepDirection L 1

L 2S1

E1

E2

S2

S3

Page 49: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing ToolsGeometry Decomposition

• Manual decomposition:– Similar to typical CAD operations– Some tuning necessary for application to meshing

• Cut with existing surfaces/bodies• Cut by specifying cutting surface data instead of g eometry entity• Keep both pieces (decomposing, not removing materia l)

• Automatic decomposition– EVG– UW automatic decomposition work:

Page 50: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hex Meshing AlgorithmsMulti-sweep Algorithm

• Primarily a topological variant of sweeping• Problem: Find/compute/effect correspondance between

mesh nodes & faces on all sources and targets

• Variants:– CooperTool [BLA96]– CUBIT Multisweep [LAI99]

Page 51: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Hexahedral Mesh Generation

• No “automatic” hex meshing algorithm known!• Lots of semi-automated algorithms

Quad (surface)algorithms

Sweeping(extrusion)

N-SidePrimitives

Combined Use inLarge Assemblies

Multisweep

B61 Antenna SupportStructural Analysis~258K Hex elements

Page 52: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Day 2 Outline

• Geometry decomposition• Example: assembly hex mesh generation• Boundary conditions• Exporting/translating mesh• Importing to Ansys, running analysis• Advanced topics in meshing• Assignment

Page 53: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Geometry Decomposition

• General goal: split one volume into 2 using a cutti ng surface

• Variants: by how cutting surface is defined– Explicit vs implicit– Geometric shape

• ‘Webcut’ command used for most decomposition in CUB IT• Geometric variants:

– With plane; defined by:• Existing model surface• Three model vertices• Coordinate plane, possibly offset

– With cylinder– With extended surface– With “tool” body

Page 54: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Example, assembly mesh generation with decomposition

Ø Import acis ‘frust.sat’

Ø Cyl rad .05 hei .2

Ø Bod 2 rot 90 ab y

Ø Bod 2 mov x .3 y .1 z 2.38Ø Bod 2 copy mov y -.2

Ø Unite all

Ø Section bod all yplane

Ø Webcut body all plan zplan offset 2.3

Ø Web bod all except 4 plan yplan off .2

Ø Imprint all

Ø Merge all

Ø Volume all size .1 scheme auto

Ø Mesh vol all

Page 55: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Virtual TopologyComposite Curve, Surface

V V V

F FF

Vo

E E E E

V V

F FF

Vo

E EE E

V V

FF F

Vo

E E

OriginalGeometry

CompositeCurve

CompositeSurface

Caterpillar “wheel”

Page 56: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

You Want Me To Mesh THAT?

• Geometry validity

• Geometric detail removal

• Tracking BC’s, other attributes

• Handling large meshes

Page 57: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

• No intra-volume gaps, overlaps

• Contiguity in multi-material models

What’s a “Well-Defined” Model?

• All volumes are closed, i.e. they “hold water”

• No “bad” geometry

Not closed: Closed: Bolt withpress fit

Overlap Gap

AF&F shared surfs

AF&Fnon-shared

surfs

Page 58: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

• Boundary conditions, material identifiers

• Strategies for accomplishing this propagation:– Names– BC groups (sidesets, nodesets, etc.)– Requires user identification of BC handles - can we automate

this?• Automatic tracking makes D2A easier

Tracking Model through Simplification & Decomp.

Specify on initial model:

symm planeout surf

Propagate to analysis model:

symm planeout surf

Page 59: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Comparative Study ofHex, Tet Element Accuracy

• Being performed at CMU by Saigal & Owen (Ansys)• Beam bending & torsion, poisson’s ratio .3 - .5• Comparing linear tets, hexes, quadratic tets, hexes , fully

and partially (quadratic) integration

• Figures from Pakal et. al, “A Comparative Study of H exahedral and Tetrahedral Elements”, report to Sandia National Labs, 1999.

Figure A.3 Bending Case - Varied DOF

Error in End-Face Displacement vs. DOF

0

1

2

3

4

5

0 2000 4000 6000 8000 10000 12000 14000 16000 18000Degrees of freedomDegrees of freedomDegrees of freedomDegrees of freedom

tet4tet10hex8 Exhex8hex20 FIhex20 RI

0

5

10

15

20

25

0 5000 10000 15000 20000

Linear Tet & Hex

Quad Tet

Figure B.2 Torsion Case - Varied DOF

Error in Mid-Point Shear Stress vs. DOF

0

5

10

15

20

25

30

35

40

0 5000 10000 15000 20000 25000 30000Degrees of freedom

tet4tet10hex8Exhex8hex20FIhexRI

Page 60: Mesh Generation - CAE Usershomepages.cae.wisc.edu/~tautges/slides.pdf · 22 12 12 10 8 Mesh Size/Interval Assignment Mesh Generation Mesh Quality Analysis Geometry Validity, BC Assignment

Homework 4, Problem 5

• Run the Ansys analysis described ealier, except:– Use a hole instead of a protrusion

• Hints:– Can either construct protrusion cylinders with larg er

axial length, place properly, and use CUBIT ‘subtra ct’, OR

– Can webcut, either with implicit cylinder or by pla cing protrusion cylinders & using extended surface webcu t, then use CUBIT ‘delete body’ to delete small cylind er(s)

– Use material parameters given for problems 1-4 in homework 4

– Find the peak stress when the shaft is subjected to an axial load of 1000 N.