Preface |
|
xvii | |
Acknowledgements |
|
xix | |
1 Introduction |
|
1 | (10) |
|
1.1 Finite element method |
|
|
1 | (1) |
|
1.2 What is finite element mesh generation? |
|
|
1 | (1) |
|
1.3 Why finite element mesh generation? |
|
|
2 | (1) |
|
1.4 Problem definition, scope and philosophy: Science or art? |
|
|
3 | (1) |
|
1.5 General strategies, robustness, difficulties and methodologies |
|
|
4 | (1) |
|
|
4 | (1) |
|
1.7 Historical development |
|
|
5 | (2) |
|
1.8 So far achieved and what lies ahead |
|
|
7 | (1) |
|
1.9 Topics discussed in the chapters |
|
|
8 | (3) |
2 Fundamentals |
|
11 | (66) |
|
|
11 | (1) |
|
2.2 Notations, symbols and abbreviations |
|
|
12 | (2) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
2.3 Terminologies and data structures |
|
|
14 | (5) |
|
|
14 | (1) |
|
2.3.2 Delaunay triangulation |
|
|
14 | (1) |
|
2.3.3 Constrained triangulation |
|
|
14 | (1) |
|
|
14 | (1) |
|
2.3.5 Structured and unstructured meshes |
|
|
15 | (1) |
|
2.3.6 Mixed and hybrid meshes |
|
|
15 | (1) |
|
2.3.7 Discretised manifold |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (3) |
|
|
17 | (1) |
|
2.3.10.2 Boundary of a planar domain |
|
|
17 | (1) |
|
2.3.10.3 Boundary of a 3D domain |
|
|
17 | (1) |
|
2.3.10.4 Node labelling of FEs |
|
|
18 | (1) |
|
2.4 Geometrical operations and formulas |
|
|
19 | (14) |
|
2.4.1 Distance from a point P to a line segment AB, d(P, AB) |
|
|
19 | (1) |
|
2.4.2 Distance from a point P to a triangular facet ABC, d(P, ABC) |
|
|
20 | (1) |
|
2.4.3 Distance between line segments in space, d(AB, CD) |
|
|
20 | (1) |
|
2.4.4 Intersection between two line segments on a plane |
|
|
21 | (2) |
|
2.4.4.1 Analytical method |
|
|
21 | (1) |
|
|
22 | (1) |
|
2.4.4.3 Parametric method |
|
|
22 | (1) |
|
2.4.4.4 The max—min method |
|
|
23 | (1) |
|
|
23 | (2) |
|
|
25 | (1) |
|
2.4.7 Intersection between a line segment and a triangular facet |
|
|
25 | (1) |
|
2.4.8 Distance between a line segment and a triangular facet in space, d(PQ, ABC) |
|
|
26 | (1) |
|
2.4.9 Dividing an edge into segments |
|
|
27 | (3) |
|
2.4.9.1 Element size is specified at nodal points |
|
|
27 | (1) |
|
2.4.9.2 Element size is specified along the edge |
|
|
28 | (2) |
|
2.4.10 y Value of a tetrahedron cannot exceed the a value of its face |
|
|
30 | (2) |
|
2.4.11 Determine whether a point is inside or outside of the problem domain |
|
|
32 | (1) |
|
2.4.11.1 Two-dimensional domain |
|
|
32 | (1) |
|
2.4.11.2 Three-dimensional domain |
|
|
32 | (1) |
|
2.5 Topological operations and algorithms |
|
|
33 | (10) |
|
2.5.1 Find the neighbouring elements of a triangular mesh |
|
|
33 | (1) |
|
2.5.2 Find the neighbouring elements of a tetrahedral mesh |
|
|
34 | (1) |
|
2.5.3 Find the elements connected to each node in a mesh |
|
|
35 | (2) |
|
2.5.4 Find the edges (unique line segments) of a triangular mesh |
|
|
37 | (1) |
|
2.5.5 Find the faces (unique triangular facets) of a tetrahedral mesh |
|
|
38 | (1) |
|
2.5.6 Find the edges (unique line segments) of a tetrahedral mesh |
|
|
38 | (1) |
|
2.5.7 Retrieve the boundary (loop of line segments) of a triangular mesh |
|
|
39 | (1) |
|
2.5.8 Retrieve the boundary (triangular facets) of a tetrahedral mesh |
|
|
40 | (1) |
|
2.5.9 Find the tetrahedral elements connected to an edge |
|
|
41 | (1) |
|
2.5.10 Delete flagged elements from a tetrahedral mesh |
|
|
41 | (1) |
|
2.5.11 Find the tetrahedral elements within the boundary surface |
|
|
42 | (1) |
|
|
43 | (10) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
45 | (2) |
|
|
47 | (3) |
|
2.6.5 Comparison of the sorting methods |
|
|
50 | (3) |
|
|
53 | (24) |
|
2.7.1 Regular (uniform) grid (2D) |
|
|
53 | (1) |
|
2.7.2 Regular (uniform) grid (3D) |
|
|
54 | (2) |
|
2.7.3 Searching for general objects by means of a background grid |
|
|
56 | (2) |
|
2.7.3.1 Method 1: Search by neighbourhood |
|
|
56 | (1) |
|
2.7.3.2 Method 2: By checking the distance |
|
|
57 | (1) |
|
2.7.3.3 Method 3: By elimination |
|
|
57 | (1) |
|
2.7.4 Determine the cells intersected by a triangular facet |
|
|
58 | (1) |
|
|
59 | (2) |
|
|
61 | (5) |
|
|
66 | (3) |
|
|
69 | (9) |
|
2.7.8.1 Construction of 2-d tree |
|
|
69 | (4) |
|
2.7.8.2 Construction of 3-d tree |
|
|
73 | (4) |
3 Mesh generation on planar domain |
|
77 | (88) |
|
|
77 | (1) |
|
3.2 Structured mesh on planar domain |
|
|
78 | (5) |
|
|
78 | (3) |
|
3.2.2 Trans finite mapping |
|
|
81 | (2) |
|
3.2.3 Drag method and sweeping method |
|
|
83 | (1) |
|
3.3 Unstructured mesh on planar domain |
|
|
83 | (3) |
|
|
84 | (1) |
|
|
84 | (1) |
|
3.3.3 Mesh refinement by subdivision |
|
|
85 | (1) |
|
3.4 Meshing by quadtree decomposition |
|
|
86 | (5) |
|
3.4.1 Boundary specification |
|
|
86 | (1) |
|
3.4.2 Spatial partition of the bounding box |
|
|
86 | (4) |
|
3.4.3 Creation of internal points and elements |
|
|
90 | (1) |
|
3.4.4 Connection of the interior elements with the boundary segments |
|
|
90 | (1) |
|
3.5 Delaunay triangulation |
|
|
91 | (30) |
|
|
91 | (1) |
|
3.5.1.1 The convex hull of a given point set |
|
|
92 | (1) |
|
|
92 | (1) |
|
3.5.3 Time complexity in the construction of DT |
|
|
93 | (1) |
|
|
93 | (13) |
|
3.5.4.1 Fundamentals and strategy |
|
|
95 | (2) |
|
3.5.4.2 Point insertion algorithm |
|
|
97 | (1) |
|
3.5.4.3 Determination of the CORE |
|
|
98 | (1) |
|
3.5.4.4 Searching for the BASE |
|
|
98 | (2) |
|
3.5.4.5 Steps in locating the BASE |
|
|
100 | (1) |
|
3.5.4.6 Circumcentre and circumcircle |
|
|
101 | (1) |
|
3.5.4.7 Procedure for the creation of the CORE |
|
|
102 | (3) |
|
3.5.4.8 Correction of the CORE |
|
|
105 | (1) |
|
3.5.4.9 Construction of triangles in the CORE and establishment of the adjacency relationship |
|
|
106 | (1) |
|
3.5.5 Details in computer programming |
|
|
106 | (2) |
|
3.5.6 Generation of interior points |
|
|
108 | (9) |
|
3.5.6.1 Specification of nodal spacing |
|
|
108 | (1) |
|
|
108 | (1) |
|
3.5.6.3 Element size based on domain boundary |
|
|
109 | (1) |
|
3.5.6.4 Element size based on a previous analysis |
|
|
110 | (1) |
|
3.5.6.5 Creation of interior points |
|
|
111 | (6) |
|
3.5.7 Boundary recovery in two dimensions |
|
|
117 | (3) |
|
3.5.7.1 Determination of the pipe |
|
|
118 | (1) |
|
3.5.7.2 Divide-and-conquer |
|
|
118 | (1) |
|
3.5.7.3 Swapping of diagonals |
|
|
119 | (1) |
|
|
120 | (1) |
|
3.6 Advancing front approach |
|
|
121 | (19) |
|
|
121 | (2) |
|
3.6.2 Adaptive meshing by the AFT |
|
|
123 | (5) |
|
3.6.3 Use of background grid |
|
|
128 | (6) |
|
3.6.3.1 Construction of the background grid |
|
|
129 | (1) |
|
3.6.3.2 Setting the size of each cell in the grid |
|
|
129 | (2) |
|
3.6.3.3 Marking and unmarking cells intersected by a line segment |
|
|
131 | (1) |
|
3.6.3.4 Marking cells intersected by a line segment L |
|
|
132 | (1) |
|
3.6.3.5 Unmarking cells intersected by a line segment L |
|
|
133 | (1) |
|
3.6.3.6 Search for nearby line segments with the help of the background grid |
|
|
133 | (1) |
|
3.6.3.7 Updating boundary segments |
|
|
133 | (1) |
|
|
134 | (5) |
|
|
139 | (1) |
|
3.7 Meshing by a combined scheme of DT and ADF approach |
|
|
140 | (7) |
|
|
140 | (1) |
|
3.7.2 Advancing-front—Delaunay scheme |
|
|
140 | (4) |
|
3.7.2.1 DT of non-convex planar domains |
|
|
140 | (1) |
|
3.7.2.2 Delaunay and non-Delaunay triangles |
|
|
140 | (1) |
|
3.7.2.3 Delaunay and non-Delaunay segments |
|
|
141 | (1) |
|
3.7.2.4 Triangulation process |
|
|
141 | (1) |
|
3.7.2.5 Updating Γ1 and Γ2 |
|
|
142 | (1) |
|
3.7.2.6 Existence and Delaunay property of the triangulation |
|
|
142 | (1) |
|
3.7.2.7 Delaunay property of triangulation |
|
|
143 | (1) |
|
3.7.3 Delaunay—advancing-front scheme |
|
|
144 | (3) |
|
3.8 Enhanced quadtree meshing |
|
|
147 | (4) |
|
3.8.1 Quadtree partition of the bounding box |
|
|
148 | (1) |
|
3.8.2 Removal of quadrilaterals near domain boundary |
|
|
148 | (1) |
|
3.8.3 Boundary recovery for triangulation |
|
|
149 | (1) |
|
|
149 | (2) |
|
|
151 | (14) |
|
|
151 | (1) |
|
|
152 | (1) |
|
3.9.3 Quadrilateral-dominated mesh |
|
|
153 | (4) |
|
3.9.3.1 Distortion coefficient β of a quadrilateral |
|
|
154 | (1) |
|
3.9.3.2 Merging of triangles to form quadrilaterals |
|
|
155 | (2) |
|
3.9.4 All-quad unstructured mesh |
|
|
157 | (2) |
|
3.9.4.1 Initialisation of the merging front |
|
|
158 | (1) |
|
3.9.4.2 Merging of triangles |
|
|
158 | (1) |
|
3.9.4.3 Updating merging front |
|
|
159 | (1) |
|
3.9.4.4 Complete conversion to quadrilateral mesh |
|
|
159 | (1) |
|
3.9.5 Mesh quality enhancement |
|
|
159 | (3) |
|
3.9.5.1 Elimination of node |
|
|
161 | (1) |
|
3.9.5.2 Elimination of element |
|
|
161 | (1) |
|
3.9.5.3 Swapping of diagonals |
|
|
161 | (1) |
|
3.9.5.4 Elimination of segment |
|
|
162 | (1) |
|
3.9.6 Examples of quadrilateral meshes |
|
|
162 | (3) |
4 Mesh generation over curved surfaces |
|
165 | (74) |
|
|
165 | (4) |
|
4.1.1 Parametric meshing for curved surfaces |
|
|
165 | (2) |
|
4.1.2 Direct mesh generation on surfaces |
|
|
167 | (2) |
|
4.1.3 Surface meshing by means of intersection |
|
|
169 | (1) |
|
4.2 Parametric mapping method |
|
|
169 | (32) |
|
|
169 | (1) |
|
4.2.1.1 The mapping φ from planar domain Ω to the surface S |
|
|
169 | (1) |
|
4.2.1.2 Gap between a triangular facet and the curved surface |
|
|
170 | (1) |
|
4.2.1.3 Metric for curved surface geometry |
|
|
170 | (1) |
|
4.2.2 Fundamental forms and the related metric |
|
|
170 | (2) |
|
4.2.2.1 Tangent and normal vectors |
|
|
170 | (2) |
|
4.2.3 Principal curvatures |
|
|
172 | (2) |
|
4.2.3.1 Gaussian curvature and mean curvature |
|
|
174 | (1) |
|
4.2.4 Metric and principal curvatures |
|
|
174 | (2) |
|
4.2.5 Geometrical control |
|
|
176 | (2) |
|
4.2.6 Metric on parametric planar domain |
|
|
178 | (1) |
|
4.2.7 Metric tensor and Green—Cauchy deformation tensor |
|
|
179 | (3) |
|
4.2.7.1 Change in length by metric M |
|
|
180 | (1) |
|
4.2.7.2 Change in area by metric M |
|
|
180 | (2) |
|
4.2.8 Interpolation of metric |
|
|
182 | (2) |
|
4.2.8.1 Metric interpolation over a line segment |
|
|
182 | (1) |
|
4.2.8.2 Metric interpolation within a triangular element |
|
|
183 | (1) |
|
4.2.9 Lengths controlled by multiple metrics |
|
|
184 | (2) |
|
4.2.10 Element shape measure with respect to anisotropic metric |
|
|
186 | (2) |
|
4.2.11 Metric tensor field of parametric curved surfaces and its characteristics |
|
|
188 | (3) |
|
4.2.12 Generation of anisotropic mesh by the Delaunay—ADF method |
|
|
191 | (7) |
|
4.2.12.1 Steps for anisotropic meshing |
|
|
191 | (5) |
|
4.2.12.2 The completed mesh |
|
|
196 | (2) |
|
4.2.13 Optimisation of anisotropic meshes |
|
|
198 | (3) |
|
|
198 | (1) |
|
4.2.13.2 Diagonal swapping |
|
|
199 | (1) |
|
4.2.13.3 Optimisation of the wavy surface |
|
|
200 | (1) |
|
4.3 Mesh generation by packing ellipses |
|
|
201 | (11) |
|
4.3.1 Ellipse-packing algorithm |
|
|
202 | (4) |
|
|
202 | (1) |
|
4.3.1.2 Three criteria for ellipse packing |
|
|
202 | (1) |
|
|
202 | (1) |
|
4.3.1.4 Initial pack and coefficient β |
|
|
203 | (1) |
|
4.3.1.5 Fitting an ellipse to the existing pack |
|
|
204 | (1) |
|
4.3.1.6 Checking intersection and mesh generation |
|
|
204 | (2) |
|
4.3.2 Efficiency and complexity |
|
|
206 | (2) |
|
4.3.3 Examples of surface meshing by ellipse packing |
|
|
208 | (4) |
|
4.4 Direct mesh generation on surface |
|
|
212 | (10) |
|
4.4.1 Initial generation front |
|
|
213 | (1) |
|
4.4.2 Forming triangular elements on a surface |
|
|
214 | (5) |
|
4.4.2.1 Find the best node on the generation front |
|
|
215 | (1) |
|
4.4.2.2 Locate interior node |
|
|
216 | (1) |
|
4.4.2.3 Space-to-surface projection |
|
|
217 | (2) |
|
4.4.3 Examples of direct construction |
|
|
219 | (3) |
|
4.5 Mesh generation by surface intersection |
|
|
222 | (15) |
|
|
222 | (1) |
|
4.5.1.1 The determination of neighbours |
|
|
223 | (1) |
|
|
223 | (2) |
|
4.5.2.1 Determination of cells intersected by a triangular facet |
|
|
224 | (1) |
|
4.5.3 Find all the candidate triangles |
|
|
225 | (2) |
|
4.5.3.1 Calculating the intersection between a pair of triangular facets |
|
|
226 | (1) |
|
4.5.4 Tracing neighbours of intersecting triangles |
|
|
227 | (2) |
|
4.5.5 Time complexity and memory management |
|
|
229 | (1) |
|
4.5.6 Mesh generation along intersection lines |
|
|
230 | (1) |
|
|
231 | (5) |
|
4.5.8 Intersection of surfaces of quadrilateral elements |
|
|
236 | (4) |
|
|
236 | (1) |
|
4.6 Quadrilateral surface mesh |
|
|
237 | (2) |
5 Mesh generation in three dimensions |
|
239 | (88) |
|
|
239 | (1) |
|
5.2 Delaunay triangulation (3D) |
|
|
240 | (9) |
|
|
240 | (1) |
|
5.2.2 The insertion algorithm |
|
|
240 | (8) |
|
5.2.2.1 Determination of the CORE |
|
|
241 | (1) |
|
5.2.2.2 Search for the BASE |
|
|
241 | (1) |
|
5.2.2.3 Determination of the CORE |
|
|
242 | (1) |
|
5.2.2.4 Triangulation of the CORE |
|
|
243 | (1) |
|
5.2.2.5 Adjacency relationship |
|
|
244 | (2) |
|
5.2.2.6 Heredity of geometrical quantities |
|
|
246 | (2) |
|
5.2.2.7 Memory management |
|
|
248 | (1) |
|
|
248 | (1) |
|
5.3 Boundary recovery for 3D DT |
|
|
249 | (21) |
|
|
249 | (1) |
|
5.3.2 Boundary recovery by local mesh reconnection |
|
|
250 | (1) |
|
5.3.3 Boundary recovery by introducing Steiner points |
|
|
251 | (13) |
|
|
251 | (1) |
|
5.3.3.2 Insertion algorithm and boundary recovery |
|
|
251 | (13) |
|
5.3.4 Worked examples and industrial applications |
|
|
264 | (6) |
|
|
264 | (3) |
|
5.3.4.2 Industrial applications |
|
|
267 | (3) |
|
5.4 Boundary protection in DT |
|
|
270 | (12) |
|
|
270 | (1) |
|
|
271 | (3) |
|
5.4.2.1 Insert Steiner points at the mid-points of missing edges |
|
|
272 | (1) |
|
5.4.2.2 Insert Steiner points at the intersections of missing edges |
|
|
273 | (1) |
|
5.4.3 Algorithm RBR: Retrieving bounded region |
|
|
274 | (2) |
|
|
276 | (3) |
|
5.4.4.1 Recovery of boundary edges |
|
|
276 | (1) |
|
5.4.4.2 Recovery of boundary faces |
|
|
277 | (2) |
|
|
279 | (3) |
|
5.5 Generation of tetrahedral mesh by ADF approach |
|
|
282 | (9) |
|
|
282 | (2) |
|
5.5.1.1 γ-quality of tetrahedral element |
|
|
283 | (1) |
|
5.5.2 ADF meshing procedures |
|
|
284 | (5) |
|
5.5.2.1 The generation front |
|
|
284 | (1) |
|
5.5.2.2 Generation of interior node |
|
|
284 | (2) |
|
5.5.2.3 Construction of tetrahedral elements |
|
|
286 | (2) |
|
5.5.2.4 No tetrahedron found on triangle J1J2J3 |
|
|
288 | (1) |
|
5.5.2.5 Check for intersections |
|
|
288 | (1) |
|
5.5.3 Efficiency consideration and mesh quality |
|
|
289 | (1) |
|
5.5.4 ADF meshing of 3D objects |
|
|
289 | (2) |
|
|
291 | (8) |
|
5.6.1 Delaunay—ADF mesh procedure |
|
|
292 | (5) |
|
5.6.1.1 Initial generation front |
|
|
292 | (1) |
|
5.6.1.2 Boundary triangulation |
|
|
292 | (1) |
|
5.6.1.3 Zonal division and MG front |
|
|
293 | (1) |
|
5.6.1.4 Generation of tetrahedral elements on a frontal triangle |
|
|
293 | (1) |
|
5.6.1.5 Updating the generation front |
|
|
294 | (1) |
|
5.6.1.6 Termination of the meshing process |
|
|
295 | (1) |
|
5.6.1.7 Strategy in placing interior nodes |
|
|
295 | (2) |
|
|
297 | (2) |
|
5.7 Generation of tetrahedral mesh by sphere packing |
|
|
299 | (13) |
|
|
299 | (2) |
|
5.7.2 Sphere packing and MG algorithm |
|
|
301 | (5) |
|
|
301 | (1) |
|
5.7.2.2 Criteria for sphere packing |
|
|
301 | (1) |
|
5.7.2.3 The controlled space |
|
|
302 | (1) |
|
5.7.2.4 Generation of the initial pack |
|
|
302 | (1) |
|
|
302 | (4) |
|
5.7.2.6 MG by Delaunay point insertion |
|
|
306 | (1) |
|
5.7.2.7 Termination of the meshing process |
|
|
306 | (1) |
|
5.7.3 Efficiency and time complexity |
|
|
306 | (1) |
|
5.7.4 Examples of sphere packing |
|
|
307 | (5) |
|
5.8 Generation of hexahedral mesh |
|
|
312 | (15) |
|
|
312 | (2) |
|
|
314 | (1) |
|
|
314 | (1) |
|
5.8.4 Subdivision, mapping and transformation |
|
|
315 | (1) |
|
5.8.5 Block decomposition |
|
|
316 | (1) |
|
5.8.6 Drag method and extrusion |
|
|
317 | (1) |
|
5.8.7 Meshing by revolution |
|
|
317 | (2) |
|
5.8.8 Grid-based or voxel-based method |
|
|
319 | (1) |
|
5.8.9 Medial surface method |
|
|
319 | (1) |
|
|
320 | (1) |
|
5.8.11 Whisker weaving method |
|
|
321 | (1) |
|
|
322 | (1) |
|
5.8.13 Generation of transition elements |
|
|
322 | (1) |
|
5.8.14 Generation of transition quadrilateral mesh |
|
|
323 | (2) |
|
5.8.15 Generation of transition hexahedral mesh |
|
|
325 | (2) |
6 Mesh optimisation |
|
327 | (58) |
|
|
327 | (1) |
|
6.2 Shape measure and quality coefficient |
|
|
328 | (12) |
|
6.2.1 Common simplex shape measures |
|
|
329 | (6) |
|
6.2.1.1 Minimum solid angle θ |
|
|
329 | (2) |
|
|
331 | (1) |
|
|
331 | (3) |
|
6.2.1.4 Shape measures based on condition number κ |
|
|
334 | (1) |
|
6.2.1.5 Minimum dihedral angle is not a valid shape measure |
|
|
335 | (1) |
|
6.2.1.6 Edge ratio is not a valid shape measure |
|
|
335 | (1) |
|
6.2.2 Relationship between shape measures |
|
|
335 | (1) |
|
6.2.3 Extension to Riemann space |
|
|
336 | (1) |
|
6.2.4 Shape measure for polyhedron |
|
|
337 | (3) |
|
6.3 Optimisation by shifting of nodes |
|
|
340 | (34) |
|
6.3.1 Optimisation of triangular meshes |
|
|
342 | (9) |
|
|
342 | (1) |
|
6.3.1.2 LO of triangular mesh |
|
|
343 | (1) |
|
|
344 | (4) |
|
6.3.1.4 Examples: Node smoothing for triangular meshes |
|
|
348 | (3) |
|
6.3.2 Optimisation of quadrilateral and mixed meshes |
|
|
351 | (5) |
|
6.3.2.1 Shape quality of a mixed mesh of triangles and quadrilaterals |
|
|
351 | (1) |
|
6.3.2.2 GETMe transformation for quadrilaterals |
|
|
352 | (1) |
|
6.3.2.3 Examples: Node smoothing for mixed meshes |
|
|
353 | (3) |
|
6.3.3 Node smoothing for 3D meshes |
|
|
356 | (18) |
|
6.3.3.1 QL smoothing (3D) |
|
|
357 | (1) |
|
6.3.3.2 LO of polyhedral mesh |
|
|
357 | (2) |
|
|
359 | (5) |
|
6.3.3.4 Examples: Node smoothing for tetrahedral meshes |
|
|
364 | (4) |
|
6.3.3.5 Examples: Node smoothing for hexahedral meshes |
|
|
368 | (6) |
|
6.4 Optimisation by topological operations |
|
|
374 | (11) |
|
|
375 | (1) |
|
6.4.2 Quadrilateral meshes |
|
|
375 | (1) |
|
|
376 | (3) |
|
6.4.4 Examples of optimisation by face/edge swap |
|
|
379 | (2) |
|
6.4.5 Optimisation by both geometrical and topological operations |
|
|
381 | (4) |
7 Mesh generation by parallel processing |
|
385 | (44) |
|
|
385 | (2) |
|
7.2 Fundamentals and strategies |
|
|
387 | (3) |
|
7.2.1 Partition of points and insertion algorithm |
|
|
388 | (1) |
|
7.2.2 The zonal insertion scheme |
|
|
389 | (1) |
|
7.3 Parallel Delaunay triangulation in 2D |
|
|
390 | (12) |
|
7.3.1 Points partitioned into cells |
|
|
390 | (1) |
|
7.3.2 Grouping cells into zones |
|
|
390 | (2) |
|
7.3.3 Simultaneous insertion within zones |
|
|
392 | (3) |
|
7.3.4 Elimination of redundant triangles |
|
|
395 | (1) |
|
7.3.5 Minimum vertex-allocation scheme |
|
|
396 | (1) |
|
7.3.6 Efficiency analysis |
|
|
397 | (2) |
|
|
399 | (1) |
|
7.3.8 Test on OpenMP shared memory systems |
|
|
399 | (3) |
|
7.4 Parallel Delaunay triangulation in 3D |
|
|
402 | (14) |
|
7.4.1 Points partitioned into cells |
|
|
402 | (1) |
|
7.4.2 Grouping cells into zones |
|
|
403 | (1) |
|
7.4.3 Simultaneous insertion in 3D |
|
|
403 | (2) |
|
7.4.4 Elimination of redundant tetrahedra |
|
|
405 | (1) |
|
7.4.5 Zonal insertion is Delaunay and complete |
|
|
406 | (1) |
|
7.4.6 Efficiency analysis |
|
|
407 | (3) |
|
|
410 | (1) |
|
7.4.8 Treatment of degeneracy |
|
|
410 | (1) |
|
7.4.9 Test on OpenMP shared memory systems |
|
|
411 | (5) |
|
7.5 Partition of discretised surface for parallel processing |
|
|
416 | (13) |
|
|
416 | (2) |
|
7.5.2 Problem definition and preliminaries |
|
|
418 | (1) |
|
7.5.2.1 Triangulated surfaces |
|
|
418 | (1) |
|
7.5.3 How the surface is cut into n pieces |
|
|
418 | (2) |
|
7.5.4 Euler—Poincare characteristics |
|
|
420 | (1) |
|
7.5.5 Procedure for surface decomposition |
|
|
421 | (4) |
|
7.5.5.1 Read in the surface S and carry out some basic topological computation |
|
|
421 | (1) |
|
7.5.5.2 Determination of the cutting zone |
|
|
421 | (1) |
|
7.5.5.3 Subdivide S by the cutting zone |
|
|
422 | (1) |
|
7.5.5.4 Balancing the two resulting surface parts |
|
|
422 | (1) |
|
7.5.5.5 Distance from the cut line |
|
|
422 | (1) |
|
7.5.5.6 Marching on the surface |
|
|
423 | (1) |
|
7.5.5.7 Optimisation to improve the quality of the cut |
|
|
424 | (1) |
|
|
425 | (2) |
|
|
427 | (2) |
8 Auxiliary meshing techniques |
|
429 | (140) |
|
8.1 Surface verification and preparation |
|
|
430 | (13) |
|
|
430 | (1) |
|
8.1.1.1 Boundary surface of solid objects |
|
|
431 | (1) |
|
8.1.2 Preliminary checks and preparations |
|
|
431 | (1) |
|
|
431 | (1) |
|
8.1.2.2 Normalisation of co-ordinates |
|
|
431 | (1) |
|
8.1.2.3 Check if any node is outside the range [ 1,Np] |
|
|
432 | (1) |
|
8.1.2.4 Find out all the connected node points |
|
|
432 | (1) |
|
8.1.2.5 Check the spacing between nodes |
|
|
432 | (1) |
|
8.1.2.6 Verification of individual elements |
|
|
432 | (1) |
|
8.1.3 Analysis of topology |
|
|
432 | (3) |
|
8.1.3.1 Search for all the edges on boundary surface B |
|
|
433 | (1) |
|
8.1.3.2 Elements connected to each edge |
|
|
433 | (1) |
|
8.1.3.3 Elimination of redundant triangles |
|
|
434 | (1) |
|
8.1.3.4 Surface construction |
|
|
434 | (1) |
|
8.1.3.5 Flagging unused surface parts |
|
|
435 | (1) |
|
8.1.4 Region identification |
|
|
435 | (3) |
|
|
435 | (1) |
|
8.1.4.2 Formation of regions |
|
|
435 | (2) |
|
8.1.4.3 Validity check of the formation of regions |
|
|
437 | (1) |
|
|
438 | (1) |
|
8.1.5 Geometrical aspects |
|
|
438 | (2) |
|
|
438 | (1) |
|
|
439 | (1) |
|
|
440 | (1) |
|
8.1.5.4 Use of background grid |
|
|
440 | (1) |
|
|
440 | (3) |
|
8.2 Multi-grid insertion of non-uniform point distributions (2D) |
|
|
443 | (28) |
|
|
443 | (1) |
|
8.2.2 Review on insertion schemes |
|
|
444 | (3) |
|
|
444 | (1) |
|
8.2.2.2 Biased randomised insertion order |
|
|
445 | (1) |
|
|
445 | (1) |
|
8.2.2.4 Space partition (background grid) |
|
|
446 | (1) |
|
8.2.3 Kd-tree insertion scheme |
|
|
447 | (4) |
|
8.2.3.1 Kd-tree construction |
|
|
447 | (2) |
|
8.2.3.2 Kd-tree partition of points |
|
|
449 | (1) |
|
8.2.3.3 Sequence of cell insertion |
|
|
450 | (1) |
|
8.2.3.4 Kd-tree grid insertion |
|
|
451 | (1) |
|
8.2.4 Multi-grid insertion |
|
|
451 | (4) |
|
8.2.4.1 Regular grid insertion |
|
|
452 | (1) |
|
8.2.4.2 Multi-grid as a repeated application of the regular grid |
|
|
453 | (1) |
|
8.2.4.3 Pseudo-code for the recursive insertion algorithm by multi-grid |
|
|
454 | (1) |
|
8.2.5 Tests on non-uniform point distributions |
|
|
455 | (16) |
|
|
471 | (1) |
|
8.3 Multi-grid insertion of non-uniform point distributions (3D) |
|
|
471 | (23) |
|
|
471 | (1) |
|
8.3.2 Kd-tree insertion (3D) |
|
|
472 | (2) |
|
8.3.2.1 3d-tree partition of space and points |
|
|
472 | (2) |
|
8.3.2.2 Insertion by a sandwich sequence |
|
|
474 | (1) |
|
8.3.2.3 Enhanced kd-tree insertion |
|
|
474 | (1) |
|
8.3.3 Multi-grid insertion |
|
|
474 | (3) |
|
8.3.3.1 Regular grid (3D) |
|
|
475 | (1) |
|
8.3.3.2 Point insertion by regular grid |
|
|
476 | (1) |
|
8.3.3.3 Multi-grid as a repeated application of the regular grid |
|
|
476 | (1) |
|
8.3.4 Tests on non-uniform point distributions |
|
|
477 | (15) |
|
8.3.5 Possibility for parallelisation |
|
|
492 | (2) |
|
|
494 | (1) |
|
8.4 Mesh generation and adaptation by edge refinement |
|
|
494 | (17) |
|
|
494 | (3) |
|
8.4.2 Refinement of discretised surfaces |
|
|
497 | (2) |
|
8.4.2.1 Statement of the problem |
|
|
497 | (1) |
|
8.4.2.2 Algorithm: Refinement of triangular mesh |
|
|
497 | (2) |
|
8.4.3 3D refinement in compliance with a specified node-spacing function |
|
|
499 | (11) |
|
|
499 | (3) |
|
8.4.3.2 Optimisation of element shape |
|
|
502 | (1) |
|
|
503 | (4) |
|
8.4.3.4 Refinement according to an anisotropic metric field |
|
|
507 | (3) |
|
8.4.4 Refinement of non-simplicial elements |
|
|
510 | (1) |
|
8.5 Meshing volume bounded by analytical curved surfaces |
|
|
511 | (6) |
|
|
511 | (1) |
|
8.5.2 MG algorithm by refinement and boundary fitting |
|
|
512 | (3) |
|
8.5.2.1 Initial embedding mesh |
|
|
513 | (1) |
|
8.5.2.2 Mesh refinement over object boundary |
|
|
513 | (1) |
|
8.5.2.3 Projection of nodes close to boundary surface |
|
|
513 | (1) |
|
8.5.2.4 Cutting of intersecting edges |
|
|
514 | (1) |
|
8.5.2.5 Elimination of elements not belonging to the object |
|
|
514 | (1) |
|
8.5.2.6 Boundary point projection |
|
|
514 | (1) |
|
8.5.3 Example of mesh adaptation by refinement |
|
|
515 | (2) |
|
8.6 Merging of tetrahedral meshes |
|
|
517 | (22) |
|
|
517 | (2) |
|
8.6.2 Algorithm: Merging tetrahedral mesh |
|
|
519 | (12) |
|
8.6.2.1 Intersection of boundary surfaces |
|
|
520 | (2) |
|
8.6.2.2 Incorporating intersection loops into meshes Ω and Ω |
|
|
522 | (1) |
|
8.6.2.3 Volume (region) of intersection |
|
|
523 | (2) |
|
8.6.2.4 Identification of intersection volumes (regions) |
|
|
525 | (2) |
|
8.6.2.5 Mesh compatibility |
|
|
527 | (2) |
|
8.6.2.6 Merging of tetrahedral meshes |
|
|
529 | (2) |
|
|
531 | (6) |
|
|
537 | (2) |
|
8.7 Merging of hexahedral meshes |
|
|
539 | (13) |
|
|
539 | (1) |
|
8.7.2 Algorithm: Merging hexahedral mesh |
|
|
539 | (8) |
|
8.7.2.1 Hexahedron decomposed into tetrahedra |
|
|
540 | (3) |
|
8.7.2.2 Merging of hexahedral meshes |
|
|
543 | (1) |
|
8.7.2.3 Recovery of hexahedral elements from tetrahedral elements |
|
|
543 | (1) |
|
8.7.2.4 Compatibility between hexahedral and tetrahedral elements |
|
|
544 | (3) |
|
|
547 | (1) |
|
|
547 | (5) |
|
8.8 Curvilinear finite element mesh |
|
|
552 | (5) |
|
|
552 | (1) |
|
8.8.2 Generation of curvilinear meshes |
|
|
553 | (2) |
|
8.8.2.1 Generation of a linear element mesh |
|
|
553 | (1) |
|
8.8.2.2 Snap of boundary node and mesh subdivision |
|
|
553 | (1) |
|
8.8.2.3 Quality improving by mesh optimisation |
|
|
554 | (1) |
|
|
555 | (2) |
|
8.9 Adaptive refinement analysis |
|
|
557 | (12) |
|
8.9.1 Fundamentals in solid mechanics and error in FE solution |
|
|
557 | (1) |
|
8.9.2 A priori and a posteriori error estimates |
|
|
558 | (1) |
|
8.9.3 Super-convergence and optimal sampling points |
|
|
559 | (4) |
|
8.9.3.1 One-dimensional example |
|
|
559 | (1) |
|
8.9.3.2 Super-convergent patch recovery |
|
|
560 | (2) |
|
8.9.3.3 The Herrmann theorem and optimal sampling points |
|
|
562 | (1) |
|
8.9.4 Adaptive refinement strategy |
|
|
563 | (2) |
|
|
565 | (4) |
References |
|
569 | (30) |
Appendix |
|
599 | (20) |
Index |
|
619 | |