+ All Categories
Home > Documents > Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured...

Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured...

Date post: 11-Jun-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
13
Available online at www.sciencedirect.com ScienceDirect Procedia Engineering 00 (2017) 000–000 www.elsevier.com/locate/procedia 1877-7058 © 2017 The Authors. Published by Elsevier Ltd. Peer-review under responsibility of the scientific committee of the 26th International Meshing Roundtable. 26th International Meshing Roundtable, IMR26, 18-21 September 2017, Barcelona, Spain Automatic Sizing Functions for 3D Unstructured Mesh Generation Jianjun Chen a, *, Zhiwei Liu a , Yao Zheng a , Peng Zheng b† , Jianjing Zheng a , Zhoufang Xiao a , Chuang Yu c a Center for Engineering and Scientific Computation, Zhejiang University, Hangzhou 310027, China b CAEP Software Center for High Performance Numerical Simulation, Beijing 100088, China c College of Mathematics and Information Science, Wenzhou University, Wenzhou 325035, China Abstract We present a novel algorithm to automatically create high-quality sizing functions for unstructured volume mesh generation. Firstly, appropriate techniques are proposed to create a tetrahedral background mesh, in which an initial sizing function is defined by considering geometrical factors and user-specified parameters. Then, a convex nonlinear programming problem is formulated and solved efficiently to obtain a smoothed sizing function. This function corresponds to a mesh satisfying necessary gradient constraint conditions and containing reduced number of elements. Finally, the smoothed sizing function is used by an advancing front surface mesher and a Delaunay tetrahedralization based volume mesher. With the aid of a walk-through algorithm, efficient sizing-value query schemes are developed. Various meshing experiments are presented to demonstrate that the proposed approach enables an accurate and fully automatic unstructured mesh generation pipeline. © 2017 The Authors. Published by Elsevier Ltd. Peer-review under responsibility of the scientific committee of the 26th International Meshing Roundtable. Keywords: Mesh generation; Tetrahedra; Element Sizing; Adaptive; Nonlinear programming 1. Introduction A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing a suitable input for the unstructured meshing pipeline remains a major performance bottleneck in many cases. In general, this input contains a geometry that defines the meshing domain and a sizing function that defines the distribution of element scales over the meshing domain. In this study, our focus is on the sizing function, while it *Corresponding author at: CAEP Software Center, Beijing, China (P Zheng); Zhejiang University, Hangzhou, China (J Chen). Corresponding author E-mail addresses: [email protected] (J Chen), [email protected] (P Zheng)
Transcript
Page 1: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Available online at www.sciencedirect.com

ScienceDirect Procedia Engineering 00 (2017) 000–000

www.elsevier.com/locate/procedia

1877-7058 © 2017 The Authors. Published by Elsevier Ltd. Peer-review under responsibility of the scientific committee of the 26th International Meshing Roundtable.

26th International Meshing Roundtable, IMR26, 18-21 September 2017, Barcelona, Spain

Automatic Sizing Functions for 3D Unstructured Mesh Generation

Jianjun Chena,*, Zhiwei Liua, Yao Zhenga, Peng Zhengb†, Jianjing Zhenga, Zhoufang Xiaoa, Chuang Yuc

aCenter for Engineering and Scientific Computation, Zhejiang University, Hangzhou 310027, China bCAEP Software Center for High Performance Numerical Simulation, Beijing 100088, China

cCollege of Mathematics and Information Science, Wenzhou University, Wenzhou 325035, China

Abstract

We present a novel algorithm to automatically create high-quality sizing functions for unstructured volume mesh generation. Firstly, appropriate techniques are proposed to create a tetrahedral background mesh, in which an initial sizing function is defined by considering geometrical factors and user-specified parameters. Then, a convex nonlinear programming problem is formulated and solved efficiently to obtain a smoothed sizing function. This function corresponds to a mesh satisfying necessary gradient constraint conditions and containing reduced number of elements. Finally, the smoothed sizing function is used by an advancing front surface mesher and a Delaunay tetrahedralization based volume mesher. With the aid of a walk-through algorithm, efficient sizing-value query schemes are developed. Various meshing experiments are presented to demonstrate that the proposed approach enables an accurate and fully automatic unstructured mesh generation pipeline. © 2017 The Authors. Published by Elsevier Ltd. Peer-review under responsibility of the scientific committee of the 26th International Meshing Roundtable.

Keywords: Mesh generation; Tetrahedra; Element Sizing; Adaptive; Nonlinear programming

1. Introduction

A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing a suitable input for the unstructured meshing pipeline remains a major performance bottleneck in many cases. In general, this input contains a geometry that defines the meshing domain and a sizing function that defines the distribution of element scales over the meshing domain. In this study, our focus is on the sizing function, while it

*Corresponding author at: CAEP Software Center, Beijing, China (P Zheng); Zhejiang University, Hangzhou, China (J Chen). �Corresponding author E-mail addresses: [email protected] (J Chen), [email protected] (P Zheng)

Page 2: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

2 Author name / Procedia Engineering 00 (2017) 000–000

is noted that preparing high-quality geometry inputs is a very active research topic as well. A good sizing function should define smaller element scales in the region where geometrical and physical

characteristics exist and larger scales elsewhere. Moreover, the gradient of element scales must be limited so that the quality of elements in gradation regions is ensured. In computational aerodynamics, grid sources are used by many meshing codes to define sizing functions [1-3]. For simple configurations, the time cost of defining sources may be affordable. However, hundreds of grid sources may be required for complicated models (e.g., a fully loaded fighter), and the interactive process that defines these sources is error-prone and time-consuming. By contrast, the subsequent automatic meshing pipeline may only consume minutes of wall-clock time. For these complicated models, if not considering the geometry preparation step, the performance bottleneck for unstructured mesh generation lies in the phase of defining sizing functions rather than the mesh generation itself.

For many years, solution-adaptive techniques have been expected to be able to remove the dependence of analysis accuracy on initial mesh configurations. However, it was reported that an adapted solution might be invalid if it originates from a poor-quality mesh [4]. In fact, a good initial mesh can either eliminate the need for adaptive mesh refinement or enhance the performance of many adaptation methods. Therefore, even configured with an adaptive solver, a suitable sizing function is still indispensable for initial mesh generation.

Many automatic algorithms have been designed to define a sizing function in a less intensive user-interactive manner. A fundamental feature that can be used to classify these algorithms is the background mesh adopted [3-7], The most prevailing background mesh adopted so far is the Cartesian mesh because the automatic creation of a Cartesian mesh is much easier than the creation of a body-fitted mesh. However, since the tree-level difference of neighboring Cartesian cells is required to be less than one, the refinement of a single cell must be propagated into its neighboring cells. Therefore, the Cartesian mesh based scheme is expensive in terms of computational time and storage requirement [3-6]. This shortcoming even became one of the reasons that Pirzadeh gave up his early Cartesian mesh based element-sizing scheme [3, 4]. In contrast to the Cartesian background mesh, the unstructured mesh has a more flexible topological structure and its local update does not need to be propagated; hence, it can represent a sizing function with reduced memory and timing requirements [7].

Recently, we have proposed a novel automatic sizing function defined at unstructured background mesh for high-quality surface mesh generation [8, 9]. The proposed algorithm starts from the unstructured tessellation of the input CAD model, in which an initial sizing function is defined by considering geometrical factors and user-specified parameters. Then, a convex nonlinear programming (NLP) problem is formulated and solved efficiently to obtain a smoothed sizing function. Nevertheless, the sizing function defined at a surface mesh could not be used for the accurate definition of the distributions of volume elements. Grid sources could be used in this circumstance [1-3]; however, the process of configuring appropriate sources is labor intensive. Thus, a few automatic sizing-value computing strategies prevail in unstructured volume mesh generation. For instance, a few advancing front meshers attempt to limit the ratios of the scales of new elements and their directly neighbours within a reasonable range (for instance, above 0.55 but below 2.0 [10]). A few Delaunay triangulation (DT) meshers computes the sizing values at new mesh nodes by linear interpolation of the sizing values at relevant old mesh nodes, for instance, by interpolating the sizing values at the corner nodes of the element containing the new node [11-14] or at the end nodes of the mesh edge containing the new node [15]. Evidently, these strategies do not ensure an accurate control of the distribution of element scales, and unexpected small or large elements could appear locally. Besides, the gradation of element scales may be out of control; consequently, a few stretched elements must be introduced to terminate the algorithm.

In this study, a novel sizing function is proposed for unstructured volume mesh generation. It is defined at a volume background mesh such that the distribution of volume elements scales is accurately defined everywhere in the problem domain. The smoothness of this sizing function could be ensured by solving a similar NLP problem [9]. Theoretical analyses reveal that this NLP problem is convex and has a global optimal solution. Thus, the gradation of element scales could be limited as the user expects. By connecting the proposed sizing function with the in-house surface [16] and tetrahedral meshers [13, 14], we develop a fully automatic unstructured mesh generation pipeline. Given a valid CAD model, a high-quality tetrahedral mesh could now be generated without any user-interactions. The tested models include a fully loaded fight aircraft. This verifies the applicability of the proposed algorithm to geometric configurations with industry level of complexity.

2. Overview of the algorithm

Page 3: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 3

The proposed algorithm inputs a CAD model, and outputs a smoothed sizing function defined at an unstructured tetrahedral background mesh. Basically, two steps are involved in this procedure. The first step is to initialize the sizing function, which first meshes the surfaces to get an appropriate surface background mesh, then creates a boundary constrained tetrahedral background mesh, and finally computes sizing values at background mesh nodes by combining the user factors and automatically identified geometric factors. The initial sizing function certainly contains abrupt changes of sizing values; thus, elements with high aspect ratios will be consequently created. To avoid this undesirable result, a smoothing scheme is employed in the second step for the sizing function, which could result in a gradient-limited sizing function by solving a constrained optimization problem. See Sections 3 and 4 for more discussions on these two steps, respectively.

To verify the practical usability of the proposed algorithm, we develop a fully automatic tetrahedral meshing pipeline, as seen in Figure 1. The developed workflow inputs a CAD model, then creates a smoothed sizing function by the proposed algorithm, and finally, meshes the surface and interior of the model by an advancing front mesher [16] and a Delaunay triangulation based mesher [13, 14], respectively. Both meshing procedures compute the sizing values at arbitrary mesh nodes by an interpolation scheme defined on the smoothed sizing function. See Section 5 for more discussions on the interpolation scheme.

Figure 1. The proposed fully automatic unstructured mesh generation pipeline.

3. Initialization of the sizing function

3.1. Creating the background mesh

The following steps are executed to create the background mesh of the sizing function. A coarse surface mesh is created on the input CAD model. The element scales of this mesh are specified by a

coarsened sizing function, which is created and smoothed by employing the scheme presented in [9].

Page 4: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

4 Author name / Procedia Engineering 00 (2017) 000–000

A Delaunay tetrahedralization of the surface mesh points (together with 8 corner points of an outbox covering the problem domain) is built up and those lost surface edges and faces are recovered by inserting Steiner points at these edges and faces [13, 14]. As a result, a boundary conforming tetrahedral mesh is obtained, in which all surface edges and faces are either kept as original or recovered as concatenations of sub-edges and sub-faces.

Those tetrahedral elements located in the exterior of the problem domain are identified by a flood-filling scheme. We choose not to remove these exterior elements since their existence could simplify the implementation of a fast and robust interpolation scheme for sizing-value query. See Section 5 for the explanation.

If the sizing values at all corner nodes of an interior element are very small, the sizing value at arbitrary interior points of the element, following a linear formula, could be very small as well. Consequently, adapted to this sizing function, an interiorly unnecessarily refined mesh could be created (see Figure 2 for a 2D example). In [7], it is proposed to relief this banding issue by replacing the linear interpolation scheme with a natural neighboring interpolation scheme. Instead, we insist in adopting the linear interpolation scheme because it is one of the basic assumption that supports our theoretical analysis of the sizing-function smoothing algorithm. Therefore, we suggest solving this banding issue by inserting a few background mesh nodes in the domain interior and setting large sizing values at these mesh nodes. Presently, we use the mesh refinement scheme provided by TetGen [17] to achieve this goal (the command line calling TetGen is: TetGen -pYYq2).

(a) (b)

Figure 2. A 2D example illustrating the banding issue. (a) The background mesh at which the sizing function is defined. (b) The adapted mesh.

3.2. Initializing the sizing values at background mesh nodes

The sizing values at the eight corners of the outbox and those interior nodes are initialized to be maxh , which is specified by the user to limit the maximal sizing value. However, the sizing values at surface boundary nodes are computed by considering the impacts of geometric features of the input CAD model and the user parameters. Here, the considered geometric features include curvatures and proximities.

3.2.1 Computing sizing values adapted to curvatures. For a point ( p ) on a surface, assuming that sr is the principal curvature having a maximal absolute value at p , a curvature adapted sizing value at p is computed by [18]

2 sin( / 2)c ch r s . (1)

Here, c is a user parameter that determines how large the central angle should be to define one mesh segment. For instance, when 10c , a circular curve should be subdivided into 36 segments.

In the case that a mesh node is classified on more than one surface, a value of ch should be computed on each surface by Equation 1, and the final ch value at this point is the least one of these computed values.

3.2.2 Computing sizing values adapted to proximities. Proximities are classified as 1D, 2D and 3D ones [19], which are evaluated by local distances between two points, two curves and two surfaces, respectively. 1D proximity could be evaluated by the curve length, while it is nontrivial to compute 2D and 3D proximity distances. Presently, we only consider the 2D proximities defined on small CAD surfaces, for which the proximity distances are approximately equal everywhere. Therefore, a simple algorithm can be applied to compute a global proximity distance for such surfaces:

2.0 /s s sd A l ,

where sA and sl are the area and perimeter of the surface, respectively. For background nodes located on this surface, their proximity-adapted sizing values are

1 /d s dh d ,

Page 5: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 5

where the user parameter d defines the expected number of elements within the proximity distance. Apart from this 2D proximity, another proximity considered in this study is the curve length, i.e., the distance

between the end points of a curve. Assuming that 0dh is the smallest length of the curves adjacent to a background node, the final proximity-adapted sizing value at this node is

1 0min( , )d d dh h h .

3.2.3 User options. The role of user expertise is irreplaceable in some meshing tasks. The proposed algorithm provides the user with options to initialize the sizing function via the following parameters:

(1) Global user parameters c , d , minh and maxh ; (2) A local c value for any curve or surface; (3) A local d value for any curve or surface; (4) A predefined sizing value or function for any geometry point, curve or surface. The first group of user parameters is mandatory and other parameters are optional. minh and maxh limit the

minimal and maximal sizing values. The second and third groups of local parameters, if they are set, will override their global counterparts defined in the first group. In most meshing tasks, including those to be demonstrated in Section 6, the user only needs to set the mandatory parameters.

The initial sizing value is computed by combining the influence of geometry factors and user parameters:

min maxmax( ,min( , , , ))a c d uh h h h h h ,

where ch and dh are the sizing values adapted to local curvature and proximity features, respectively, and uh is an optional sizing value predefined by the user (if any).

4. Smoothing the sizing function

4.1. The gradient-limited condition over a tetrahedral region

In [9], we deduce the gradient-limited condition of a sizing function over a triangular region as below, ( ) ln ( )h p p , (2)

where ( )h p refers to the sizing function over the region , denotes the gradient operator, and is the user parameter limiting the expected aspect ratio of two mesh edges meeting at a common node (referred to as the progressive factor hereafter, see [9] for the definition.).

Not surprisingly, this condition also holds for the sizing function over a tetrahedral region (denoted by hereafter). Assume that a linear sizing function is defined over T , i.e.,

3

0

( , , ) ( , , ) ( , , )i ii

h x y z w x y z h x y z

,

where ( 0 ~ 3)ih i are the sizing values at four corners of the tetrahedron, and ( , , )( 0 ~ 3)iw x y z i are the barycentric coordinates. Evidently, the gradient of ( , , )h x y z over is constant:

3 3 3

0 0 0

, , , , , , 1const , , , ,

6

T T

i i i i i ii i i

h x y z h x y z h x y zh b h c h d h

x y z V

where V is the volume of the tetrahedron. Let 0 ~ 3i , ( 1)%4j i , ( 2)%4k i , and ( 3)%4m i , then

1

1

( 1) 1

1

j j

ii k k

m m

y z

b y z

y z

; 1

1

( 1) 1

1

j j

ii k k

m m

z x

c z x

z x

;

mm

kk

jji

i

yx

yx

yx

d

1

1

1

)1( 1 . (3)

Here, ( , , )( 0 ~ 3)i i ix y z i are the coordinates of the corners of the tetrahedron. Therefore, the sizing function over needs to satisfy the following equation.

2 2ln ( )Th H KH , (4)

where

Page 6: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

6 Author name / Procedia Engineering 00 (2017) 000–000

0 1 2 3

20 , 3

( , , , )

[ ] ; ( ) (36 ).

T

ij i j ij i j i j i j

h h h h

k k b b c c d d V

H

K

Obviously, K is a symmetric matrix, and the principal diagonal elements are positive.

4.2. The constrained optimization problem

The smoothing procedure only considers the set of interior background elements, denoted by { | 1, 2, , }iE e i m . The corner nodes of these elements are denoted by { | 1, 2, , }iP p i n . Let the sizing

value at a node be ( )h p , and the gradient of the sizing function over an element be ( )h e . Given a progressive factor , to limit the gradient of the sizing function defined on { , }tM E P , the following equation must be met:

2 2( ) lnih e , for all ie E .

If a sizing function does not satisfy the above condition, it can be corrected by solving the following constrained optimization problem:

20

1

2 2

min 0

min ( ( ) ( ))

. . ( ) ln ( ) ( =1,2,..., )

( ) ( ) ( =1,2,..., )

n

i ii

Ti i i i

i i

h p h p

s t h e i m

h h p h p i n

H K H . (5)

Here, 0 ( )ih p and ( )ih p are the initial and corrected sizing values at a mesh node ip . Note that the initial sizing values are usually calculated from certain geometric or physical rules. The corrected sizing value at a mesh node is required to be less than its initial value because setting larger values may degrade the mesh resolution and eventually affect the simulation accuracy. Meanwhile, to avoid overly small sizing values, a user parameter minh is set to limit the minimal sizing value. The goal is to minimize the change to the initial sizing values in the least squares sense. As the sizing values are only allowed to be reduced, the optimal sizing values must be as large as possible to achieve this target. The solution of NLP (5) will result in a sizing function adapted by a mesh containing fewer elements than those solutions that enforce gradient-limiting constraints without considering the optimization goal [20].

4.3. Theoretical Analysis of the optimization problem

For the sake of generality, a non-uniform sizing function is concerned in the following discussions where 1.0 . If the preferred sizing function is a uniform one where 1.0 , the sizing value at each node should be the same, and the optimal solution of NLP (5) is achieved when

0 1 0 2 0( )= min( ( ), ( ),..., ( ))i nh p h p h p h p .

Lemma 1 The feasible region of NLP (5) is a convex set.

Proof. Let 1 2( ( ), ( ),..., ( ))nh p h p h pv be the solution of NLP (5), the feasible region of the solution vector is:

1 2 ,

where 2

1 { | ln ( ) for each background element ( =1,2,..., )}Ti i i ie i m v H K H

2 min 0{ | ( ) ( ) for each background node ( =1,2,..., )}i i ih h p h p v i n v .

The constraint defined on a background element is * 2 2

0 1 2 3( , , , ) 36 ln ( ) 0Ti i iF F h h h h V H K H ,

where V is the volume of ie , 0 3~h h are the sizing values defined at corners of ie , and * 2 *

0 , 336i i jk

j kV k

K K ,

*j( )jk k j k j kk b b c c d d

The expression of F can be rewritten as

Page 7: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 7

0 1 2 3 0 1 2 3( , , , ,1) ( , , , ,1)TF h h h h h h h h M ,

where 0 , j 4

2 2

0 , 3 0 , 3

36 ln ( ) 4, 4

0 otherwise

ij i

i j i j i j

ij

m

b b c c d d i j i j

m V i j

M

is the coefficient matrix.

The Hessian matrix of F is 2 2 2 T

H F M M A A , where

0 1 2 3

0 1 2 3

2 1 2 3

0 0 0 0

b b b b

c c c c

d d d d

A .

Because 32( ) ( ) 0, ( )T TH R x M x Ax Ax x 0 x , HM is a semi-positive definite matrix. Therefore, F is a

convex function, and the sublevel set 0F defines a convex set [21]. Since 1 is the intersection of a set of such convex sets, it is also a convex set. Meanwhile, 2 is a convex set

because it is composed of a set of box constraints. Therefore, 1 2 is a closed convex set. □

Theorem 1 NLP (5) is a convex programming problem, and any local optimal solution of this problem is also its global optimal solution.

Proof. The objective function of NLP (5)

20

1

( ) ( ( ) ( ))n

i ii

f h p h p

v

is a least squares function. Its Hessian matrix is a positive definite matrix: 2 ( ) 2H f M v I ,

where I is the unit matrix, and 0, ( )T n

H R x M x x 0 x .

Therefore, the objective function is a convex function. Meanwhile, since the feasible region of NLP (5) is a convex set (according to Lemma 1), NLP (5) is a convex programming problem.

Note that minh is a user parameter. It can always be set by a value satisfying

0 1 0 2 0min( ( ), ( ),..., ( ))min nh h p h p h p .

Then, there exists a satisfying

0 1 0 2 0min( ( ), ( ),..., ( ))min nh h p h p h p .

Let ( )ih p , 1.0 , 2 2( ) 0 ln ( )T

i i i ih e H K H .

Hence, the vector 1 2( ( ), ( ),..., ( )) ( , ,..., )nh p h p h p v is a feasible solution of NLP (5). If 1.0 , this solution strictly satisfies the constraints, which means this solution is an interior point of the feasible region of NLP (5).

Finally, it is known that, for a convex programming problem with at least one interior point in its feasible region, any local optimal solution of this problem is also its global optimal solution [21]. □

4.4. The smoothing algorithm

The initial sizing function is smoothed by solving NLP (5). Among different numerical schemes for the solution of NLPs, the interior point method (IPM) [22, 23] is adopted because of its good performance for problems with

Page 8: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

8 Author name / Procedia Engineering 00 (2017) 000–000

many inequality constraints. See [9] for more details about the solution scheme.

5. Computing sizing values by interpolation

Once the sizing function is smoothed, it is ready for sizing-value queries by mesh generation algorithms. The efficiency of this query heavily impacts the efficiency of meshing algorithms because the number of such queries in a meshing procedure is at the same magnitude as the number of final mesh nodes.

Given a point in the interior of the problem domain, the first step of computing the sizing value at this point is to search the base element containing this point. Note that the background mesh we adopt in this study covers a box region (see Figure 1). Therefore, a simple walk-through algorithm [24] is good enough for this base-element search procedure, and the convergence of this algorithm is always ensured for a convex tetrahedralization.

The walk-through algorithm requires the neighboring indices of candidate triangles and an initial guess for the base element. If the intrusion to the meshing code is allowed, we could develop some specific strategies to compute this initial guess. For instance, an advancing front mesher usually meshes the domain by repeating the advancing front step, where a front is first selected and a new node is then created. When querying the base element of this new node, the base elements of the front nodes (which have been computed in previous advancing front steps) can be chosen as the initial guess. The Delaunay triangulation based mesher adopted in this study refines the present tetrahedralization by adding mesh nodes at element centroids. For an element, the base elements of its corners can be chosen as the initial guesses of the base element of its centroid point.

Our goal is to develop a general interpolation scheme that connects any unstructured meshing algorithm by a sizing-value query routine only. In this way, we could minimize the intrusion to existing mesh algorithms when incorporating these algorithms with the developed sizing functions. Thus, we simply use the returned base element in the last successful query as the initial guess of the present query. This strategy demonstrates its efficiency in our tests, in which the input points for consecutive sizing-value queries are geometrically close in most cases.

6. Numerical experiments

All the tests to be presented are conducted on a personal computer (CPU: i7-4790 4.0GHz Memory: 16GB). Three geometry models are tested to verify the comparative advantages of the proposed algorithm over state-of-the-arts algorithms. Only those mandatory user parameters mentioned in Section 3.2.3 are input, and the default values of c , d and are used, i.e., 10c , 2d and 1.2 . Nevertheless, the other two mandatory user parameters, i.e., minh and maxh , need be set carefully to prevent the generation of extremely small or large elements.

6.1. The tests on the cuboid-ellipse model

The cuboid-ellipse model is the Boolean union result of a stretched cuboid and an ellipse, and the surface mesh is created by the advancing front mesher, adapted to the smoothed sizing function created by the proposed algorithm (see Figures 3). After that, two different sizing computing strategies are compared for the tetrahedral meshing algorithm. The first strategy is the proposed one, adopting the same sizing function as that adopted for surface meshing. The second strategy is the default one adopted in our Delaunay refinement algorithm in the case of no user-specified sizing functions [11-14]. It computes the average length of surface edges adjacent to a surface node and assigns this length as the sizing value at this node. The boundary constrained Delaunay tetrahedralization of all surface nodes represents an initial background mesh of the sizing function (see Figure 4a). After that, the mesh is refined by creating a batch of points at centroids of present elements and inserting these new points in one iteration. The sizing value at a new point is simply computed as the average of the sizing values at corner nodes of the element containing this new point. In this way, we could get a new sizing function after each iteration of point insertion by using the refined mesh as the background mesh (see Figures 4b~4d). The mesh refinement is finished until no insertion of new points causes mesh edges longer than the sizing values at both end nodes of these edges.

Since high curvatures exist in the elliptic surface, the sizing values at nodes on this surface are relatively small. Not surprisingly, the banding phenomenon is observed in the mesh created by the second sizing computing strategy, in which the scales of elements covering the interior of the ellipse are unnecessarily small (see Figure 4d).

Page 9: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 9

Nevertheless, this banding issue disappears when the proposed sizing function is adopted. A few interior points are inserted in the interior of the ellipse when creating the background mesh. Consequently, well-graded sizing values are observed in this region, and the scales of elements there are no longer unnecessarily small, see Figure 5.

By resolving this banding issue, a mesh with more reasonable magnitude is created by the proposed algorithm, which contains 57,415 tetrahedral elements after quality improvement. This number is 31% smaller than the number of elements (i.e., 83,551 tetrahedra) created by the second sizing computing strategy.

(a) (b) (c)

Figure 3 The cuboid-ellipse test case. (a) The CAD model. (b) The smoothed sizing function. (c) The surface mesh.

(a) (b) (c) (d)

Figure 4 The sizing functions defined at different background meshes (cut view): (a) at the boundary constrained Delaunay tetrahedralization of all surface nodes; (b) at the refined mesh after inserting 5 batches of interior points; (c) at the refined mesh after inserting 10 batches of interior

points; (d) at the refined mesh after inserting 21 batches of interior points. (d) is also the final refinement result.

(a) (b)

Figure 5 Cut views of the proposed sizing function and a tetrahedral mesh adapted to this function. (a) The sizing function. (b) The mesh.

6.2. The tests on the bullet-wall model

The bullet-wall model includes a group of surfaces representing a bullet and 6 exterior planes of a box representing the walls. As seen in Figure 6a, the front wall is very close to the bullet. In this test, we compare two different sizing computing strategies used to create the surface and volume meshes.

The first strategy computes the scales of surface elements by a smoothed sizing function defined at a surface background mesh (see [9]) and the scales of volume elements by the sizing functions like those illustrated in Figure 4. Since the smoothing procedure is performed on the surface background mesh, the second strategy does not

Page 10: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

10 Author name / Procedia Engineering 00 (2017) 000–000

consider the volume proximity between the bullet and the front wall during surface mesh generation. Consequently, a uniform coarse mesh is created on the front-wall surface, and a few highly stretched tetrahedral elements fill in this proximity region (see Figures 6b and 6c).

The second strategy is the proposed one, which computes scales of both surface and volume elements by a smoothed sizing function defined at a volume background mesh. In this test, the sizing values around the center of the front wall are reasonably reduced in the smoothing procedure of the sizing function. Accordingly, a locally refined mesh is created on the front-wall surface (see Figures 7a and 7b), and reasonably smaller but better shaped tetrahedral elements fill in the proximity region between the bullet and the front wall (see Figure 7c).

(a) (b) (c)

Figure 6. The surface and volume meshes without considering the volume proximity between the bullet and the front wall. (a) The overall surface mesh (cut view). (b) The surface mesh on the front wall. (c) The volume mesh (cut view).

(a) (b) (c)

Figure 7. The surface and volume meshes created by our proposed algorithm, which considers the volume proximity between the bullet and the front wall in the smoothing procedure of the sizing function. (a) The overall surface mesh (cut view). (b) The surface mesh on the front wall. (c)

The volume mesh (cut view).

6.3. The tests on the F16 aircraft model

The final test model is an F16 aircraft model. In this test, a tetrahedral mesh for the exterior flow simulations of this aircraft model is created by the proposed algorithm. Figures 8a presents the smoothed sizing function defined at a coarse tetrahedral mesh, and Figure 8b presents the adapted surface and volume meshes. To better depict the sizing function, a close-up view of the sizing function over an upper wing surface is presented in Figure 9a. Accordingly, the adapted surface mesh is presented in Figure 9b.

With the surface mesh presented in Figure 8b as the input, we create another tetrahedral mesh by the default sizing-value computing strategy of our tetrahedral mesher in the case of no user-specified sizing functions (see Figure 4 for the illustration of this strategy). The banding phenomenon is very prominent in this second mesh (see Figures 10b), while a more reasonable distribution of element scales is achieved by our proposed algorithm (see Figures 10a). This difference reflects on the total numbers of elements included in these two meshes: the first mesh contains 4,561,911 elements, while this number is doubled for the second mesh, i.e., increasing up to 9,277,696.

Page 11: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 11

(a) (b)

Figure 8. An illustration for the proposed algorithm using an F16 aircraft model. (a) The smoothed sizing function defined at a coarse tetrahedral mesh. (b) The surface and volume meshes adapted to this sizing function (cut view).

Figure 9. A close-up view of the sizing function over an upper wing surface and the adapted surface mesh. (a) The function. (b) The mesh.

(a) (b)

Figure 10. Comparison between (a) our volume meshing result with (b) the meshing result adapted to the conventional sizing computing strategy. Note that the banding phenomenon is very prominent in (b).

6.4. Computing timing data

Table 1 lists the main statistics of the tests conducted in this study, where background elements refer to those interior ones. A breakdown of the timing data is listed in Table 1 as well. As observed, the smoothing procedure of sizing functions consumes a big percentage of the overall time. However, it is worth noting that the proposed algorithm is executed in a fully automatic fashion. Compared with those conventional strategies that control the distribution of element scales with labour-intensive manual interactions, the efficiency of the proposed automatic algorithm is acceptable for this highly complicated configuration. For instance, we used to configure grid sources under the user interface of our in-house pre-processing system [25]. A typical configuration of sources adopted for

Page 12: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

12 Author name / Procedia Engineering 00 (2017) 000–000

the half F16 aircraft model includes 131 sources. The manual process of creating these grid sources are time consuming, and many hours of manual interactions are required. In the present test, the proposed algorithm consumed about half an hour to automatically create a high-quality sizing function for the full F16 aircraft model. Hopefully, this time could be reduced by half if the half aircraft model is tested.

Further improvement on the efficiency of the element-sizing smoothing procedure is possible. One direction is to reduce the size of the background mesh to a more reasonable level, since the present strategies of creating the background meshes are relatively conservative. Another direction is to employ an efficiently parallelized solver for NLP (5). However, to our knowledge, no such solves exist in the open-source community.

We used to configure grid sources to define the sizing function [25]. The configuration adopted for the F16 aircraft model include more than one hundred sources. The manual process of creating these grid sources may consumes many hours of interaction time. It is evident that the proposed algorithm, although its further improvement is necessary, substantially enhances the efficiency of element-sizing specification.

Table 1. The main performance statistics.

Index type Index name Cuboid-ellipse Bullet-wall F16

Basic indices

#Curves 38 102 2,816 #Surfaces 10 47 1,169 #Background elements 11,005 3,4938 416,910 #Surface elements 8,796 5,796 23,7709 #Volume elements 57,415 12,4043 4,561,911

Timing data(s)

Initializing sizing function 0.8 1.8 11.7 Smoothing sizing function 35.3 130.8 1873.3 Surface mesh generation 1.7 1.3 43.8 Tetrahedral mesh generation 0.3 0.9 23.1 Mesh quality improvement 1.7 3.6 131.7 Total 39.8 138.4 2083.6

Table 2 lists the statistics of the sizing-value query scheme employed in the surface and tetrahedral meshing procedures, where the path length refers to how many elements the walk-through scheme visits for one base-element search calling. During the surface meshing processes of the three test models, the average path lengths of all queries are 8.66, 6.69 and 9.17, respectively, and the sizing-value queries consume 11.6% of the surface meshing time at most (for the F16 case). During the tetrahedral meshing processes, the average path lengths of all queries are reduced to 3.65, 2.87 and 2.31, respectively, and the sizing-value queries consume 12.2% of the volume meshing time at most (for the bullet-wall case).

Table 2. The sizing-value query statistics.

Index type Index name Cuboid-ellipse Bullet-wall F16

Surface mesh generation

#Query times 28,671 20,672 871,086Average path length 8.66 6.69 9.17Total computing time of these queries (s) 0.15 0.09 5.1Percentage of the total surface meshing time (%) 8.8 6.9 11.6

Tetrahedral mesh generation

#Query times 11,985 63,772 1,313,606Average path length 3.65 2.87 2.31Total computing time of these queries (s) 0.03 0.11 2.1Percentage of the total tetrahedral meshing time (%) 10.0 12.2 9.1

7. Concluding remarks and future works

Creating an accurate and high-quality sizing function remains a main performance bottleneck for unstructured mesh generation. The conventional scheme based on grid sources involves intensive manual labors. The automatic scheme proposed in [9] is only suitable for surface mesh generation, but not for 3D unstructured mesh generation. In some circumstances, the simple sizing-value computing strategy adopted in the present tetrahedral mesher is unable to provide an accurate and high-quality distribution of element scales. Therefore, a new automatic sizing function is proposed for 3D unstructured mesh generation. This function is defined at a tetrahedral background mesh, and its smoothness is guaranteed by solving a convex NLP problem. Experiments of complicated aerodynamics configurations show that the proposed algorithm is applicable to meshing tasks with industry level of complexity.

Page 13: Automatic Sizing Functions for 3D Unstructured Mesh Generation · A great success of unstructured mesh technologies has been witnessed in the past few decades. However, preparing

Author name / Procedia Engineering 00 (2017) 000–000 13

An interest of our ongoing research is to extend NLP (5) for anisotropic meshing problem by introducing the Riemannian metric. Besides, the sizing function mainly considers the impacts of geometric factors and a few user parameters. Nevertheless, if necessary, the sizing function could consider more user inputs.

Acknowledgements

The authors appreciate the joint support for this project by Zhejiang Provincial Natural Science Foundation (Grant Nos. LR16F020002 and LQ14A020003), the National Natural Science Foundation of China (Grant Nos. U1630121, 11432013, 11172267, 11402229) and Science Challenge Project of China (No. JCKY2016212A502). The authors acknowledge Mr. Dingding Wang at Wenzhou University for his contribution to this work.

References

[1] Aubry R, Karamete K, Mestreau E, Dey S, Löhner R. Linear sources for mesh generation. SIAM Journal on Scientific Computing 2013; 35: A886-A907.

[2] Zheng Y, Weatherill NP, Turner-Smith EA. Interactive geometry utility environment for multi-disciplinary computational engineering. International Journal for Numerical Methods in Engineering 2002; 53:1277-1299.

[3] Pirzadeh, SZ. Advanced unstructured grid generation for complex aerodynamic applications. AIAA Journal 2010; 48:904-915. [4] Kania LK, Pirzadeh, SZ. A geometrically-derived background function for automated unstructured mesh generation. Proceedings of the

17th AIAA Computational Fluid Dynamics Conference, Toronto, Canada, 2005; AIAA 2005-5240. [5] Deister F, Tremel U, Hassan O, Weatherill NP. Fully automatic and fast mesh size specification for unstructured mesh generation.

Engineering with Computers 2004; 20:237-248. [6] Quadros W, Vyas V, Brewer M, Owen SJ, Shimada K. A computational framework for automating generation of sizing function in

assembly meshing via disconnected skeletons. Engineering with Computers 2010; 26:231-247. [7] Owen SJ, Saigal S. Neighborhood based element sizing control for finite element surface meshing. Proceedings of 6th International

Meshing Roundtable, 1997:143–154 [8] Xiao Z, Chen J, Zheng Y, Zeng L, Zheng J. Automatic unstructured element-sizing specification algorithm for surface mesh. Procedia

Engineering 2014; 82:240-252. [9] Chen J, Xiao Z, Zheng Y, Zheng J, Li C, Liang K. Automatic sizing functions for unstructured surface mesh generation. International

Journal for Numerical Methods in Engineering 2017; 109: 577-608. [10] Peraire J, Peiró J, Morgan K. Advancing front grid generation. Chapter 17 of Hand Book of Grid Generation. New York: CRC Press. 1999. [11] Weatherill NP, Hassan O. Efficient three-dimensional Delaunay triangulation with automatic point creation and imposed boundary

constraints. International Journal for Numerical Methods in Engineering 1994; 37:2005-2039. [12] Lewis RW, Zheng Y, Gethin DT. Three-dimensional unstructured mesh generation: part 3. volume meshes. Computer Methods in Applied

Mechanics and Engineering 1996; 134: 285-310. [13] Chen J, Zhao D, Huang Z, Zheng Y, Gao S. Three-dimensional constrained boundary recovery with an enhanced Steiner point suppression

procedure. Computers and Structures 2011; 89: 455-466. [14] Chen J, Zheng J, Zheng Y, Si H, Hassan O, Morgan K. Improved boundary constrained tetrahedral mesh generation by shell transformation.

Applied Mathematical Modelling 2017; 51: 764-790. [15] George PL. Improvements on Delaunay-based three-dimensional automatic mesh generator. Finite Elements in Analysis 1997; 25: 297-317. [16] Zhao D, Chen J, Zheng Y, Huang Z, Zheng J (2014) Fine-grained parallel algorithm for unstructured surface mesh generation. Computers

& Structures, 2015; 154:177-191. [17] Si H. TetGen, a Delaunay-based quality tetrahedral mesh generator. ACM Transactions on Mathematical Software 2015; 41: 11:1-11:36. [18] Xie L, Chen J, Liang Y, Zheng Y. Geometry-based adaptive mesh generation for continuous and discrete parametric surfaces. Journal of

Information & Computational Science 2012; 9:2327-2344. [19] Quadros W, Vyas V, Brewer M, Owen SJ, Shimada K. A computational framework for automating generation of sizing function in

assembly meshing via disconnected skeletons. Engineering with Computers 2010; 26:231-247. [20] Pippa S, Caligiana G. GradH-Correction: guaranteed sizing gradation in multi-patch parametric surface meshing. International Journal for

Numerical Methods in Engineering 2005; 62:495-515. [21] Stephen B, Vandenberghe L. Convex optimization (Seventh printing with corrections). Cambridge: Cambridge University Press. 2009. [22] Nesterov Y. Nemirovskii A, Ye Y. Interior-point polynomial algorithms in convex programming. Philadelphia: Society for Industrial and

Applied Mathematics. 1994. [23] Wächter, A. An Interior Point Algorithm for Large-Scale Nonlinear Optimization with Applications in Process Engineering. PhD Thesis,

Carnegie Mellon University, Pittsburgh, PA, USA, January 2002. [24] Mücke EP, Saias I, Zhu B. Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations.

Proceedings of the 12th Annual Symposium on Computational Geometry, 1996: 274–283. [25] Xie L, Zheng Y, Chen J, Zou J. Enabling technologies in the problem solving environment HEDP. Communications in Computational

Physics, 2008; 4:1170-1193.


Recommended