Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computational Modeling Sciences Department 1 Steve Owen An Introduction to Mesh Generation Algorithms Sandia is a multiprogram laboratory operated by Sandia.

Similar presentations


Presentation on theme: "Computational Modeling Sciences Department 1 Steve Owen An Introduction to Mesh Generation Algorithms Sandia is a multiprogram laboratory operated by Sandia."— Presentation transcript:

1 Computational Modeling Sciences Department 1 Steve Owen An Introduction to Mesh Generation Algorithms Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.

2 Computational Modeling Sciences Department 2 Overview The Simulation Process Geometry Basics The Mesh Generation Process Meshing Algorithms –Tri/Tet Methods –Quad/Hex Methods –Hybrid Methods –Surface Meshing Algorithm Characteristics

3 Computational Modeling Sciences Department 3 Simulation Process 3 2 1. Build CAD Model 2. Mesh 3. Apply Loads and Boundary Conditions 4. Computational Analysis 5. Visualization 2 kN

4 Computational Modeling Sciences Department 4 Adaptive Simulation Process 3 2 1. Build CAD Model 2. Mesh 3. Apply Loads and Boundary Conditions 4. Computational Analysis 7. Visualization 2 kN 5. Error Estimation Error? 6. Remesh/Refine/Improve Adaptivity Loop Error <  Error >  User supplies meshing parameters Analysis Code supplies meshing parameters

5 Computational Modeling Sciences Department 5 Geometry Mesh Generation Geometry Engine

6 Computational Modeling Sciences Department 6 Geometry vertices: x,y,z location

7 Computational Modeling Sciences Department 7 Geometry vertices: x,y,z location curves: bounded by two vertices

8 Computational Modeling Sciences Department 8 Geometry vertices: x,y,z location surfaces: closed set of curves curves: bounded by two vertices

9 Computational Modeling Sciences Department 9 Geometry vertices: x,y,z location surfaces: closed set of curves volumes: closed set of surfaces curves: bounded by two vertices

10 Computational Modeling Sciences Department 10 Geometry body: collection of volumes vertices: x,y,z location surfaces: closed set of curves volumes: closed set of surfaces curves: bounded by two vertices

11 Computational Modeling Sciences Department 11 Geometry body: collection of volumes vertices: x,y,z location volumes: closed set of surfaces surfaces: closed set of curves loops: ordered set of curves on surface curves: bounded by two vertices

12 Computational Modeling Sciences Department 12 Geometry body: collection of volumes vertices: x,y,z location volumes: closed set of surfaces loops: ordered set of curves on surface surfaces: closed set of curves (loops) coedges: orientation of curve w.r.t. loop curves: bounded by two vertices

13 Computational Modeling Sciences Department 13 Geometry body: collection of volumes vertices: x,y,z location volumes: closed set of surfaces (shells) surfaces: closed set of curves (loops) loops: ordered set of curves on surface coedges: orientation of curve w.r.t. loop shell: oriented set of surfaces comprising a volume curves: bounded by two vertices

14 Computational Modeling Sciences Department 14 Geometry body: collection of volumes vertices: x,y,z location volumes: closed set of surfaces (shells) surfaces: closed set of curves (loops) loops: ordered set of curves on surface coedges: orientation of curve w.r.t. loop shell: oriented set of surfaces comprising a volume curves: bounded by two vertices

15 Computational Modeling Sciences Department 15 Geometry body: collection of volumes vertices: x,y,z location volumes: closed set of surfaces (shells) surfaces: closed set of curves (loops) loops: ordered set of curves on surface coedges: orientation of curve w.r.t. loop shell: oriented set of surfaces comprising a volume coface: oriented surface w.r.t. shell curves: bounded by two vertices

16 Computational Modeling Sciences Department 16 Geometry Volume 1 Surface 1 Surface 2 Surface 3 Surface 4 Surface 5 Surface 6 Volume 2 Surface 8 Surface 9Surface 10 Surface 11 Surface 7 Volume 1 Volume 2 Surface 11 Surface 7 Manifold Geometry: Each volume maintains its own set of unique surfaces

17 Computational Modeling Sciences Department 17 Geometry Volume 1 Surface 1 Surface 2 Surface 3 Surface 4 Surface 5 Surface 6 Volume 2 Surface 8 Surface 9Surface 10 Surface 7 Volume 1 Volume 2 Surface 7 Non-Manifold Geometry: Volumes share matching surfaces

18 Computational Modeling Sciences Department 18 Mesh Generation Process Mesh Vertices Mesh Curves Verify/correct for sizing criteria on curves Set up sizing function for surface Mesh surface Set up sizing function for volume Mesh volume Smooth/Cleanup surface mesh Verify Quality Smooth/Cleanup volume mesh For each surface For each volume The Mesh Generation Process Apply Manual Sizing, Match Intervals

19 Computational Modeling Sciences Department 19 Meshing Algorithms

20 Computational Modeling Sciences Department 20 Tri/Tet Methods http://www.simulog.fr/mesh/gener2.htm Octree Advancing Front Delaunay http://www.ansys.com

21 Computational Modeling Sciences Department 21 Octree/Quadtree Define intial bounding box (root of quadtree) Recursively break into 4 leaves per root to resolve geometry Find intersections of leaves with geometry boundary Mesh each leaf using corners, side nodes and intersections with geometry Delete Outside (Yerry and Shephard, 84), (Shepherd and Georges, 91)

22 Computational Modeling Sciences Department 22 Octree/Quadtree QMG, Cornell University

23 Computational Modeling Sciences Department 23 Octree/Quadtree QMG, Cornell University

24 Computational Modeling Sciences Department 24 Advancing Front A B C Begin with boundary mesh - define as initial front For each edge (face) on front, locate ideal node C based on front AB

25 Computational Modeling Sciences Department 25 Advancing Front A B C r Determine if any other nodes on current front are within search radius r of ideal location C (Choose D instead of C) D

26 Computational Modeling Sciences Department 26 Advancing Front Book-Keeping: New front edges added and deleted from front as triangles are formed Continue until no front edges remain on front D

27 Computational Modeling Sciences Department 27 Advancing Front Book-Keeping: New front edges added and deleted from front as triangles are formed Continue until no front edges remain on front

28 Computational Modeling Sciences Department 28 Advancing Front Book-Keeping: New front edges added and deleted from front as triangles are formed Continue until no front edges remain on front

29 Computational Modeling Sciences Department 29 Advancing Front Book-Keeping: New front edges added and deleted from front as triangles are formed Continue until no front edges remain on front

30 Computational Modeling Sciences Department 30 Advancing Front A B C Where multiple choices are available, use best quality (closest shape to equilateral) Reject any that would intersect existing front Reject any inverted triangles (|AB X AC| > 0) (Lohner,88;96)(Lo,91) r

31 Computational Modeling Sciences Department 31 Advancing Front Ansys, Inc. www.ansys.com

32 Computational Modeling Sciences Department 32 Delaunay Triangle Jonathon Shewchuk http://www-2.cs.cmu.edu/~quake/triangle.html Tetmesh-GHS3D INRIA, France http://www.simulog.fr/tetmesh/

33 Computational Modeling Sciences Department 33 Delaunay circumcircle Empty Circle (Sphere) Property: No other vertex is contained within the circumcircle (circumsphere) of any triangle (tetrahedron)

34 Computational Modeling Sciences Department 34 Delaunay Triangulation: Obeys empty-circle (sphere) property Delaunay

35 Computational Modeling Sciences Department 35 Non-Delaunay Triangulation Delaunay

36 Computational Modeling Sciences Department 36 Lawson Algorithm Locate triangle containing X Subdivide triangle Recursively check adjoining triangles to ensure empty- circle property. Swap diagonal if needed (Lawson,77) X Given a Delaunay Triangulation of n nodes, How do I insert node n+1 ? Delaunay

37 Computational Modeling Sciences Department 37 X Lawson Algorithm Locate triangle containing X Subdivide triangle Recursively check adjoining triangles to ensure empty- circle property. Swap diagonal if needed (Lawson,77) Delaunay

38 Computational Modeling Sciences Department 38 Bowyer-Watson Algorithm Locate triangle that contains the point Search for all triangles whose circumcircle contain the point (d<r) Delete the triangles (creating a void in the mesh) Form new triangles from the new point and the void boundary (Watson,81) X r c d Given a Delaunay Triangulation of n nodes, How do I insert node n+1 ? Delaunay

39 Computational Modeling Sciences Department 39 X Bowyer-Watson Algorithm Locate triangle that contains the point Search for all triangles whose circumcircle contain the point (d<r) Delete the triangles (creating a void in the mesh) Form new triangles from the new point and the void boundary (Watson,81) Given a Delaunay Triangulation of n nodes, How do I insert node n+1 ? Delaunay

40 Computational Modeling Sciences Department 40 Begin with Bounding Triangles (or Tetrahedra) Delaunay

41 Computational Modeling Sciences Department 41 Delaunay Insert boundary nodes using Delaunay method (Lawson or Bowyer-Watson)

42 Computational Modeling Sciences Department 42 Delaunay Insert boundary nodes using Delaunay method (Lawson or Bowyer-Watson)

43 Computational Modeling Sciences Department 43 Delaunay Insert boundary nodes using Delaunay method (Lawson or Bowyer-Watson)

44 Computational Modeling Sciences Department 44 Delaunay Insert boundary nodes using Delaunay method (Lawson or Bowyer-Watson)

45 Computational Modeling Sciences Department 45 Delaunay Insert boundary nodes using Delaunay method (Lawson or Bowyer-Watson)

46 Computational Modeling Sciences Department 46 Delaunay Recover boundary Delete outside triangles Insert internal nodes

47 Computational Modeling Sciences Department 47 Delaunay Node Insertion Grid Based Nodes introduced based on a regular lattice Lattice could be rectangular, triangular, quadtree, etc… Outside nodes ignored h

48 Computational Modeling Sciences Department 48 Delaunay Node Insertion Grid Based Nodes introduced based on a regular lattice Lattice could be rectangular, triangular, quadtree, etc… Outside nodes ignored

49 Computational Modeling Sciences Department 49 Delaunay Node Insertion Centroid Nodes introduced at triangle centroids Continues until edge length,

50 Computational Modeling Sciences Department 50 Delaunay Node Insertion Centroid Nodes introduced at triangle centroids Continues until edge length, l

51 Computational Modeling Sciences Department 51 Delaunay Node Insertion Circumcenter (“Guaranteed Quality”) Nodes introduced at triangle circumcenters Order of insertion based on minimum angle of any triangle Continues until minimum angle > predefined minimum (Chew,Ruppert,Shewchuk)

52 Computational Modeling Sciences Department 52 Delaunay Circumcenter (“Guaranteed Quality”) Nodes introduced at triangle circumcenters Order of insertion based on minimum angle of any triangle Continues until minimum angle > predefined minimum Node Insertion (Chew,Ruppert,Shewchuk)

53 Computational Modeling Sciences Department 53 Delaunay Advancing Front “Front” structure maintained throughout Nodes introduced at ideal location from current front edge Node Insertion A B C (Marcum,95)

54 Computational Modeling Sciences Department 54 Delaunay Advancing Front “Front” structure maintained throughout Nodes introduced at ideal location from current front edge Node Insertion (Marcum,95)

55 Computational Modeling Sciences Department 55 Delaunay Voronoi-Segment Nodes introduced at midpoint of segment connecting the circumcircle centers of two adjacent triangles Node Insertion (Rebay,93)

56 Computational Modeling Sciences Department 56 Delaunay Voronoi-Segment Nodes introduced at midpoint of segment connecting the circumcircle centers of two adjacent triangles Node Insertion (Rebay,93)

57 Computational Modeling Sciences Department 57 Delaunay Edges Nodes introduced at along existing edges at l=h Check to ensure nodes on nearby edges are not too close Node Insertion h h h (George,91)

58 Computational Modeling Sciences Department 58 Delaunay Edges Nodes introduced at along existing edges at l=h Check to ensure nodes on nearby edges are not too close Node Insertion (George,91)

59 Computational Modeling Sciences Department 59 Delaunay Boundary Constrained Boundary Intersection Nodes and edges introduced where Delaunay edges intersect boundary

60 Computational Modeling Sciences Department 60 Delaunay Boundary Constrained Boundary Intersection Nodes and edges introduced where Delaunay edges intersect boundary

61 Computational Modeling Sciences Department 61 Delaunay Boundary Constrained Local Swapping Edges swapped between adjacent pairs of triangles until boundary is maintained

62 Computational Modeling Sciences Department 62 Delaunay Boundary Constrained Local Swapping Edges swapped between adjacent pairs of triangles until boundary is maintained

63 Computational Modeling Sciences Department 63 Delaunay Boundary Constrained Local Swapping Edges swapped between adjacent pairs of triangles until boundary is maintained

64 Computational Modeling Sciences Department 64 Delaunay Boundary Constrained Local Swapping Edges swapped between adjacent pairs of triangles until boundary is maintained

65 Computational Modeling Sciences Department 65 Delaunay Boundary Constrained Local Swapping Edges swapped between adjacent pairs of triangles until boundary is maintained (George,91)(Owen,99)

66 Computational Modeling Sciences Department 66 D C VSVS Delaunay Local Swapping Example Recover edge CD at vector V s Boundary Constrained

67 Computational Modeling Sciences Department 67 D C E1E1 E2E2 E3E3 E4E4 E5E5 E6E6 E7E7 E8E8 Local Swapping Example Make a list (queue) of all edges E i, that intersect V s Delaunay Boundary Constrained

68 Computational Modeling Sciences Department 68 D C E1E1 E2E2 E3E3 E4E4 E5E5 E6E6 E7E7 E8E8 Delaunay Local Swapping Example Swap the diagonal of adjacent triangle pairs for each edge in the list Boundary Constrained

69 Computational Modeling Sciences Department 69 D C E2E2 E3E3 E4E4 E5E5 E6E6 E7E7 E8E8 Delaunay Local Swapping Example Check that resulting swaps do not cause overlapping triangles. I they do, then place edge at the back of the queue and try again later

70 Computational Modeling Sciences Department 70 D C E3E3 E4E4 E5E5 E6E6 E7E7 E8E8 Delaunay Local Swapping Example Check that resulting swaps do not cause overlapping triangles. If they do, then place edge at the back of the queue and try again later

71 Computational Modeling Sciences Department 71 D C E6E6 Delaunay Local Swapping Example Final swap will recover the desired edge. Resulting triangle quality may be poor if multiple swaps were necessary Does not maintain Delaunay criterion!

72 Computational Modeling Sciences Department 72 Delaunay A C D E B Boundary Constrained 3D Local Swapping Requires both boundary edge recovery and boundary face recovery Edge Recovery Force edges into triangulation by performing 2-3 swap transformation ABC = non-conforming face DE = edge to be recovered (George,91;99)(Owen,00)

73 Computational Modeling Sciences Department 73 Delaunay A B C D E Boundary Constrained 3D Local Swapping Requires both boundary edge recovery and boundary face recovery Edge Recovery Force edges into triangulation by performing 2-3 swap transformation ABC = non-conforming face DE = edge to be recovered ABCE ACBD 2-3 Swap (George,91;99)(Owen,00)

74 Computational Modeling Sciences Department 74 Delaunay A B C D E Boundary Constrained 3D Local Swapping Requires both boundary edge recovery and boundary face recovery Edge Recovery Force edges into triangulation by performing 2-3 swap transformation ABCE ACBD 2-3 Swap BAED CBED ACED DE = edge recovered (George,91;99)(Owen,00)

75 Computational Modeling Sciences Department 75 Delaunay A C D E B Boundary Constrained 3D Local Swapping Requires both boundary edge recovery and boundary face recovery Edge Recovery Force edges into triangulation by performing 2-3 swap transformation DE = edge recovered ABCE ACBD 2-3 Swap BAED CBED ECED (George,91;99)(Owen,00)

76 Computational Modeling Sciences Department 76 Delaunay 3D Edge Recovery Form queue of faces through which edge AB will pass Perform 2-3 swap transformations on all faces in the list If overlapping tets result, place back on queue and try again later If still cannot recover edge, then insert “steiner” point Edge AB to be recovered Exploded view of tets intersected by AB

77 Computational Modeling Sciences Department 77 Delaunay 2-3 Swap2-2 Swap Face Split Edge Split Edge Suppress abce, acbd abde, bcde, cade aceb, adcb adeb, edcb abce, acbd abfe, bcfe, cafe bafd, cbfd, acfd abn i n i+1 {i=1…N} abn i n i+1, cbn i n i+1 {i=1…N} abn i n i+1 {i=1…N} n m,k n m.j n m.i a, n m,k n m.j n m.i b {m=1…M} N = no. adj. tets at edge ab M = no. unique trias in polygon P={n 1,n 2,n 3 }

78 Computational Modeling Sciences Department 78 Quad/Hex Methods Structured Requires geometry to conform to specific characteristics Regular patterns of quads/hexes formed based on characteristics of geometry Unstructured No specific requirements for geometry quads/hexes placed to conform to geometry. No connectivity requirement (although optimization of connectivity is beneficial) Internal nodes always attached to same number of elements

79 Computational Modeling Sciences Department 79 Structured 6 6 3 3 Mapped Meshing 4 topological sides opposite sides must have similar intervals Geometry Requirements Algorithm Trans-finite Interpolation (TFI) maps a regular lattice of quads onto polygon (Thompson,88;99) (Cook,82)

80 Computational Modeling Sciences Department 80 Structured 3D Mapped Meshing 6 topological surfaces opposite surfaces must have similar mapped meshes Geometry Requirements

81 Computational Modeling Sciences Department 81 Structured http://www.gridpro.com/gridgallery/tmachinery.html http://www.pointwise.com/case/747.htm Mapped Meshing Block-Structured

82 Computational Modeling Sciences Department 82 Structured i j +3i +2j q -1j Sub-Mapping Blocky-type surfaces (principally 90 degree angles) Geometry Requirements (White,95)

83 Computational Modeling Sciences Department 83 Structured Sub-Mapping Automatically decomposes surface into mappable regions based on assigned intervals (White,95)

84 Computational Modeling Sciences Department 84 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

85 Computational Modeling Sciences Department 85 Structured source target Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable linking surfaces

86 Computational Modeling Sciences Department 86 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

87 Computational Modeling Sciences Department 87 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

88 Computational Modeling Sciences Department 88 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

89 Computational Modeling Sciences Department 89 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

90 Computational Modeling Sciences Department 90 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

91 Computational Modeling Sciences Department 91 Structured Sweeping Geometry Requirements source and target surfaces topologicaly similar linking surfaces mapable or submapable

92 Computational Modeling Sciences Department 92 Structured Cubit, Sandia National Labs Gambit, Fluent Inc. Sweeping

93 Computational Modeling Sciences Department 93 Sweeping Sweep Direction 1-to-1 sweepable

94 Computational Modeling Sciences Department 94 Sweeping n-to-1 sweepable Sweep Direction

95 Computational Modeling Sciences Department 95 Sweeping n-to-m sweepable Multi-Sweep Sweep Direction

96 Computational Modeling Sciences Department 96 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

97 Computational Modeling Sciences Department 97 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

98 Computational Modeling Sciences Department 98 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

99 Computational Modeling Sciences Department 99 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

100 Computational Modeling Sciences Department 100 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

101 Computational Modeling Sciences Department 101 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

102 Computational Modeling Sciences Department 102 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

103 Computational Modeling Sciences Department 103 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

104 Computational Modeling Sciences Department 104 Sweeping Sweep Direction The fundamental strategy of multi- sweep is to convert an n-to-m sweepable volume into a number of n-to-1 sweepable volumes.

105 Computational Modeling Sciences Department 105 Decomp Sweep Overview Sweep Direction

106 Computational Modeling Sciences Department 106 Decomp Sweep Overview Sweep Direction

107 Computational Modeling Sciences Department 107 Sweeping (White, 2004) CCSweep

108 Computational Modeling Sciences Department 108 Medial Axis (Price, 95;97)(Tam,91) Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts

109 Computational Modeling Sciences Department 109 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

110 Computational Modeling Sciences Department 110 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

111 Computational Modeling Sciences Department 111 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

112 Computational Modeling Sciences Department 112 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

113 Computational Modeling Sciences Department 113 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

114 Computational Modeling Sciences Department 114 Medial Axis Medial Object - Roll a Maximal circle or sphere through the model. The center traces the medial object Medial Object used as a tool to automatically decompose model into simpler mapable or sweepable parts (Price, 95;97)(Tam,91)

115 Computational Modeling Sciences Department 115 Medial Axis Medial Axis + Midpoint Subdivision (Price, 95) (Sheffer, 98) Embedded Voronoi Graph

116 Computational Modeling Sciences Department 116 Meshing Algorithms

117 Computational Modeling Sciences Department 117 Indirect Quad Triangle splitting Each triangle split into 3 quads Typically results in poor angles

118 Computational Modeling Sciences Department 118 Indirect Hex Tetrahedra splitting Each tetrahedtra split into 4 hexahedra Typically results in poor angles

119 Computational Modeling Sciences Department 119 Indirect Hex Tetrahedra splitting Each tetrahedtra split into 4 hexahedra Typically results in poor angles

120 Computational Modeling Sciences Department 120 Indirect Hex Tetrahedra splitting Each tetrahedtra split into 4 hexahedra Typically results in poor angles (Taniguchi, 96)

121 Computational Modeling Sciences Department 121 Indirect Hex Example of geometry meshed by tetrahedra splitting

122 Computational Modeling Sciences Department 122 Indirect Triangle Merge Two adjacent triangles combined into a single quad Test for best local choice for combination Triangles can remain if attention is not paid to order of combination

123 Computational Modeling Sciences Department 123 Indirect Triangle Merge Two adjacent triangles combined into a single quad Test for best local choice for combination Triangles can remain if attention is not paid to order of combination

124 Computational Modeling Sciences Department 124 Indirect Triangle Merge Two adjacent triangles combined into a single quad Test for best local choice for combination Triangles can remain if attention is not paid to order of combination

125 Computational Modeling Sciences Department 125 Indirect Directed Triangle Merge Merging begins at a boundary Advances from one set of triangles to the next Attempts to maintain even number of intervals on any loop Can produce all-quad mesh Can also incorporate triangle splitting (Lee and Lo, 94)

126 Computational Modeling Sciences Department 126 Indirect AB NBNB ee NANA ee C D Triangle Merge w/ local transformations (“Q-Morph) Uses an advancing front approach Local swaps applied to improve resulting quad Any number of triangles merged to create a quad Attempts to maintain even number of intervals on any loop Produces all-quad mesh from even intervals (Owen, 99)

127 Computational Modeling Sciences Department 127 Q-Morph Unstructured-Quad

128 Computational Modeling Sciences Department 128 Q-Morph Unstructured-Quad

129 Computational Modeling Sciences Department 129 Q-Morph Unstructured-Quad

130 Computational Modeling Sciences Department 130 Q-Morph Unstructured-Quad

131 Computational Modeling Sciences Department 131 Q-Morph Unstructured-Quad

132 Computational Modeling Sciences Department 132 Q-Morph Unstructured-Quad

133 Computational Modeling Sciences Department 133 Indirect Q-MorphLee,Lo Method

134 Computational Modeling Sciences Department 134 Indirect A B C D A B C D E A B C D E F A B C D E F G A B C D E F G H A B C D E F G H Tetrahedral Merge w/ local transformations (“H-Morph”)

135 Computational Modeling Sciences Department 135 Unstructured-Hex H-Morph “Hex-Dominant Meshing” (Owen and Saigal, 00)

136 Computational Modeling Sciences Department 136 Unstructured-Hex (Owen and Saigal, 00) H-Morph “Hex-Dominant Meshing”

137 Computational Modeling Sciences Department 137 Unstructured-Hex

138 Computational Modeling Sciences Department 138 Meshing Algorithms

139 Computational Modeling Sciences Department 139 Unstructured-Hex Grid-Based Generate regular grid of quads/hexes on the interior of model Fit elements to the boundary by projecting interior faces towards the surfaces Lower quality elements near boundary Non-boundary conforming

140 Computational Modeling Sciences Department 140 Unstructured-Hex Grid-Based Generate regular grid of quads/hexes on the interior of model Fit elements to the boundary by projecting interior faces towards the surfaces Lower quality elements near boundary Non-boundary conforming

141 Computational Modeling Sciences Department 141 Unstructured-Hex Grid-Based Generate regular grid of quads/hexes on the interior of model Fit elements to the boundary by projecting interior faces towards the surfaces Lower quality elements near boundary Non-boundary conforming

142 Computational Modeling Sciences Department 142 Unstructured-Hex Grid-Based Generate regular grid of quads/hexes on the interior of model Fit elements to the boundary by projecting interior faces towards the surfaces Lower quality elements near boundary Non-boundary conforming

143 Computational Modeling Sciences Department 143 Unstructured-Hex Grid-Based (Schneiders,96)

144 Computational Modeling Sciences Department 144 Unstructured-Hex http://www.numeca.be/hexpress_home.html Grid-Based Gambit, Fluent, Inc.

145 Computational Modeling Sciences Department 145 Direct Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh (Blacker,92)(Cass,96)

146 Computational Modeling Sciences Department 146 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh (Blacker,92)(Cass,96)

147 Computational Modeling Sciences Department 147 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh (Blacker,92)(Cass,96)

148 Computational Modeling Sciences Department 148 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh Form new row and check for overlap (Blacker,92)(Cass,96)

149 Computational Modeling Sciences Department 149 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh Insert “Wedge ” (Blacker,92)(Cass,96)

150 Computational Modeling Sciences Department 150 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh Seams (Blacker,92)(Cass,96)

151 Computational Modeling Sciences Department 151 Unstructured-Quad Paving Advancing Front: Begins with front at boundary Forms rows of elements based on front angles Must have even number of intervals for all-quad mesh Close Loops and smooth (Blacker,92)(Cass,96)

152 Computational Modeling Sciences Department 152 Unstructured-Hex Plastering (Blacker, 93) 3D extension of “paving” Row-by row or element-by-element

153 Computational Modeling Sciences Department 153 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

154 Computational Modeling Sciences Department 154 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

155 Computational Modeling Sciences Department 155 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

156 Computational Modeling Sciences Department 156 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

157 Computational Modeling Sciences Department 157 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

158 Computational Modeling Sciences Department 158 Unstructured-Hex Plastering 3D extension of “paving” Row-by row or element-by-element (Blacker, 93)

159 Computational Modeling Sciences Department 159 Unstructured-Hex Exterior Hex mesh Remaining Void Ford Crankshaft Plastering+Tet Meshing “Hex-Dominant Meshing”

160 Computational Modeling Sciences Department 160 Direct Whisker Weaving First constructs dual of the quad/hex mesh Inserts quad/hex at the intersections of the dual chords

161 Computational Modeling Sciences Department 161 Direct Whisker Weaving Spatial Twist Continuum - Dual of a 3D hex mesh (Murdoch, 96) Hexes formed at intersection of twist planes

162 Computational Modeling Sciences Department 162 Direct Whisker Weaving Spatial Twist Continuum - Dual of a 3D hex mesh (Murdoch, 96) Hexes formed at intersection of twist planes Twist Plane

163 Computational Modeling Sciences Department 163 Direct Whisker Weaving Spatial Twist Continuum - Dual of a 3D hex mesh (Murdoch, 96) Hexes formed at intersection of twist planes Twist Plane

164 Computational Modeling Sciences Department 164 Direct Whisker Weaving Spatial Twist Continuum - Dual of a 3D hex mesh (Murdoch, 96) Hexes formed at intersection of twist planes Twist Planes

165 Computational Modeling Sciences Department 165 Direct Whisker Weaving Define the topology of the twist planes using whisker diagrams Each whisker diagram represents a closed loop of the surface dual Each boundary vertex on the diagram represents a quad face on the surface Objective is to resolve internal connectivity by “weaving” the chords following a set of basic rules (Tautges,95;96) Whisker diagrams used to resolve hex mesh above

166 Computational Modeling Sciences Department 166 Hex Meshing Research Unconstrained Paving Remove constraint that we must define number of quad when row is advanced. This constrains only 1 DOF. Remove constraint of pre-meshed boundary.

167 Computational Modeling Sciences Department 167 Hex Meshing Research Unconstrained Paving Each Row Advancement Constrains Only 1 DOF Quads are only completely defined when 2 unconstrained rows cross Quad Elements

168 Computational Modeling Sciences Department 168 Hex Meshing Research Unconstrained Paving Each Row Advancement Constrains Only 1 DOF

169 Computational Modeling Sciences Department 169 Hex Meshing Research Unconstrained Plastering

170 Computational Modeling Sciences Department 170 Hex Meshing Research Unconstrained Plastering (DOF = 2)

171 Computational Modeling Sciences Department 171 Hex Meshing Research Unconstrained Plastering (DOF = 1)

172 Computational Modeling Sciences Department 172 Hex Meshing Research Unconstrained Plastering (DOF = 0)

173 Computational Modeling Sciences Department 173 Hex Meshing Research Unconstrained Plastering

174 Computational Modeling Sciences Department 174 Hex Meshing Research Unconstrained Plastering

175 Computational Modeling Sciences Department 175 Hex Meshing Research Unconstrained Plastering

176 Computational Modeling Sciences Department 176 Hex Meshing Research Unconstrained Plastering

177 Computational Modeling Sciences Department 177 Hex Meshing Research Unconstrained Plastering

178 Computational Modeling Sciences Department 178 Hex Meshing Research Unconstrained Plastering

179 Computational Modeling Sciences Department 179 Hybrid Methods CFD Meshing Image courtesy of acelab, University of Texas, Austin, http://acelab.ae.utexas.edu Image courtesy of Roy P. Koomullil, Engineering Research Center, Mississippi State University, http://www.erc.msstate.edu/~roy/

180 Computational Modeling Sciences Department 180 Hybrid Methods Advancing Layers Method

181 Computational Modeling Sciences Department 181 Hybrid Methods Advancing Layers Method Discretize Boundary

182 Computational Modeling Sciences Department 182 Hybrid Methods Advancing Layers Method Define Normals at boundary nodes (Pirzadeh, 1994)

183 Computational Modeling Sciences Department 183 Hybrid Methods Advancing Layers Method Generate nodes along normals according to distribution function Form layer Distance from wall Element size distribution function

184 Computational Modeling Sciences Department 184 Hybrid Methods Advancing Layers Method Generate nodes along normals according to distribution function Form layer Distance from wall Element size distribution function

185 Computational Modeling Sciences Department 185 Hybrid Methods Advancing Layers Method Generate nodes along normals according to distribution function Form layer Distance from wall Element size distribution function

186 Computational Modeling Sciences Department 186 Hybrid Methods Advancing Layers Method Define new boundary for triangle mesher

187 Computational Modeling Sciences Department 187 Hybrid Methods Mesh with triangles

188 Computational Modeling Sciences Department 188 Hybrid Methods Convex Corner Concave Corner

189 Computational Modeling Sciences Department 189 Hybrid Methods Convex Corner Concave Corner

190 Computational Modeling Sciences Department 190 Hybrid Methods Convex Corner Concave Corner

191 Computational Modeling Sciences Department 191 Hybrid Methods Convex Corner Concave Corner Blend Regions

192 Computational Modeling Sciences Department 192 Hybrid Meshes Convex Corner Concave Corner Blend Regions

193 Computational Modeling Sciences Department 193 Hybrid Methods Convex Corner Concave Corner Blend Regions

194 Computational Modeling Sciences Department 194 Hybrid Methods Convex Corner Concave Corner Smoothed Normals

195 Computational Modeling Sciences Department 195 Hybrid Methods Convex Corner Concave Corner Smoothed Normals

196 Computational Modeling Sciences Department 196 Hybrid Methods Convex Corner Concave Corner Smoothed Normals

197 Computational Modeling Sciences Department 197 Hybrid Methods Multiple Normals  Define Normals every  degrees

198 Computational Modeling Sciences Department 198 Hybrid Methods Multiple Normals

199 Computational Modeling Sciences Department 199 Hybrid Methods Intersecting Boundary Layers

200 Computational Modeling Sciences Department 200 Hybrid Methods Intersecting Boundary Layers

201 Computational Modeling Sciences Department 201 Hybrid Methods Intersecting Boundary Layers Delete overalppaing elements

202 Computational Modeling Sciences Department 202 Hybrid Methods Intersecting Boundary Layers

203 Computational Modeling Sciences Department 203 Hybrid Methods Image courtesy of SCOREC, Rensselaer Polytechnic Institute, http://www.scorec.rpi.edu/ (Garimella, Shephard, 2000)

204 Computational Modeling Sciences Department 204 Hex-Tet Interface Conforming quad-triangleConforming hex-tet? Non-Conforming Diagonal Edge Non-Conforming Node

205 Computational Modeling Sciences Department 205 Hex-Tet Interface Solutions Free Edge (Non-conforming) Multi-point Constraint Pyramid

206 Computational Modeling Sciences Department 206 Hex-Tet Interface Heat sink meshed with hexes, tets and pyramids

207 Computational Modeling Sciences Department 207 Hex-Tet Interface Pyramid Elements for maintaining compatibility between hex and tet elements (Owen,00)

208 Computational Modeling Sciences Department 208 Hex-Tet Interface Tetrahedral transformations to form Pyramids Use 2-3 swaps to obtain 2 tets at diagonal combine 2 tets to form pyramid A B N5N5 N1N1 N 4 N 3 N 2 (d)

209 Computational Modeling Sciences Department 209 Hex-Tet Interface Tetrahedral transformations to form Pyramids Use 2-3 swaps to obtain 2 tets at diagonal combine 2 tets to form pyramid A B N5N5 N1N1 N 4 N 3 N 2 (d)

210 Computational Modeling Sciences Department 210 Hex-Tet Interface Tetrahedral transformations to form Pyramids Use 2-3 swaps to obtain 2 tets at diagonal combine 2 tets to form pyramid A B N5N5 N1N1 N 4 N 3 (d)

211 Computational Modeling Sciences Department 211 Hex-Tet Interface (d) Tetrahedral transformations to form Pyramids Use 2-3 swaps to obtain 2 tets at diagonal combine 2 tets to form pyramid A B N5N5 N 3 N1N1

212 Computational Modeling Sciences Department 212 Hex-Tet Interface (d) Tetrahedral transformations to form Pyramids Use 2-3 swaps to obtain 2 tets at diagonal combine 2 tets to form pyramid A B N5N5 N 3 N1N1

213 Computational Modeling Sciences Department 213 Hex-Tet Interface N 1 N 4 B A N 2 N 3 Non-Conforming Condition: Tets at quad diagonal A-B Pyramid Open Method N N N 1 4 B A C N 2 3 Insert C at midpoint AB: Split all tets at edge AB B N 1 A C N 2 N 3 N 4 Move C to average N 1,N 2 …N n Create New Pyramid A,N n,B,N 1,C

214 Computational Modeling Sciences Department 214 Surface Meshing Direct 3D Meshing Parametric Space Meshing u v Elements formed in 3D using actual x-y-z representation of surface Elements formed in 2D using parametric representation of surface Node locations later mapped to 3D

215 Computational Modeling Sciences Department 215 Surface Meshing A B 3D Surface Advancing Front form triangle from front edge AB

216 Computational Modeling Sciences Department 216 A B Surface Meshing C NCNC 3D Surface Advancing Front Define tangent plane at front by averaging normals at A and B Tangent plane

217 Computational Modeling Sciences Department 217 Surface Meshing A B C NCNC D 3D Surface Advancing Front define D to create ideal triangle on tangent plane

218 Computational Modeling Sciences Department 218 A B C NCNC D 3D Surface Advancing Front project D to surface (find closest point on surface) Surface Meshing

219 Computational Modeling Sciences Department 219 Surface Meshing 3D Surface Advancing Front Must determine overlapping or intersecting triangles in 3D. (Floating point robustness issues) Extensive use of geometry evaluators (for normals and projections) Typically slower than parametric implementations Generally higher quality elements Avoids problems with poor parametric representations (typical in many CAD environments) (Lo,96;97); (Cass,96)

220 Computational Modeling Sciences Department 220 Surface Meshing Parametric Space Mesh Generation Parameterization of the NURBS provided by the CAD model can be used to reduce the mesh generation to 2D u v u v

221 Computational Modeling Sciences Department 221 Surface Meshing Parametric Space Mesh Generation Isotropic: Target element shapes are equilateral triangles Equilateral elements in parametric space may be distorted when mapped to 3D space. If parametric space resembles 3D space without too much distortion from u-v space to x-y-z space, then isotropic methods can be used. u v u v

222 Computational Modeling Sciences Department 222 Surface Meshing Parametric space can be “customized” or warped so that isotropic methods can be used. Works well for many cases. In general, isotropic mesh generation does not work well for parametric meshing u v u v Parametric Space Mesh Generation Warped parametric space

223 Computational Modeling Sciences Department 223 Surface Meshing u v u v Anisotropic: Triangles are stretched based on a specified vector field Triangles appear stretched in 2d (parametric space), but are near equilateral in 3D Parametric Space Mesh Generation

224 Computational Modeling Sciences Department 224 Surface Meshing Stretching is based on field of surface derivatives Parametric Space Mesh Generation u v x y z Metric, M can be defined at every location on surface. Metric at location X is:

225 Computational Modeling Sciences Department 225 Surface Meshing Distances in parametric space can now be measured as a function of direction and location on the surface. Distance from point X to Q is defined as: u v x y z Parametric Space Mesh Generation X Q u v X Q M(X)

226 Computational Modeling Sciences Department 226 Surface Meshing Parametric Space Mesh Generation Use essentially the same isotropic methods for 2D mesh generation, except distances and angles are now measured with respect to the local metric tensor M(X). Can use Delaunay (George, 99) or Advancing Front Methods (Tristano,98)

227 Computational Modeling Sciences Department 227 Surface Meshing Parametric Space Mesh Generation Is generally faster than 3D methods Is generally more robust (No 3D intersection calculations) Poor parameterization can cause problems Not possible if no parameterization is provided Can generate your own parametric space (Flatten 3D surface into 2D) (Marcum, 99) (Sheffer,00)

228 Computational Modeling Sciences Department 228 Algorithm Characteristics 1. Conforming Mesh Elements conform to a prescribed surface mesh 2. Boundary Sensitive Rows/layers of elements roughly conform to the contours of the boundary 3. Orientation Insensitive Rotating/Scaling geometry will not change the resulting mesh 4. Regular Node Valence Inherent in the algorithm is the ability to maintain (nearly) the same number of elements adjacent each node) 5. Arbitrary Geometry The algorithm does not rely on a specific class/shape of geometry 6. Commercial Viability (Robustness/Speed) The algorithm has been used in a commercial setting

229 Computational Modeling Sciences Department 229 Mapped Sub-map Tri Split Tri Merge Q-Morph Grid-Based Medial Axis Paving Mapped Sub-map Sweeping Tet Split Tet Merge H-Morph Grid-Based Medial Surf. Plastering Whisker W. Algorithm Characteristics TrisHexes Quadtree Delaunay Adv. Front Octree Delaunay Adv. Front Quads Tets Conforming Mesh Boundary Sensitive Orientation Insensitive Commercially Viability Regular Node Valence Arbitrary Geometry 1 2 3 4 5 6

230 Computational Modeling Sciences Department 230 More Info http://www.andrew.cmu.edu/~sowen/mesh.html Meshing Research Corner

231 Computational Modeling Sciences Department 231 References

232 Computational Modeling Sciences Department 232 References

233 Computational Modeling Sciences Department 233 References

234 Computational Modeling Sciences Department 234 References

235 Computational Modeling Sciences Department 235 References


Download ppt "Computational Modeling Sciences Department 1 Steve Owen An Introduction to Mesh Generation Algorithms Sandia is a multiprogram laboratory operated by Sandia."

Similar presentations


Ads by Google