CURVILINEAR MESH GENERATION IN 3D

Similar documents
Curved mesh correction and adaptation tool to improve COMPASS electromagnetic analyses

DEVELOPMENTS OF PARALLEL CURVED MESHING FOR HIGH-ORDER FINITE ELEMENT SIMULATIONS

Parallel Curved Mesh Adaptation for Large Scale High-order Finite Element Simulations

Element Quality Metrics for Higher-Order Bernstein Bézier Elements

Surface Mesh Generation

Adaptive numerical methods

Manipulating the Boundary Mesh

Guidelines for proper use of Plate elements

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics

Curve and Surface Basics

Lecture 2 Unstructured Mesh Generation

Shape Modeling and Geometry Processing

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Curves and Surfaces. Chapter 7. Curves. ACIS supports these general types of curves:

The ITAPS Mesh Interface

Programming, numerics and optimization

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 24

Voronoi Diagram. Xiao-Ming Fu

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

UNTANGLING AND OPTIMIZATION OF UNSTRUCTURED HEXAHEDRAL MESHES

Advanced geometry tools for CEM

3D anisotropic mesh adaptation by mesh modification

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 36

Level-set and ALE Based Topology Optimization Using Nonlinear Programming

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

Knot Insertion and Reparametrization of Interval B-spline Curves

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Surface Meshing with Metric Gradation Control

3D NURBS-ENHANCED FINITE ELEMENT METHOD

3D Modeling Parametric Curves & Surfaces

Toward Simulation-Based Design

Topological Issues in Hexahedral Meshing

A new 8-node quadrilateral spline finite element

CS3621 Midterm Solution (Fall 2005) 150 points

Bezier Curves. An Introduction. Detlef Reimers

Constrained Boundary Recovery for Three Dimensional Delaunay Triangulations

Non-Linear Finite Element Methods in Solid Mechanics Attilio Frangi, Politecnico di Milano, February 3, 2017, Lesson 1

PARALLEL CURVED MESHING FOR HIGH-ORDER FINITE ELEMENT SIMULATIONS

Fully discrete Finite Element Approximations of Semilinear Parabolic Equations in a Nonconvex Polygon

Adaptive Tessellation for Trimmed NURBS Surface

arxiv: v1 [math.na] 20 Sep 2016

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Shape Modeling. Differential Geometry Primer Smooth Definitions Discrete Theory in a Nutshell. CS 523: Computer Graphics, Spring 2011

Möbius Transformations in Scientific Computing. David Eppstein

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane?

Cross-Parameterization and Compatible Remeshing of 3D Models

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Hexahedral Mesh Refinement Using an Error Sizing Function

Practical Linear Algebra: A Geometry Toolbox

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Constrained modification of the cubic trigonometric Bézier curve with two shape parameters

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Dynamic Collision Detection

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

The Generation of Valid Curvilinear Meshes

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

Practical Linear Algebra: A Geometry Toolbox

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

10.1 Overview. Section 10.1: Overview. Section 10.2: Procedure for Generating Prisms. Section 10.3: Prism Meshing Options

Large Mesh Deformation Using the Volumetric Graph Laplacian

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Outline of the presentation

Geometry Definition in the ADINA User Interface (AUI) Daniel Jose Payen, Ph.D. March 7, 2016

2) For any triangle edge not on the boundary, there is exactly one neighboring

Lecture 2 September 3

Supporting Simulations to Guide Engineering Design

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

Parameterization. Michael S. Floater. November 10, 2011

1 Automatic Mesh Generation

Flank Millable Surface Design with Conical and Barrel Tools

Greedy Routing with Guaranteed Delivery Using Ricci Flow

(Discrete) Differential Geometry

Central issues in modelling

Shape Control of Cubic H-Bézier Curve by Moving Control Point

Research Article Data Visualization Using Rational Trigonometric Spline

CGT 581 G Geometric Modeling Curves

Properties of Blending Functions

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Computergrafik. Matthias Zwicker. Herbst 2010

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

NEXT-GENERATION SWEEP TOOL: A METHOD FOR GENERATING ALL-HEX MESHES ON TWO-AND-ONE-HALF DIMENSIONAL GEOMTRIES

53 M 0 j èm 2 i è ;1 M 0 j èm 2 i è ;1 èm 2 i è ;0 èm 2 i è ;0 (a) (b) M 0 i M 0 i (c) (d) Figure 6.1: Invalid boundary layer elements due to invisibi

Adaptive Surface Modeling Using a Quadtree of Quadratic Finite Elements

Adaptive and Smooth Surface Construction by Triangular A-Patches

3D Nearest-Nodes Finite Element Method for Solid Continuum Analysis

Parameterization of triangular meshes

ADAPTIVE FINITE ELEMENT

A Data Dependent Triangulation for Vector Fields

CHAPTER 4. Numerical Models. descriptions of the boundary conditions, element types, validation, and the force

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Curves and Surfaces 1

APPLICATION OF ALGORITHMS FOR AUTOMATIC GENERATION OF HEXAHEDRAL FINITE ELEMENT MESHES

04 - Normal Estimation, Curves

Finite element algorithm with adaptive quadtree-octree mesh refinement

Fast marching methods

Transcription:

CURVILINEAR MESH GENERATION IN 3D Saikat Dey, Robert M. O'Bara 2 and Mark S. Shephard 2 SFA Inc. / Naval Research Laboratory, Largo, MD., U.S.A., dey@cosmic.nrl.navy.mil 2 Scientific Computation Research Center Rensselaer Polytechnic Institute, Troy, NY., U.S.A., obara@scorec.rpi.edu ABSTRACT Issues related to curvilinear mesh generation starting from a CAD model are addressed. Curvilinear mesh geometry representation in the context of p-version finite elements and its impact on the validity of curvilinear meshes is discussed. A set of meshing tools is described for generation and modification of curved meshes in three-dimensional space. An iterative algorithm for curved meshing of existing straight-edged meshes is described and example curvilinear meshes of complex geometric models are presented. Keywords: mesh generation, curvilinear mesh generation, computational geometry, p-version analysis. INTRODUCTION High-order (p-version) discretizations have been shown to offer, for properly designed meshes, exponential rates of convergence of solution error [-3]. The increased approximation power allows the use of coarse meshes in which relatively few elements are used to cover large portions of the computational domain. Preserving the theoretically high error convergence rate for problems over curved domains requires that a curvilinear mesh geometry representation be used during the finite element computations. Two issues that must be addressed are: Mesh Geometry representation, and Generation of valid curvilinear meshes. Geometry representation issues in the context of p-version finite element analysis have been discussed in references [4, 5]. This paper is concerned with the task of generating a valid curvilinear mesh in three-dimensional space that meets those requirements. The outline of the paper is as follows: Section 2 discusses curvilinear mesh geometry representation and its impact on geometric validity of the curvilinear mesh. Section 3 gives basic requirements for curvilinear meshing including possible approaches. Section 4 describes the tools required to generate a valid curvilinear mesh. Section 5 describes a specific algorithm for generating curvilinear meshes starting from a valid mesh with straight-sided geometry and presents example curvilinear meshes. The following notation will be used:. M i d i represents the i-th mesh topological entity of dimension d i with d i =0,,2,3 defining the mesh vertex, edge, face and region, respectively, 2. G i d i represents the i-th geometric model topological entity of dimension d i with d i =0,,2,3 defining the model vertex, edge, face and region, respectively, 3. a is used to denote the classification which is the unique association of a mesh entity with the geometric model entity on which it lays M i d i a G j d j. 2. GEOMETRY AND VALIDITY OF CURVILINEAR MESHES The mesh geometric mapping, x( ξ), is valid provided that it is invertible throughout the closure of the parametric domain of the element implying ( ) = J ξ x i ξ j e > 0 ξ Ω, () ξ is the parametric coordinate system of the finite element and Ω e defines its domain. Equation () states that for a valid curvilinear finite element, the bounding mesh edges (faces) must not intersect each other except at common vertices (edges). In addition, they must also satisfy the standard requirement that the intersection of the interiors of two different finite elements is the null set Ωi e Ω e j = i j (2)

Equation (2) implies that curved elements must not penetrate into other elements. In p-version finite elements, the required order of accuracy in either directly approximating the geometry or related geometric terms, which appear in element level integrals, is a function of p. References [4, 6] shows that to preserve the rate of convergence of the finite element interpolation error, the minimum order of mesh geometry approximation is p-. This has an impact on curvilinear mesh generation because the validity of the curvilinear mesh is dependent on the order of mesh geometry representation. To understand this issue, consider the meshes for the geometric model in Figure (a). Figure (b) represents a valid linear mesh; however, for the same topology, if mesh edge M a G is assigned the exact geometry of the model edge then the mesh is no longer valid as shown in Figure (c), whereas a quadratic representation shown in Figure (d) is valid. The main point here is that, in general an unacceptable order of geometric approximation of mesh entities classified on model boundary can lead to a reduction in convergence rate. In a p -adaptive computation, where mesh geometry is updated with a change in p, it would require that at each adaptive step the mesh is checked for geometric validity and corrected if necessary. This can add significantly to the computational cost. A computationally efficient approach would be to start with a curvilinear mesh that is valid and adequate for the highest p order expected in the entire adaptive run and not alter the geometry of the mesh as p changes. Reference [6] shows that adopting such an approach is efficient specially when modeler interactions for geometric data queries are expensive. For the purpose of describing the procedures presented in this paper, it is assumed that the order and type of mesh geometry representation is known a- priori and is fixed. 3. CURVILINEAR MESHING: APPROACHES AND REQUIREMENTS Given a mesh geometry representation scheme, the generation of a curvilinear mesh can be viewed in two ways:. Curvilinear meshing of CAD geometry, and 2. A-posteriori curving of linear meshes to the model geometry. Figure 2 depicts the two approaches. The direct approach works by first creating a valid curvilinear boundary discretization of the model followed by interior discretization such that there is no interference of the newly created interior mesh entities with the curved boundary mesh entities. In the second approach, mesh entities classified on curved model boundary entities are assigned appropriate curved geometry based on analysis requirements. Any local invalidities of the mesh arising out of interference between curved boundary mesh entities and interior mesh entities are eliminated by the local modification of the mesh. In the present example, interfering interior mesh entities have been curved to yield a valid mesh. (a) (c) G M M (b) M (d) Figure : Curvilinear mesh validity. model direct approach a-posteriori approach boundary meshing P 2 interior meshing straight-edge mesh curved (invalid) mesh a valid mesh Figure 2: Approaches to curvilinear meshing. Both approaches have advantages and disadvantages. The direct approach has the advantage of a-priori validity of the resulting mesh. One possible way to implement such a scheme would be the element-removal type approach where elements are created working into the model interior starting from the curved model boundary. The geometric checks to detect and prevent mesh entity interference are suitably modified to account for the curvilinear geometry of some mesh edges (faces). However, the cost of intersection checks with curvilinear geometry are considerably more complicated and expensive compared to those needed for linear geometry cases. The second approach has the advantage that it can reuse most of the existing straight-edged mesh in the interior of the domain since the changes involved in curving are localized to mesh entities classified on or in the

vicinity of curved model boundaries. It can also make use of versions of existing local mesh modification tools in correcting any geometric invalidities that arise as a result of the curving of the boundary mesh entities. Although the approaches may appear significantly different, they are related and, in fact, a complete algorithm based on the second approach requires a localized version of the first approach to be able to mesh arbitrary cavities bounded by curvilinear mesh entities [7]. Implementation of either requires certain basic capabilities. The next section describes the basic capabities that are needed for generating curved meshes. 4. BASIC TOOLS FOR CURVILINEAR MESHING should either be removed or assigned a curved shape such that the interference is eliminated. M 2 M Figure 3: Interference detection for proposed new entity (dashed lines). 4. Curved Mesh Geometry Representation All mesh edges and faces that are classified on curved model boundaries must be curved to the boundary. In addition, mesh edges and faces classified in the model interior or on planar model boundaries may also be curved to ensure validity or improve curved element quality. From the analysis standpoint, a mapping function x( ξ ) and its derivative x must be available for pointwise ξ evaluation during element level integrals. From a mesh generation standpoint, they are needed to ensure geometric validity and quality of the curvilinear mesh based on a suitable distortion measure. x( ξ ) can be constructed by:. Blending schemes that conform exactly to the model geometry [6], or 2. Approximation and/or interpolation schemes. 4.2 Interference Detection Detection and elimination of interferences that violate equation () or (2) is a key capability needed for mesh generation. When directly generating curvilinear meshes, it is possible that the newly created mesh entities will intersect other mesh entities as shown in Figure 3. When curving an existing linear mesh, it is necessary to detect and eliminate any intersections of curved boundary mesh entities with other mesh entities such as those shown in Figure 4. The most straightforward approach to determine interference between curved mesh entities is to do an explicit intersection. For example, in the case shown in Figure 3, proposed mesh face M 2 intersects existing mesh edge M. Similarly, in Figure 4, curved mesh edge M intersects the interior mesh edge M 2. One advantage of doing the intersection checks to identify interference is that is also indicates the mesh entities that need to be either deleted or modified to eliminate the interference and hence ensure geometric validity. In the present case, for instance, the mesh edges M and M 2 Figure 4: Interference detection for proposed new entity (dashed lines). 4.3 Distortion Measure The quality of the shape of a curvilinear element can be measured in terms of an appropriate distortion metric. One useful measure is given by the variation of J( ξ) within the domain of the element min J( ξ) I = (3) max J( ξ) Since J( ξ) in general can be a complex expression, I is evaluated based on a fixed number of discrete locations within the element domain. One such metric bounded between [0,] is given by I = min J( ξi ) N p i N N p p J( ), = ξ, 2,..., (4) i = where N p is the number of discrete points used. i 5. CURVILINEAR MESHING STARTING FROM STRAIGHT-EDGED MESHES Starting from a valid straight-edged mesh, the main steps of this approach are described by:. Curving mesh entities classified on curved model entities, 2. Detection and elimination of interference between mesh edges on the model faces, and 3. Detection and elimination of interference between mesh entities in the model interior. M 2 M

Curving boundary mesh entities classified on model entities with periodic geometry requires special attention. The extent of mesh entity interference that results from curving boundary mesh entities is dependent on the input linear mesh and the local model geometry. The following sections give a description of the tools used to detect and correct mesh entity interference and outline an iterative algorithm to create curved meshes from existing straight-edged meshes. 5. Curving Boundary Mesh Entities To assign curved shapes to the boundary mesh entities one must make correct use of the parametric space on the underlying model entity. Consider Figure 5 for example, where M a G needs to be assigned a quadratic Lagrange geometry which requires determination of the edge mid-point which lies on G. If ζ ( ) and ζ ( 2) are the parametric coordinates of M 0 and M 2 0, respectively, where ζ defines the parametric coordinates of G, then one way of obtaining the mid-point location is to evaluate the map x ζ parametric mid-point given by ( ) at the x ζ ( ) ζ ( 2 + ) (5) 2 If x( ζ) is periodic and M i span the periodic boundary as shown in Figure 6(a), then simple application of (5) would not account for the jump ζ across the periodic boundary and lead to an incorrect mapping of the mid-point as shown in Figure 6(b). The correct mapping shown in Figure 6(c) is obtained by either incrementing end vertex parameters by one period or by decreasing the start vertex parameters by one period and then applying (5). M M 0 M 0 2 Figure 5: Mid-point location on model edge. G π 2 0 M G M 5.2 Local Interference Detection Using Jacobians Invalid mesh geometries resulting from interference of curved mesh entities with other mesh entities may be detected at the element level by exploiting specific properties of the Jacobian. This is much cheaper that using explicit interection checks, however, it detects interference only between those mesh entities that belong to the closure on a given element. To determine interfering mesh entities one needs to check the dependence of J, evaluated on or along bounding mesh entities, on the geometry of the bounding mesh entities. This knowledge along with discrete locations where J is invalid indicates the bounding mesh entities that need to be modified or eliminated. A minimal set of discrete locations for evaluation of J is based on the degree of the polynomial used to represent the curved geometry. For example in the case of using quadratic functions, the minimum set of points would consist of the vertices, a point along the edges (usually the mid-point), face points (centroid) and an interior point (centroid). For x( ζ) constructed by blending shapes of bounding edges and faces which can be of arbitrary complexity, J at these points is determined by the shape of all the bounding entities and hence, if J is invalid at any location then all the bounding mesh entities become candidates for modifications. However, for other geometry mappings, J at certain locations may be independent of the shape of specific bounding mesh entities, which can be exploited to reduce the pool of candidate mesh entities that must be modified. As an example, for a tetrahedron with quadratic Lagrangian interpolation of the 0 points as shown in Figure 7, the following properties can be easily verified:. J( ξ) at a vertex is independent of the shape of edges and faces that are not bounded by the vertex; for example, J( ξ) at M 0 is independent of the shape of M j, j=2,5,6, 2. J( ξ) on an edge is independent of the shape of the edge not bounded by any of its end vertices; for example, J( ξ) on M is independent of the shape of M 6, 3. J ξ ( ) in the interior of any face or the region is dependent on the shape of all the bounding entities. M (a) (b) (c) Figure 6: Dealing with periodic parameterization.

M 0 M 3 7 M 4 3 M 8 5 M 0 3 6 M 2 0 M 6 M 5 Figure 7: Quadratic tetrahedron. 2 4 9 M 0 2 M 0 4 These properties are combined with the result of the discrete J( ξ) evaluations at the vertices and along each edge to arrive at the following rules to identify candidate mesh entities that elimination or modification to remove invalidity J( ξ) 0 in the mapping:. if J ξ ( ) 0 at a vertex then only edges connected to that vertex are candidates for modification / elimination; for example, if J ξ 0 at, M 0, then only M j, j=,3,4, should be considered for modification. 2. if J ξ 0 on an edge then only those edges that are bounded by at least one of its end vertices are candidates for modification/elimination; for example, if J ξ 0 on, M then only M j, j=2,3,4,5, should be considered for modification. 3. if J ξ If J ξ 0 at face/region interior, then all edges become candidates for modification. 0 at multiple locations then the list of candidates is defined by the union of the candidate lists from each rule. 5.2. Globally Checking the Validity of a Curved Region The above approach checks the validity of a curved mesh region by sampling the Jacobian at discrete locations. It makes no assumptions as to the geometric basis functions used to represent the curved mesh geometry, and is generally applicable. However there are basis functions, such as the Bezier basis, which have certain properties [8-0] which may be useful in globally checking the validity of curved regions. For example, in the case of a Bezier representation of a hexahedron, consider the following properties: The function is contained within the convex hull of the defining control points. The derivative of a Bezier function is also a Bezier function. The product of two Bezier functions is also a Bezier function. Given a mesh region represented as a Bezier function R(x), and R ξ i as the first partial of R with respects to x i, the following: ( Rξ Rξ ) Rξ 2 represents a differential box product. If this function were strictly positive for all valid x then the region itself would be valid for any set of integration points. If the properties of Bezier functions are applied to (6), it can be shown that the differential box product can also be represented as a Bezier function. As a result, the convex hull of its defining points bound the box product function. Therefore, if all the control points of (6) are positive, then the differential box product must also be positive. In this case the curved region would be valid for any valid x. 5.3 Local Retriangulations and Edge Deletion This section describes the local retriangulation (edge and face swapping) and edge deletion procedures as applied to the elimination of the interfering mesh entities. 5.3. Edge Swapping The edge swapping procedure has been effectively used in optimizing meshes []. Its ability to locally reconnect a given set of vertices such that an edge is eliminated from the new configuration is used to eliminate specific edges that are interfering with curved boundary mesh entities. Figure 8 illustrates such a situation where edge M, which interferes with curved face M 2, is swapped to eliminate the interference. In addition to the constraints that must be satisfied for edge swapping in straight-edged mesh [], a swap is only acceptable if it does not add any new interferences in the reconnected mesh. This is needed to avoid an infinite swapping loop between two configurations, both of which have entity interferences. M M 2 M 2 Figure 8: Edge swapping to remove interference. 3 (6)

5.3.2 Face Swapping Face swapping involves local reconnection of a given set of mesh vertices such that a specific mesh face is eliminated from the resulting mesh []. This property is used to eliminate interior mesh faces that interfere with curved mesh entities. For example, Figure 9 depicts the elimination of mesh face M 2 that intersects curved mesh edge M In addition to the constraints that must be satisfied for face swapping in straight-edged mesh [], a swap is only acceptable if it does not add any new interferences in the reconnected mesh. This is needed to avoid an infinite swapping loop between two configurations both having entity interferences. M M 2 M Figure 9: Face swapping to remove interference. 5.3.3 Edge Deletion Edge deletion by vertex collapsing is used to eliminate interference as shown in Figure 0 provided that no new are interferences created in the resulting mesh. In general for efficiency, the curved shapes of interior edges and faces should be lowest order that will yield a shape that eliminates the interference. To simplify the presentation, details of the curving are described based on a quadratic Lagrangian interpolation. 5.4. Curving Mesh Edges on Model Face Mesh edges on model faces that interfere with curved mesh edges classified on model edges and cannot be eliminated by any of the other modification tools are curved such that the interference is eliminated. For example, refer to Figure, 2 2 where M 2 a G i intersects M a G i when it is curved. The intersection is eliminated by assigning M 2 a curved representation where the parameters controlling the shape are appropriately determined. For example, if M 2 is assigned a quadratic Lagrangian geometry, then the problem is reduced to determining the location of the mid-point of M 2 such that the curved shapes of M 2 and M do not intersect. To achieve this the following criteria is used: the normal of the curvilinear geometry at A should be consistent with that of the linear geometry of the face; more precisely ( t2 t) t4 t3 ( ) > ε (7) where, t and t 3 are the tangent vectors of the linear and curved representation of M, respectively, similarly, t 2 and t 4 are the tangent vectors of the linear and curved representation of M 2, respectively, and ε is a tolerance that depends upon allowable distortion. E M 2 ms t 2 t 3 t 4 Figure 0: Edge deletion to remove interference. 5.4 Curving Mesh Entities If local reconnection and edge deletion procedures are not applicable due to topological or geometric constraints then interfering mesh entities that are linear can be assigned appropriate curved geometry such that they do not interfere with curved boundary entities. This is done at two levels: 2 i j 2 where Gl Gj, and k l Curving M a G that interfere with curved M a G d i dl l i Curving M a G 3, d I =, 2, that interfere with curved M d k k j d l l a G, d l =, 2 where G G 3. j D M Figure : Edge curving on model face. t Equation (7) is based on the observation that the intersection of M 2, and M lead to an inversion of the linear face normal. For a quadratic Lagrange curve, the change in the tangent vector is related to the change in position of the midpoint as follows A t4 = t2 + 4m s (8) where, s is the direction of the displacement and m is the distance moved. Substituting (8) into (7) leads to

( ) ( ) ε m = ( t t ) t t 4( t t ) s t 2 2 3 2 3 s is defined in the parametric space of the model face by the direction of displacement of the mid-point of the edge classified on the model edge as shown in Figure 2. v (9) direction is identical to normal at A for the face bounded by M 2 and M 3. C B E s M 3 M 2 D A u D M ms E t t 3 A Figure 2: Direction of mid-point relocation. t 2 t 4 Figure 3: Interior edge curving. 5.4.2 Curving Mesh Edges in Model Region If a curved mesh region has an invalid J( ξ) at a vertex then the mesh edges connected to the vertex and classified interior to the model region become candidates for curving using a quadratic Lagrangian shape interpolation. For example, 3 consider Figure 3, J( ξ) < 0 and edge M a G i. At A the box-product of the edge vectors has a negative sign implying that the element is locally inverted ( t2 t) t3 < 0 (0) where, t, t 2, t 3, are the tangent vectors along M 2, M 3, and M, respectively. The solution in this case lies in finding a relocation direction s and distance m for mid-point E on M such that the new tangent vector t 4 of the curved representation of M 2 satisfies ( t2 t) t4 > ε () Using the relation t4 = t3 + 4m s in () leads to ε m = ( t t ) t 4( t t ) s 2 3 2 (2) Given a suitable ε, the aim is to find the minimum relocation that will satisfy (2); therefore, the relocation distance is chosen to be s ( t t2 ) so that the denominator is maximized. Geometrically, it means that the relocation 5.4.3 Curving Mesh Faces in Model Region When dealing with polynomial orders greater than quadratic, degrees of freedom are also associated with mesh faces as well as mesh edges. Initial investigation has shown that a common problem that can occur when using interpolating basis functions, such as Lagrange, is a mesh region becoming invalid due to the fact that the control points of a mesh face have not be adjusted properly. Since an interpolating basis function forces the surface to go through all the control points, points associated with interior faces will generally have to be repositioned when any of it s bounding edges are curved as shown in Figure 4. The top image in Figure 4 shows an invalid mesh region resulting from curving edges classified on the model boundary. In this case cubic Lagrangian basis functions were used to represent the curved geometry. The bottom image shows the same region after repositioning the control point associated with the top mesh face. The approach used was to base the new position of the mesh face s control point on the centroids of triangles formed by an edge s interior control points and the vertex opposite to the edge. The average of the centroids then form the new location of the face s control point.

M 2 M M 2 (a) (b) M 0 M 0 (c) (d) Figure 5: Local remeshing with boundary point insertion. Figure 4: Correcting invalid regions by relocating control points associated with mesh faces 5.5 Local Curvilinear Remeshing Local remeshing is required when, due to topological constraints or poor point distribution, edge deletion, edge/face swapping, entity curving or vertex relocation fail to remove the interference. One such situation is described in Figure 5(a) where edge M interferes with curved edge M 2. The main steps of this procedure can be described as: () top-down removal of one or more layer(s) of mesh entities connected to the interfering mesh entity except those that are classified on model boundary as shown in Figure 5(b), (2) insertion of appropriate number of points on curved boundary, for example, M 0 in Figure 5(c), and (3) growing valid entities starting from the curvilinear boundary to fill the cavity as shown in Figure 5(d). The main issues that must be resolved in the application of this procedure are:. Extent of mesh removal, and 2. When and where to add additional boundary (interior) vertices. The portion of the mesh directly connected to the interfering mesh entities defines one straightforward choice for the extent of mesh removal. The need to add new vertices either to the boundary of the cavity or its interior is determined by the adequacy of the existing point distribution with respect to the local geometry of the model boundary. This is due to the fact that interference of curved mesh entities with neighboring mesh entities is caused by the deviation of the curved geometry from it linear approximation which in turn is determined by the curvature of the model boundary. In Figure 6, for example, the deviation of M due to curving is denoted by δ. Since the amount of deviation determines the interference with neighboring edges M 2 and M 3, the adequacy of the point distribution on the model boundary, represented by the edge length l can be assessed by:. Finding an approximation to the maximum allowable δ with no interference, and using it to determine 2. Minimum l based on local curvature. G M 2 M M 3 δ = α l l Figure 6: Allowable deviation. Writing δ = αl, the first task reduces to finding α such that J < 0 Starting with the best possible linear element with unit edge length, one of the edges is curved as a quadratic Lagrange by displacing the midpoint in the perpendicular direction by α. This situation represents the best possible starting mesh along with the best possible curving and the aim is to find the limit of α that makes the resulting curved 3 2 α

map invalid. After some algebraic manipulation, one can write ( ) 4 2 3 + J = r + s ( ( )) + 3 3 4 α (3) 2 In general, one needs to solve equation (3) for α such that J 0 within the closure of the domain of the element given by r + s ; however, for the quadratic case, it suffices to solve at the corners or 2 which leads to the requirement α 3 4 (4) The next step is to determine the minimum l based on the 3 local curvature such that α is at most. Using the 4 relationship [7, 2] where, R = max κ, κ ( 2 ) 8Rα l = + 4α 2 (5) denotes the minimum radius of curvature and κ and κ 2 are the principal curvatures of the surface, with equation (4) leads to ( ) 8R 3 4 l 8 3 23 (6) If l is assumed to represent the local mesh size h, then equation (6) is used to determine if the boundary of the local mesh cavity classified on the model boundary needs refinement by splitting those edges that violate this criterion. invalid. Invalid regions are then processed using the same set of mesh modification tools. G M M 2 Figure 7: Allowable deviation. M 2 6 CURVILINEAR MESHES This section shows the results of applying the techniques discussed in previous sections to curve straight-sided meshes. Both geometric models were defined using the Parasolid modeling environment by Shape Data. The meshes were curved using quadratic Lagrange interpolation functions. Since both models contain periodic model surfaces, special attention was giving when determining mid point locations of boundary mesh edges, see Section 5.. 5.6 Algorithm Description The following local mesh modification tools are used to alter the interfering mesh entities and hence eliminate the invalidity:. Local retriangulations defined by edge and/or face swaps, 2. Edge deletion by merging end vertices, 3. Curving mesh entities classified in the interior of a model face and region, and 4. Local curvilinear remeshing of mesh cavity produced by deletion of mesh entities in the vicinity of the interfering mesh entities. Interference between mesh entities classified on model faces are removed first because it is necessary to have a valid curvilinear surface mesh to ensure a valid curvilinear volume mesh. This issue is illustrated in Figure 7 where the curvilinear mesh region is invalid due to intersection of M and M 2 on the closure of. G 2 Unless the intersection is eliminated, any curvilinear mesh region that is connected to M 2 will always be invalid. Once the surface mesh has been properly curved, each mesh region is then checked for being Figure 8: Initial straight-sided mesh of a pipe assembly

Figure 9: Resulting curved mesh of pipe assembly Figure 2: Resulting curved mesh of Figure 20 7. CONCLUSIONS Figure 20: Initial straight-sided mesh of a Parasolid part. With properly designed meshes, high-order (p-version) discretizations have been shown to produce exponential convergence rates of solution error. This paper has presented issues related to creating curvilinear meshes suitable for p- version finite element analysis. These issues have included the representation of curved mesh geometry as well as defining what constitutes a valid curvilinear mesh. Basic requirements for curvilinear meshing were then discussed as well as presenting two general approaches for curvilinear mesh generation: Direct generation of curvilinear meshes of CAD geometry A-posteriori curving of straight-sided meshes with respects to the model geometry. This was followed by a discussion of meshing tools required to generate valid curvilinear meshes and included detecting interference between curved mesh entities and defining distortion measures using Jacobians. The use of local mesh modification tools to aid in correcting invalid curved mesh regions was then presented. These operations included face and edge swapping, edge deletion, and curving mesh entities. Finally, curvilinear meshes that were the result of applying these techniques to straight-sided meshes were presented. These meshes were curved using quadratic Lagrange interpolation functions.

REFERENCES. Babuska, I. and B.Q. Guo, The h-p version of the finite element method for domains with curved boundaries. SIAM J. Numer. Anal., 988. 25(4): p. 837-86. 2. Babuska, I. and B.Q. Guo, Approximation properties of the h-p version of the finite element method. Comp. Meth. Appl. Mech. Engng., 996. 33: p. 39-346. 3. Oden, J.T., Optimal h-p finite element methods. Comp. Meth. Appl. Mech. Engng., 994. 2: p. 303-33. 4. Dey, S., Geometry-based three dimensional hp finite element modelling and computations, Phd Thesis in Civil Engineering, Rensselaer Polytechnic Institute, Scientific Computation Research Center, RPI, Troy, NY 280-3590 5. Shephard, M.S., S. Dey, and J.E. Flaherty, A straight forward structure to construct shape functions for variable p-order meshes. Comp. Meth. Appl. Mech. Engng., 997. 47: p. 209-233. 6. Dey, S., M.S. Shephard, and F.J. E., Geometry representation issues associated with p-version finite element computations. Comp. Meth. Appl. Mech. Engng., 997. 50: p. 39-55. 7. Shephard, M.S., S. Dey, and M.K. Georges, Automatic Meshing of Curved Three-Dimensional Domains: Curving Finite Elements and Curvature-Based Refinement, in Modeling, Mesh Generation, and Adaptive Numerical Methods for Partial Differential Equations, I. Babuska, et al., Editors. 995, Springer-Verlag. p. 67-96. 8. Farouki, R.T. and V.T. Rajan, Algorithms for polynomials in Berstein form. Comput. Aid. Geom. Des., 988. 5: p. -26. 9. Farin, G.E., Curves and Surfaces for Computer Aided Geometric Design - A Practical Guide, 3rd Edition. 993, Boston: Academic Press. 0. Piegl, L. and W. Tiller, The NURBS Book - 2nd Edition. 997, Berlin: Springer-Verlag.. l'isle, E.B.d. and P.L. George, Optimization of tetrahedral meshes. Modeling, Mesh Generation, and Adaptive Numerical Methods for Partial Differential Equations., 993. 75: p. 97-28. 2. Dey, S., Curvature sensitive refinements in 3D automatic mesh generation., Master's Thesis in Civil Engineering, Rensselaer Polytechnic Institute, Scientific Computation Research Center, RPI, Troy, NY 280-3590