chapter 6: boundary orthogonality in elliptic grid generationebrary.free.fr/mesh...

26
©1999 CRC Press LLC 6 Boundary Orthogonality in Elliptic Grid Generation 6.1 Introduction 6.2 Boundary Orthogonality for Planar Grids Neumann Orthogonality • Dirichlet Orthogonality 6.3 Boundary Orthogonality for Surface Grids Neumann Orthogonality • Dirichlet Orthogonality 6.4 Boundary Orthogonality for Volume Grids Neumann Orthogonality • Dirichlet Orthogonality 6.5 Summary 6.1 Introduction Experience in the field of computational simulation has shown that grid quality in terms of smoothness and orthogonality affects the accuracy of numerical solutions. It has been pointed out by Thompson et al. [8] that skewness increases the truncation error in numerical differentiation. Especially critical in many applications is orthogonality or near-orthogonality of a computational grid near the boundaries of the grid. If the boundary does not correspond to a physical boundary in the simulation, orthogonality can still be important to ensure a smooth transition of grid lines between the grid and the adjacent grid presumed to be across the nonphysical boundary. If the grid boundary corresponds to a physical bound- ary, then orthogonality may be necessary near the boundary to reduce truncation errors occurring in the simulation of boundary layer phenomena, such as will be present in a Navier–Stokes simulation. In this case, fine spacing near the boundary may also be necessary to accurately resolve the boundary phenomena. In elliptic grid generation, an initial grid (assumed to be algebraically computed using transfinite interpolation of specified boundary data) is relaxed iteratively to satisfy a quasi-linear elliptic system of partial differential equations (PDEs). The most popular method, the Thompson, Thames, Mastin (TTM) method, incorporates user-specifiable control functions in the system of PDEs. If the control functions are not used (i.e., set to zero), then the grid produced will be smoother than the initial grid, and grid folding (possibly present in the initial grid) may be alleviated. However, nonuse of control functions in general leads to nonorthogonality and loss of grid point spacing near the boundaries. Imposition of boundary orthogonality can be effected in two different ways. In Neumann orthogonality , no control functions are used, but boundary grid points are allowed to slide along the boundaries until boundary orthogonality is achieved and the elliptic system has iterated to convergence. This method, which is taken up in this chapter, is appropriate for nonphysical (internal) grid boundaries, since grid spacing present in the initial boundary distribution is usually not maintained. Previous methods for Ahmed Khamayseh Andrew Kuprat C. Wayne Mastin

Upload: others

Post on 25-Apr-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

6Boundary Orthogonality

in Elliptic GridGeneration

6.1 Introduction6.2 Boundary Orthogonality for Planar Grids

Neumann Orthogonality • Dirichlet Orthogonality

6.3 Boundary Orthogonality for Surface GridsNeumann Orthogonality • Dirichlet Orthogonality

6.4 Boundary Orthogonality for Volume GridsNeumann Orthogonality • Dirichlet Orthogonality

6.5 Summary

6.1 Introduction

Experience in the field of computational simulation has shown that grid quality in terms of smoothnessand orthogonality affects the accuracy of numerical solutions. It has been pointed out by Thompson etal. [8] that skewness increases the truncation error in numerical differentiation. Especially critical inmany applications is orthogonality or near-orthogonality of a computational grid near the boundariesof the grid. If the boundary does not correspond to a physical boundary in the simulation, orthogonalitycan still be important to ensure a smooth transition of grid lines between the grid and the adjacent gridpresumed to be across the nonphysical boundary. If the grid boundary corresponds to a physical bound-ary, then orthogonality may be necessary near the boundary to reduce truncation errors occurring inthe simulation of boundary layer phenomena, such as will be present in a Navier–Stokes simulation. Inthis case, fine spacing near the boundary may also be necessary to accurately resolve the boundaryphenomena.

In elliptic grid generation, an initial grid (assumed to be algebraically computed using transfiniteinterpolation of specified boundary data) is relaxed iteratively to satisfy a quasi-linear elliptic system ofpartial differential equations (PDEs). The most popular method, the Thompson, Thames, Mastin (TTM)method, incorporates user-specifiable control functions in the system of PDEs. If the control functionsare not used (i.e., set to zero), then the grid produced will be smoother than the initial grid, and gridfolding (possibly present in the initial grid) may be alleviated. However, nonuse of control functions ingeneral leads to nonorthogonality and loss of grid point spacing near the boundaries.

Imposition of boundary orthogonality can be effected in two different ways. In Neumann orthogonality,no control functions are used, but boundary grid points are allowed to slide along the boundaries untilboundary orthogonality is achieved and the elliptic system has iterated to convergence. This method,which is taken up in this chapter, is appropriate for nonphysical (internal) grid boundaries, since gridspacing present in the initial boundary distribution is usually not maintained. Previous methods for

Ahmed Khamayseh

Andrew Kuprat

C. Wayne Mastin

©1999 CRC Press LLC

Page 2: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

implementing Neumann orthogonality have relied on a Newton iteration method to locate the orthogonalprojection of an adjacent interior grid point onto the boundary. The Neumann orthogonality method

©1999 CRC Press LLC

presented here uses a Taylor series to move boundary points to achieve approximate orthogonality. Thus,there is no need for inner iterations to compute boundary grid point positions.

In Dirichlet orthogonality, also taken up in this chapter, control functions (called orthogonal controlfunctions) are used to enforce orthogonality near the boundary while the initial boundary grid pointdistribution is not disturbed. Early papers using this approach were written by Sorenson [3] and Thomasand Middlecoff [6]. In Sorenson’s approach, the control functions are assumed to be of a particularexponential form. Orthogonality and a specified spacing of the first grid line off the boundary are achievedby updating the control functions during iterations of the elliptic system. Thompson [7] presents a similartechnique for updating the orthogonal control functions. This technique evaluates the control functionson the boundary and interpolates for interior values. A user-specified grid spacing normal to the boundaryis required.

The technique of Spekreijse [5] automatically constructs control functions solely from the specifiedboundary data without explicit user-specification of grid spacing normal to the boundary. Throughconstruction of an intermediate parametric domain by arclength interpolation of the specified boundarypoint distribution, the technique ensures accurate transmission of the boundary point distributionthroughout the final orthogonal grid. Applications to planar and surface grids are given in [5].

In this chapter, we present a technique similar to [7] for updating of orthogonal control functionsduring elliptic iteration. However, our technique does not require explicit specification of grid spacingnormal to the boundary but, as in [5], employs an interpolation of boundary values to supply thenecessary information. However, unlike [5], this interpolation is not constructed in an auxiliary para-metric domain, but is simply the initial algebraic grid constructed using transfinite interpolation.Although this grid is very likely skewed at the boundary, the first interior coordinate surface is assumedto be correctly positioned in relation to the boundary, which is enough to give us the required normalspacing information for iterative calculation of the control functions. Ghost points, exterior to theboundary, are constructed from the interior coordinate surface, leading to potentially smoother grids,since central differencing can now be employed at the boundary in the direction normal to the boundary.Since our technique does not employ the auxiliary parametric domain of [5], theory and implementationare simpler. The implementation of this technique for the case of volume grids is straightforward, andindeed we present an example.

We mention here that Soni [2] presents another method of constructing an orthogonal grid by derivingspacing information from the initial algebraic grid. However, unlike our method which uses ghost pointsat the boundary, this method does not emphasize capture of grid spacing information at the boundary.Instead, the algebraic grid influences the grid spacing of the elliptic grid in a uniform way throughoutthe domain. With no special treatment of spacing at the boundary, considerable changes in normal gridspacing can occur during the course of elliptic iteration. This may be unacceptable in applications wherethe most numerically challenging physics occurs at the boundaries.

In Section 6.2, we present Neumann and Dirichlet orthogonality as applied to planar grid generation.We also present a control function blending technique that allows for preservation of interior grid pointspacing in addition to preservation of boundary grid point spacing. In Section 6.3, we present analogoustechniques for construction of orthogonal surface grids, and in Section 6.4, we present the analogoustechniques for volume grids. To demonstrate these techniques, examples are presented in these sections.We present our conclusions in Section 6.5.

6.2 Boundary Orthogonality for Planar Grids

We assume an initial mapping x(ξ,η ) = (x(ξ,η ), y(ξ,η )) from computational space [0, m] × [0, n] tothe bounded physical domain Ω ⊂ IR 2. Here m, n are positive integers and grid lines are the lines ξ = ior η = j, with 0 ≤ i ≤ m or 0 ≤ j ≤ n being integers. The initial mapping x(ξ,η ) is usually obtained usingalgebraic grid generation methods such as linear transfinite interpolation.

Page 3: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

Given the initial mapping, a general method for constructing curvilinear structured grids is based onpartial differential equations (see Thompson et al. [8]). The coordinate functions

x

(

ξ,η

) and

y

(

ξ,η

) are

©1999 CRC Press LLC

iteratively relaxed until they become solutions of the following quasi-linear elliptic system:

(6.1)

where

The control functions P and Q control the distribution of grid points. Using P = Q = 0 tends togenerate a grid with a uniform spacing. Often, there is a need to concentrate points in a certain area ofthe grid such as along particular boundary segments — in this case, it is necessary to derive appropriatevalues for the control functions.

To complete the mathematical specification of system Eq. 6.1, boundary conditions at the four bound-aries must be given. (These are the ξ = 0, ξ = m, η = 0, and η = n or “left,” “right,” “bottom,” and “top”boundaries.) We assume the orthogonality condition

(6.2)

We assume that the initial algebraic grid neither satisfies Eq. 6.1 nor Eq. 6.2. Nevertheless, the initialgrid may possess grid point density information that should be present in the final grid. If the algebraicgrid possesses important grid density information, such as concentration of grid points in the vicinityof certain boundaries, then it is necessary to invoke “Dirichlet orthogonality” wherein we use the freedomof specifying the control functions P, Q in such a fashion as to allow satisfaction of Eq. 6.1, Eq. 6.2 withoutchanging the initial boundary point distribution at all, and without greatly changing the interior gridpoint distribution. If, however, the algebraic grid does not possess relevant grid density information(such as may be the case when the grid is an “interior block” that does not border any physical boundary),we attempt to solve Eq. 6.1, Eq. 6.2 using the simplest assumption P = Q = 0. Since we are not using thedegrees of freedom afforded by specifying the control functions, we are forced to allow the boundarypoints to “slide to allow satisfaction of Eq. 6.1, Eq. 6.2. This is “Neumann orthogonality.” The compositecase of having some boundaries treated using Dirichlet orthogonality, some treated using Neumannorthogonality, and some boundaries left untreated will be clear after our treatment of the pure Neumannand Dirichlet cases.

6.2.1 Neumann Orthogonality

As is typical, let us assume that the boundary segments are given to be parametric curves (e.g., B-splines). If we set the control functions P, Q to zero, then it will be necessary to slide the boundarynodes along the parametric curves in order to satisfy Eq. 6.1, Eq. 6.2. A standard discretization of oursystem is central differencing in the ξ and η directions. The system is then applied to the interiornodes to solve for xi,j = (xi,j, yi,j) using an iterative method.

With regard to the implementation of boundary conditions, suppose along the boundary segments ξ= 0 and ξ = m the variables x and y can be expressed in terms of a parameter u as x = x(u) and y = y(u).For the ξ = 0 and ξ = m boundaries, let (xη )i,j denote the central difference (1/2(xi,j+1 – xi, j–1)) along theboundaries (i = 0 or i = m). Using one-sided differencing for xξ , Eq. 6.2 is discretized as

(6.3)

g g g22 12 112 0x x x x xξξ ξ ξη ηη η+( ) − + + =P Q( )

g

g

g

112 2

12

222 2

= ⋅ = +

= ⋅ = +

= ⋅ = +

x x

x x

x x

ξ ξ ξ ξ

ξ η ξ η ξ η

η η η η

x y

x x y y

x y

,

,

.

x xξ η ξ η⋅ = = =0 0 0, , , , . on and m n

x x xi j i j ji+ −( ) ⋅( ) = = =1 0

0 0, , ,,η ξ along

Page 4: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

(6.4)

Solution of Eq. 6.3 or Eq. 6.4 for xi,j = (xi,j, yi,j) in effect causes the sliding of xi,j along the boundary sothat the grid segment between xi,j and its neighbor on the first interior coordinate curve (ξ = 1 or ξ =m – 1) is orthogonal to the boundary curve. (See Figure 6.1.)

To solve for xi,j the old parameter value u0 is used to solve for the new u to compute the new xi,j. Usingthe Taylor expansion of x(u) about u0 to give

(6.5)

substituting Eq. 6.5 in Eq. 6.3 implies that

(6.6)

to give xi,j = x(u) along the boundary ξ = 0. Whereas, substituting Eq. 6.5 in Eq. 6.4 implies that

(6.7)

to give xi,j = x(u) along the boundary ξ = m.Consider next the case where the boundaries are η = 0 and η = n. Orthogonality Eq. 6.2 with central

differencing in the ξ direction and one-sided differencing in the η direction implies

(6.8)

FIGURE 6.1 Change in xξ when boundary point is repositioned in Neumann orthogonality.

x x xi j i j m ji m, , ,

, .−( ) ⋅( ) = = =−1 0η ξ along

x x x xi j uu u u u, ( ) ( ) ( )(= ≈ + −0 0

u uu

uj j

j u

= +( ) ⋅ −( )

( ) ⋅ ( )00 1 0

0 0

x x x

x x

η

η

, ,

,

( )

u uu

um j m j

m j u

= +( ) ⋅ −( )

( ) ⋅ ( )−

0

1 0

0

x x x

x x

η

η

, ,

,

( )

u uu

ui i

i u

= +( ) ⋅ −( )

( ) ⋅ ( )00 1 0

0 0

x x x

x x

ξ

ξ

, ,

,

( ),

Page 5: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

which gives xi,j = x(u) along the boundary η = 0, and

(6.9)

to give xi,j = x(u) along the boundary η = n.These boundary condition equations are to be evaluated for each cycle in the course of the iterative

procedure. Note that a periodic boundary condition is used in the case of doubly connected regions.Also note that during the relaxation process, “guards” must be used to prevent a given boundary pointfrom overtaking its neighbors when sliding along the boundaries. Indeed, near obtuse corners, there isa tendency for grid points to try to slide along the boundary curves past the corners in order to satisfythe orthogonality condition. An appropriate guard would be to limit movement of each grid point sothat its distance from its two boundary-curve neighbors is reduced by at most 50% on a given iteration,down to a user-specified minimum length δ in physical space.

As an application of Neumann orthogonality, consider Figure 6.2, which is an initial algebraic planargrid on a bicubic geometry. The mesh is highly nonorthogonal at certain points along the boundaries,and it possesses an undesirable concentration of points in the interior of the grid. In fact, there is foldingof the algebraic grid in this central region.

Figure 6.3 shows an elliptically smoothed grid using Neumann orthogonality. The grid is clearly seen tobe smooth, boundary-orthogonal, and no longer folds in the interior. For certain applications, this grid maybe entirely acceptable. However, if the bottom boundary of the grid corresponded to a physical boundary,then the results of Figure 6.3 might be deemed unacceptable. This is because, although orthogonality hasbeen established, grid point distribution (both along the boundary and normal to the boundary) has beensignificantly altered. In this case, the Dirichlet orthogonality technique will have to be employed.

6.2.2 Dirichlet Orthogonality

The above discussion shows how orthogonality can be imposed without use of control functions, bysliding grid points along the boundary. Orthogonality can also be imposed by adjusting the control

FIGURE 6.2 An algebraic planar grid on a bicubic geometry.

u uu

ui n i n

i n u

= +( ) ⋅ −( )

( ) ⋅ ( )−

0

1 0

0

x x x

x x

ξ

ξ

, ,

,

( )

Page 6: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

functions near the boundary and keeping the boundary points fixed. This approach was originallydeveloped by Sorenson [3] for imposing boundary orthogonality in two dimensions. Sorenson [4] andThompson [7] have extended this approach to three dimensions. However, as mentioned in the intro-duction, our approach does not require user specification of grid spacing normal to the boundary. Instead,our technique automatically derives normal grid spacing data from the initial algebraic grid.

Assuming boundary orthogonality Eq. 6.2, substitution of the inner product of xξ and xη into Eq. 6.1yields the following two equations for the control functions on the boundaries:

(6.10)

These control functions are called the orthogonal control functions because they were derived usingorthogonality considerations. They are evaluated at the boundaries and interpolated to the interior usinglinear transfinite interpolation. These functions need to be updated at every iteration during solution ofthe elliptic system.

We now go into detail on how we evaluate the quantities necessary in order to compute P and Q onthe boundary using Eq. 6.10. Suppose we are at the “left” boundary ξ = 0, but not at the corners (η ≠ 0and η ≠ n). The derivatives xη , xηη and the spacing g22 = ||xη ||2 are determined using centered differenceformulas from the boundary point distribution and do not change. However, the g11, xξ , and xξξ termsare not determined by the boundary distribution. Additional information amounting to the desired gridspacing normal to the boundary must be supplied.

A convenient way to infer the normal boundary spacing from the initial algebraic grid is to assumethat the position of the first interior grid line off the boundary is correct. Indeed, near the boundary, itis usually the case that all that is desired of the elliptic iteration is for it to swing the intersecting gridlines so that they intersect the boundaries orthogonally, without changing the positions of the grid linesparallel to the boundary. This is shown graphically in Figure 6.4, where we see a grid point, from thefirst interior grid line, swung along the grid line to the position where orthogonality is established. The

FIGURE 6.3 An elliptic planar grid on a bicubic geometry with Neumann orthogonality.

P

Q

= −⋅

−⋅

= −⋅

x x x x

x x x x

ξ ξξ ξ ηη

η ηη η ξξ

g g

g g

11 22

22 11

.

Page 7: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

effect of forcing all the grid points to swing over in this fashion would thus be to establish boundaryorthogonality, but still leave the algebraic interior grid line unchanged. The similarity of Figure 6.1 andFigure 6.4 seems to indicate that this process is analogous to, and hence just as “natural” as, the processof sliding the boundary points in the Neumann orthogonality approach with zero control functions.

Unfortunately, this preceding approach entails the direct specification of the positions of the first interiorlayer of grid points off the boundary. This is not permissible for a couple of reasons. First, since they areadjacent to two different boundaries, the points x1,1, xm–1,1, x1,n–1, and xm–1,n–1 have contradictory definitionsfor their placement. Second, and more importantly, the direct specification of the first layer of interiorboundary points together with the elliptic solution for the positions of the deeper interior grid pointscan lead to an undesirable “kinky” transition between the directly placed points and the elliptically solved-for points. (This “kinkiness” is due to the fact that a perfectly smooth boundary-orthogonal grid willprobably exhibit some small degree of nonorthogonality as soon as one leaves the boundary — even asclose to the boundary as the first interior line. Hence, forcing the grid points on the first interior line tobe exactly orthogonal to the boundary cannot lead to the smoothest possible boundary-orthogonal grid.)

Nevertheless, our “natural” approach for deriving grid spacing information from the algebraic gridcan be modified in a simple way, as depicted in Figure 6.5. Here, the orthogonally-placed interior pointis reflected an equal distance across the boundary curve to form a “ghost point.” Repeatedly done, thisprocedure in effect forms an “exterior curve” of ghost points that is the reflection of the first (algebraic)grid line across the boundary curve. The ghost points are computed at the beginning of the iterationand do not change. They are employed in the calculation of the normal second derivative xξξ at theboundary and the normal spacing off the boundary; the fixedness of the ghost points assures thatthe normal spacing is not lost during the course of iteration, as it sometimes is in the Neumannorthogonality approach. Conversely, all of the interior grid points are free to change throughout thecourse of the iteration, and so smoothness of the grid is not compromised.

More precisely, again at the “left” ξ = 0 boundary, let (xη )0,j denote the centrally differenced derivative1/2(x0, j+1 – x0, j–1). Let (xo

ξ )0, j denote the one-sided derivative x1, j – x0, j evaluated on the initial algebraicgrid. Then condition Eq. 6.2 implies that if a is the unit vector normal to the boundary, then

FIGURE 6.4 Projection of interior algebraic grid point to orthogonal position.

g11

ax

x≡ =

−+

=−( )ξ

ξ

η η

η η

η ηy x

x y

y x, ,,

2 222g

Page 8: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

Now the condition from Figure 6.4 is

(6.11)

where Pa = aaT is the orthogonal projection onto the one-dimensional subspace spanned by the unitvector a. Thus we obtain

(6.12)

Finally, the reflection operation of Figure 6.5 implies that the fixed ghost point location should be given by

This can also be viewed as a first-order Taylor expansion involving the orthogonal derivative (xξ )0, j:

with ∆ξ = –1. The orthogonal derivative (xξ )0, j is computed in Eq. 6.12 using only data from the boundaryand the algebraic grid. Now in Eq. 6.10, the control function evaluation at the boundary, the secondderivative xξξ is computed using a centered difference approximation involving a ghost point, a boundarypoint, and an iteratively updated interior point. The metric coefficient g11 describing spacing normal tothe boundary is computed using Eq. 6.12 and is given by

FIGURE 6.5 Reflection of orthogonalized interior grid point to form external ghost point.

x xξ ξ= ( )Ρa0 ,

x a a xξ ξη η

η ξ η ξ= ⋅( ) =−( )

−( )0

22

0 0y x

y x x y,

.g

x x x− = −( )1 0 0, , ,.j j jξ

x x x− = + ( )1 0 0, , ,,j j j

∆ξ ξ

g11 0 0 0( ) = ( ) ⋅( ), , ,

.j j j

x xξ ξ

Page 9: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

Finally, note that the value for (xξ )0, j used in Eq. 6.10 is not the fixed value given by Eq. 6.12, but is theiteratively updated one-sided difference formula given by

©1999 CRC Press LLC

Evaluation of quantities at the ξ = m boundary is similar. Note, however, that the ghost point locationsare given by

where (xξ )m, j is evaluated in Eq. 6.12, which is also valid for this boundary.On the “bottom” and “top” boundaries η = 0 and η = n, it is now the derivatives xη , xηη , and the

spacing g11 that are evaluated using the fixed boundary data using central differences. Using similarreasoning to the “left” and “right” boundary case, we obtain that for the “bottom” boundary the ghostpoint location is fixed to be

where we use

(6.13)

Here, (–yη , xη ), g11 is evaluated using central differencing of the boundary data, and (xoη, yo

η) representsa one-sided derivative xi,1 – xi,0 evaluated on the initial algebraic grid. The metric coefficient(g22)i,0 = (xη )i,0 . (xη )i,0 is now computed using Eq. 6.13, and xηη is computed using a ghost point, aboundary point, and an iteratively updated interior point. The value of (xη )i,0 used in Eq. 6.10 is not thefixed value given in Eq. 6.13, but is the iteratively updated one-sided difference formula given by

Finally, the “upper” η = n boundary is similar, and we note that the ghost-point locations are given by

with (xη )i,n, evaluated using Eq. 6.13.Quantities for the four corner points, x0,0, xm,0, x0,n and xm,n, are computed somewhat differently in

that no orthogonality considerations or ghost points are used. Indeed, the values xξ , xξξ , xη , xηη , g11, g22

are all evaluated once using one-sided difference formulas that use the specified boundary values and donot change during the course of iteration. We forego imposition of orthogonality at the corners, becauseat the corners conformality is more important than orthogonality. In other words, orthogonality at thecorners should be sacrificed in order to ensure that the resulting grid does not spill over the physicalboundaries in the neighborhood of the corners. For the case of highly obtuse or highly acute corners, itmay in fact be necessary to relax orthogonality in the regions that are within several grid lines of the

x x xξ( ) = −0 0, , , .

j i j j

x x xm j m j m j+ = +( )1, , ,,ξ

x x xi i i, , ,,− = −( )1 0 0η

xηξ ξ

ξ η ξ η=−( )

− +( )y xy x x y

,.

g11

0 0

x x xη( ) = −i i i, , ,0 1 0

x x xi n i n i n, , ,,+ = +( )1 η

Page 10: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

corners. One way to do this is to construct ghost points near the corners with the orthogonal projectionoperation Eq. 6.11 omitted (i.e., constructed by simple extrapolation), and to use a blend of these ghost

©1999 CRC Press LLC

points and the ghost points derived using the orthogonality assumption.To further ensure that the elliptic system iterations do not cause grid folding near the boundaries,

“guards” may be employed, similar to those mentioned in the previous section on Neumann orthogo-nality. In practice, however, we have found these to be unnecessary for Dirichlet orthogonality.

6.2.2.1 Blending of Orthogonal and Initial Control Functions

The orthogonal control functions in the interior of the grid are interpolated from the boundaries usinglinear transfinite interpolation and updated during the iterative solution of the elliptic system. If theinitial algebraic grid is to be used only to infer correct spacing at the boundaries, then it is sufficient touse these orthogonal control functions in the elliptic iteration. However, note that the orthogonal controlfunctions do not incorporate information from the algebraic grid beyond the first interior grid line. Thusif it is desired to maintain the entire initial interior point distribution, then at each iteration the orthogonalcontrol functions must be smoothly blended with control functions that represent the grid densityinformation in the whole algebraic grid. These latter control functions we refer to as “initial controlfunction,” and their computation is now described.

The elliptic system Eq. 6.1 can be solved simultaneously at each point of the algebraic grid for the twofunctions P and Q by solving the following linear system:

(6.14)

where

The derivatives here are represented by central differences, except at the boundaries where one-sideddifference formulas must be used. This produces control functions that will reproduce the algebraic gridfrom the elliptic system solution in a single iteration. Thus, evaluation of the control functions in thismanner would be of trivial interest except when these control functions are smoothed before being usedin the elliptic generation system. This smoothing is done by replacing the control function at each pointwith the average of the nearest neighbors along one or more coordinate lines. However, we note that theP control function controls spacing in the ξ-direction and the Q control function controls spacing in theη-direction. Since it is desired that grid spacing normal to the boundaries be preserved between theinitial algebraic grid and the elliptically smoothed grid, we cannot allow smoothing of the P controlfunction along ξ-coordinate lines or smoothing of the Q control function along η-coordinate lines. Thisleaves us with the following smoothing iteration where smoothing takes place only along allowed coor-dinate lines:

(6.15)

Smoothing of control functions is done for a small number of iterations.

g g

g g22 11

22 11

1

2

x x

y y

P

Q

R

Rξ η

ξ η

=

R x x x

R y y y

1 12 22 11

2 12 22 11

2

2

= − −

= − −

g g g and

g g g

ξη ξξ ηη

ξη ξξ ηη

.

P P P

Q Q Q

i j i j i j

i j i j i j

, , ,

, , ,

( )

( ).

= +

= +

+ −

+ −

1212

1 1

1 1

Page 11: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

Finally, by blending the smoothed initial control functions together with orthogonal control functions,we will produce control functions that will result in preservation of grid density information throughoutthe grid, along with boundary orthogonality. An appropriate blending function for this purpose is

where δ is some positive number chosen such that the exponential decays smoothly from unity on theboundary to nearly zero in the interior. δ can be considered to be the characteristic length of the decayof the blending function in the (ξ,η ) domain. So, for example, if δ = .05, the orthogonal control functionsheavily influence a region consisting of 5% of grid lines which are nearest to each boundary. Now thenew blended values of the control functions are computed as follows:

(6.16)

where PO and QO are the orthogonal control functions from Eq. 6.10. PI and Q1 are the smoothed initialcontrol functions computed using Eqs. 6.14 and 6.15.

As an application of Dirichlet orthogonality, in Figure 6.6 we show the results of smoothing thealgebraic grid of Figure 6.2 using orthogonal control functions only. Like the grid produced usingNeumann orthogonality, the grid is smooth, boundary-orthogonal, and no longer folds in the interior.However, unlike the grid of Figure 6.3, we see that the grid of Figure 6.6 preserves the grid point densityinformation of the algebraic grid at the boundaries. The effect of smoothing near the boundaries hasbeen essentially to slide nodes along the coordinate lines parallel to the boundaries, without affectingthe spacing between the coordinate lines normal to the boundary.

We note that if the user for some reason wished to preserve the interior clustering of grid points inthe algebraic grid, then the above scheme given for blending initial control functions with orthogonalcontrol functions would have to be slightly modified. This is because the fact that the algebraic grid isactually folded in the interior makes the evaluation of the initial control functions using Eq. 6.14 ill-defined. This is easily remedied by evaluating the initial control functions using Eq. 6.14 at the boundaries

FIGURE 6.6 An elliptic planar grid on a bicubic geometry with Dirichlet orthogonality.

b ei j

i

m

j

n

m i

m

n j

n, ,=

− − −1δ

P i j b P i j b P i j

Q i j b Q i j b Q i j

i j o i j I

i j o i j I

( , ) ( , ) ( ) ( , )

( , ) ( , ) ( ) ( , )

, ,

, ,

= + −

= + −

1

1

Page 12: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

only using one-sided derivatives, and then defining them over the whole mesh using transfinite interpo-lation. Since there is no folding of the algebraic grid at the boundaries, this is well-defined. (The

©1999 CRC Press LLC

interpolated initial control functions will reflect the grid density information in the interior of the initialgrid, because the interior grid point distribution of the initial grid was computed using the same process— transfinite interpolation of boundary data.) Then we proceed as above, smoothing the initial controlfunctions and blending them with the orthogonal control functions.

Finally we note that if the algebraic initial grid possesses folding at the boundary, then using data fromthe algebraic grid to evaluate either the initial control functions or the orthogonal control functions atthe boundary will not work. In this case, one could reject the algebraic grid entirely and manually specifygrid density information at the boundary. This would however defeat the purpose of our approach, whichis to simplify the grid generation process by reading grid density information off of the algebraic grid.Instead, we suggest that in this case the geometry be subdivided into patches sufficiently small so thatthe algebraic initial grids on these patches do not possess grid folding at the boundaries.

6.3 Boundary Orthogonality for Surface Grids

Now we turn our attention to applying the same principles of the previous section to the case of surfacegrids. Our surface is assumed to be defined as a mapping x(u,v): IR 2 → IR 3. The (u,v) space is the parametricspace, which we conveniently take to be [0,1] × [0,1]. The parametric variables are themselves taken to befunctions of the computational variables ξ, η, which live in the usual [0, m] × [0, n] domain. Thus

(6.17)

The mapping x(u,v) and its derivatives xu, xv , etc., are assumed to be known and evaluatable at reasonablecost. It is the aim of surface grid generation to provide a “good” mapping (u(ξ,η ), v(ξ,η )) so that thecomposite mapping x(u(ξ,η ), v(ξ,η )) has desirable features, such as boundary orthogonality and anacceptable distribution of grid points.

A general method for constructing curvilinear structured surface grids is based on partial differentialequations (see Khamayseh and Mastin [1], Warsi [9], and Chapter 9). The parametric variables u and vare solutions of the following quasi-linear elliptic system:

(6.18)

(6.19)

where

(6.20)

x = = =( , , ) ( , , , , , ) ( , ) ( , , , )( ) ( ) ( ) ( ) ( )x y z x u v y u v z u v u v u v and ξ η ξ η

g g g and22 12 112

22( ) ( )u Pu u u Qu J uξξ ξ ξη ηη η+ − + + = ∆

g g g22 12 112

22( ) ( ) ,v Pv v v Qv J vξξ ξ ξη ηη η+ − + + = ∆

g g g g

g g g g

g g g g

g g

11 112

12 222

12 11 12 22

22 112

12 222

222 12

2

2

2

= + +

= + + +

= + +

=

=

u u v v

u u u v u v v v

u u v v

u Ju J v J

v J

ξ ξ ξ ξ

ξ η ξ η η ξ ξ η

η η η η

∂∂

∂∂

,

( ) ,

,

,∆

∆∂∂

∂∂

ξ η η ξ

v J u J

J J u v u v

u v u v

u u u v v v

g g

g g g

g g g and

0

11 12

11 12 22

11 22 122

1

= ⋅ = ⋅ = ⋅

= − = −

= ≤ ≤

,

, , ,

, ,

( , ), , .

x x x x x x

x x

Page 13: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

Note that if x ≡ u, y ≡ v, z ≡ 0, then = 1, = 0, = 1, = 1, and ∆2u = ∆2v = 0, makingEqs. 6.18–6.20 identical to the homogeneous elliptic system for two-dimensional grid generation Eq. 6.1

g11 g12 g22 J

©1999 CRC Press LLC

presented in the previous section.As in the previous section, the control functions P and Q can be set to zero, and Neumann orthogonality

can be imposed by sliding points along the “left,” right,” “bottom,” and “top” boundaries. These fourboundaries are respectively (0, v(0,η )), (1,v(m,η )), (u(ξ ,0),0), (u(ξ ,n), 1) in parametric space, whichare mapped to the boundaries x(0,v), x(1,v), x(u,0), and x(u,1) in physical space. Of course orthogonalitymust be established in physical space. As before, if there is a need to respect the grid point concentration inthe initial algebraic grid, we implement Dirichlet orthogonality, deriving appropriate values for P and Q.

6.3.1 Neumann Orthogonality

We require the condition of orthogonality in physical space:

(6.21)

Symbolically this is identical to Eq. 6.2, but here we understand that x is a composite function Eq. 6.17which takes on values in IR 3. Expanding Eq. 6.21 using the chain rule yields the equation

This orthogonality condition is used to formulate derivative boundary conditions for the elliptic system.If the “left” and “right” boundary curves u = 0 and u = 1 are considered, we have uη = 0 and theorthogonality condition reduces to

(6.22)

Similarly, along the “bottom” and “top” curves v = 0 and v = 1, vξ = 0 and orthogonality is imposed by

(6.23)

When solving the elliptic system, Eq. 6.22 determines the values of v on the boundary segments u = 0and u = 1, and Eq. 6.23 determines the values of u on the boundary segments v = 0 and v = 1.

To implement this numerically, we use forward differencing on the boundaries u = 0 and v = 0 andbackward differencing on the boundaries u = 1 and v = 1 to compute the new values for ui,j and vi,j:

x xξ η ξ η⋅ = = =0 0 0, , , , . on and m n

g g g11 22 12 0u u v v u v u vξ η ξ η ξ η η ξ+ + + =( ) .

g g22 12 0v uξ ξ+ = .

g g11 12 0u vη η+ = .

v u u v

j n

v u u v

u v v u

i m

u v v

j j j j

m j m j m j m j

i i i i

i n i n i n

012

221 0 1

12

221 1

012

111 0 1

12

11

0

0

, , , ,

, , , ,

, , , ,

, , ,

( )

( )

( )

(

= − +

< <

= − − +

= − +

< <

= − −

− −

gg

gg

gg

gg −− −+1 1) , .ui n

Page 14: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

Since the boundary points are permitted to float with the solution as a means to achieve orthogonality(Figure 6.3), the values of must, of course, be reevaluated after each cycle using the definition of thegeometry x(u,v). Also, as in the last section, “guards” must be used to prevent a given boundary pointfrom overtaking its neighbors when sliding along the boundaries.

Figure 6.7 shows an initial algebraic grid on a bicubic surface geometry. The grid was obtained usinglinear transfinite interpolation and is the starting iterate for our elliptic smoothing. Clearly, the initialgrid is not orthogonal at the boundaries where orthogonality is often desired, especially for Navier–Stokescomputation.

Figure 6.8 shows the elliptically smoothed surface grid on the same geometry. Neumann orthogonalitywas applied to allow the boundary points to float so that the grid is orthogonal on the boundary.Significant changes in boundary grid spacing occur near some of the corners.

6.3.2 Dirichlet Orthogonality

For the case of Dirichlet orthogonality for surface grids, we essentially follow the same technique as thatused in Section 6.2.2. Expressions for the control function P and Q are derived at the boundary usingthe assumption of orthogonality, and then to facilitate evaluation of these expressions, ghost points areplaced orthogonally off the boundary with normal spacing derived from the initial grid (Figure 6.5).

We rewrite the elliptic system Eqs. 6.18–6.19 in vector form:

(6.24)

FIGURE 6.7 An algebraic surface grid on a bicubic geometry.

gij

g g22 12 112

22( ) ( ) ,u u u u u uξξ ξ ξη ηη η+ − + + =P g Q J ∆

©1999 CRC Press LLC

Page 15: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

where u = (u,v). For u1 = (u1, v1) and u2 = (u2, v2), define

Note that u1 ° u2 =_ uT1 u2, which is the inner product in parametric space induced by the metric tensor

. Orthogonality in this inner product is equivalent to orthogonality in physical space.

Suppose that the grid lines are orthogonal, i.e., xξ . xη = uξ ° uη vanishes. Applying °uξ to Eq. 6.24 yields

In the same manner, applying °uξ to Eq. 6.24 yields the following equation for the second control functionon the boundaries:

The values of P and Q can be determined from the complete expansion of the above equations as follows:

FIGURE 6.8 An elliptic surface grid on a bicubic geometry with Neumann orthogonality.

u u1 2 11 1 2 12 1 2 2 1 22 1 2o = + +( ) +g g gu u u v u v v v .

G

Gg11 g12

g12 g22 =

g g22 112

2( ) .u u u u u u u uξξ ξ ξ ξ ηη ξ ξo o o o+ + =P J ∆

g g22 112

2u u u u u u u uξξ η ηη η η η ηo o o o+ + =( ) .Q J ∆

Page 16: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

P Juu vv uv vu

=+ + +

2 11 2 22 2 12 2 2g g g∆ ∆ ∆ ∆ξ ξ ξ ξ( )

©1999 CRC Press LLC

(6.25)

As in the previous section, these control functions derived using orthogonality considerations arecalled orthogonal control functions, are interpolated to the interior using linear transfinite interpolation,and are updated at every iteration during solution of the elliptic system.

We now go into some detail about the exact way these control functions are evaluated at the boundary.The terms , , , ∆2u, ∆2v are evaluated at the boundary from the geometry definition x(u) anddo not change during the course of iteration.

At non-corner points on the “left” u = 0 and “right” u = 1 boundaries, as in Section 6.2.2 we havethat the derivatives uη , uηη and the spacing g 22 = ||xη ||2 are determined using centered difference formulasfrom the boundary point distribution and do not change. The normal derivative uξ off the boundary iscomputed using one-sided difference formulas that involve one boundary point and the adjacent interiorpoint. Dependence on the interior point implies that this value must be updated during the course ofiteration. Also updated during the course of iteration is uξξ , which is computed using a centered differenceformula involving an interior point, a boundary point, and a ghost point u–1, j or um+1, j off the boundary.The ghost point value is derived once at the beginning of iteration by doing an analysis of the correctgrid spacing off the boundary and by imposing physical orthogonality.

We now derive the location of the ghost points at the “left” u = 0 boundary. Similar to Section 6.2.2,let (uη )0, j denote the centrally differenced derivative 1/2(u0, j+1 – u0, j–1) and let (uo

ξ)0, j denote the initialone-sided derivative uo

1, j – u0, j , where uo1, j ≡ u1, j on the initial algebraic grid, and u0, j is the unchanging

boundary value.Now to define uξ , used in the definition of ghost points and grid spacing off the boundary, we again

make the assumption of Figure 6.4 that in physical space xξ is the projection of xoξ (= xuuo

ξ + xvvoξ) onto

the direction a ≡ physically orthogonal to the boundary. This is equivalent to Eq. 6.11 or, in terms

of the grid spacing off the boundary, this is equivalent to

(6.26)

Combining Eq. 6.26 with the parametric space orthogonality condition Eq. 6.22, we obtain

u u v v u v v u

u u v v u v v u

Q Juu

−+ + +

−+ + +

=

11 22

11 22 12

22

11 22 12

11

2 11 2

g g

g g g

g

g g g

g

g ∆

ηη ξ ηη ξ ηη ξ ηη ξ

ξξ ξ ξξ ξ ξξ ξ ξξ ξ

η

( )

( )

++ + +

−+ + +

−+ + +

g g

g g

g g g

g

g g g

g

22 2 12 2 2

11 22

11 22 12

22

11 22 12

11

∆ ∆ ∆vv uv vu

u u v v u v v u

u u v v u v v u

η η η

ηη η ηη η ηη η ηη η

ξξ η ξξ η ξξ η ξξ η

( )

( )

( )

g11 g12 g22

xx

xx---------

x xx

xξ ξξ

ξ

= ⋅0 .

Page 17: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

(6.27)uξ ξ ξ= −

u u0 12 0, .

g

©1999 CRC Press LLC

The grid point locations are then defined by the reflection operation in physical space shown in Figure 6.5or equivalently, the first order Taylor expansion in parametric space involving the orthogonal boundaryderivative:

This leads to ghost point locations at the left boundary given by

and

The last quantity required for computation of the control functions at the u = 0 boundary using Eq. 6.25is the grid spacing orthogonal to the boundary g11 = ||xξ ||2 orthogonal to the boundary. We have that

Substituting Eq. 6.27 into this formula, we easily obtain

(6.28)

where . Since the boundary points are fixed, this quantity is constant at each boundarypoint throughout the iteration.

22g

u u

u

− = +

= −1 0

0 0

, , ,

, ,

( )

( )

j j o j

j j

u

u

∆ξ ξ

ξ

u u u

u u

u u u

u

j j j

j j

j j j

j

− = −( )= −( )= − −( )= −

1 0 0

00

0

0 10

0

10

, , ,

, ,

, , ,

,

ξ

ξ

v v v

v u

v u u

v u

j j j

j j

j j j

j j

− = −( )= + ( )= + −( )

= +

1 0 0

012

22

0

0

012

2210

0

012

2210

, , ,

, ,

, , ,

, , .

ξ

ξ gg

gg

gg

g g g g11 112

12 2222= + +u u v vξ ξ ξ ξ .

gg

g1122

02

= ( )uξ ,

g g11g22 g122–≡

Page 18: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

Computation of the control functions at the u = 1 boundary is done in the same way as that for theu = 0 boundary. We note that Eq. 6.27 is still valid, and using the first-order Taylor expansion

©1999 CRC Press LLC

the ghost point locations are given by

and

Also note that the expression for grid spacing off the “left” boundary Eq. 6.28 is still valid for the “right”boundary.

For the non-corner “bottom” and “top” boundaries, we have that uξ , uξξ , g11 = ||xξ ||2 are computedonce using centered difference formulas, uη is computed repeatedly using a one-sided difference formula,and uηη is computed repeatedly using a centered difference formula involving a ghost point value ui,–1

or ui,n+1 that is computed once using grid spacing and physical orthogonality considerations. In fact,analogous to the orthogonal boundary derivative Eq. 6.27 which is valid for the “left” and “right”boundary, we can derive with similar reasoning that for the “bottom” and “top” boundaries we shouldhave

where voη is a one-sided difference computed using the initial algebraic grid. This corresponds to the

orthogonal projection in physical space shown in Figure 6.5. By similar reasoning as that used for the“left” and “right” boundaries, this leads to fictitious boundary point locations

u u

u

m j m j m j

m j m j

u

u

+ = +

= +1, , ,

, ,

( )

( ) ,

∆ξ ξ

ξ

u u u

u u

u u u

u

m j m j m j

m j m j

m j m j m j

m j

+

= +( )= +( )= + −( )= −

1

0

10

102

, , ,

, ,

, , ,

,

ξ

ξ

v v v

v u

v u u

v u

m j m j m j

m j m j

m j m j m j

m j m j

+

= +( )= − ( )= − −( )

= − −( )

1

12

22

0

12

221

0

12

221

01

, , ,

, ,

, , ,

, , .

ξ

ξ gg

gg

gg

uη η η= −

gg

12

11

0 0v v, ,

u u v

v v

i i i

i i

, , ,

, ,

= +

= −

1 012

111

0

1 10

gg

Page 19: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

on the “bottom” boundary, and

©1999 CRC Press LLC

for the “top” boundary. Similar to Eq. 6.28, the grid spacing off the “bottom” and “top” boundaries isgiven by

Using the same rationale as used in Section 6.2.2, quantities for the four corner points,

are computed without orthogonality considerations or ghost points. The values uξ , uξξ , uη , uηη , g11, g22

are all evaluated once using one-sided difference formulas using the specified boundary values and donot change during the course of iteration.

If blending of orthogonal and initial control functions is desired to maintain the initial interior pointdistribution, we follow the same program followed in Section 6.2.2, which is to compute the initial controlfunctions that would reproduce the algebraic grid, smooth them, and then blend them with orthogonalcontrol functions using Eq. 6.16. However, now the blending is done in the parametric domain, so thatthe blending function is given by

and δ can be considered to be the characteristic length of the decay of the blending function in the(u,v)-parametric domain.

Figure 6.9 exhibits an elliptically smoothed orthogonal grid on the surface geometry depicted inFigure 6.7. The elliptic grid was generated using control functions computed from an initial algebraicgrid that had been blended with orthogonal control functions computed on the boundaries using Eq. 6.25.We see that initial spacing is preserved throughout the grid, and the grid near the boundaries is almostperfectly orthogonal.

6.4 Boundary Orthogonality for Volume Grids

The elliptic system of partial differential equations for generating curvilinear coordinates in volumes isgiven by (see Chapter 4 and Thompson [7])

(6.29)

where ξ i, i = 1, 2, 3 are the curvilinear coordinates and x = (x1, x2, x3) is the vector of physical coordinates.The construction of a three-dimensional grid on a given geometry in physical space (x1, x2, x3) may be viewedas construction of a mapping x(ξ ) to physical space from a convenient computational space (ξ 1, ξ 2, ξ 3),which we take to be the brick [ξ 1

min, ξ 1max] × [ξ 2

min, ξ 2max] × [ξ 3

min, ξ 3max].

u u v

v v

i n i n i n

i n i n

, , ,

, ,

+ −

+ −

= − −( )= −

112

111

0

1 10

1

2

gg

gg

g2211

0 2= ( )vη

0 0 0 0, , , , , , , ,( ) ( ) ( ) ( )m n m n

b e u vi j

u v u v

i j i j

i j i j i j i j

, , ,

, , , ,

, ,= ≤ ≤− −( ) −( )1

1 10 1δ

g Pmn nnn

nm

m n nx xξ ξ ξ

+ =∑ ∑∑== n=1

3

g 01

3

1

3

Page 20: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

The Pn are the three control functions that serve to control the spacing and the orientation of the gridlines in the field. The elements of the contravariant metric tensor gmn and the elements of the covariantmetric tensor gmn are expressed by

Moreover, the contravariant and covariant metrics are matrix inverses of each other and are related as

where g, the square of the Jacobian of the mapping x(ξ ), is given by

The elliptic generation system in Eq. 6.29 is the one used in smoothing volume grids. The first stepin solving the system in Eq. 6.29 is to generate grids on the six surfaces bounding the physical subregion.Then the initial algebraic volume grid is generated between six faces using transfinite interpolation. Theinitial grid is considered to be the initial solution to the elliptic system Eq. 6.29 and the faces of the gridprovide boundary conditions for (x1, x2, x3).

The concept of volume orthogonality proceeds in the same spirit as the surface case.

FIGURE 6.9 An elliptic surface grid on a bicubic geometry with Dirichlet orthogonality.

g

g

mn m n

mn m n

= ∇ ⋅ ∇= ⋅

ξ ξ

ξ ξx x .

g g g g g g ( , , ),( , , ) cyclicmnik jl il jk m i j n k l= −( ) ,

g g= [ ] = ⋅ × )(

det .mn x x x

ξ ξ ξ1 2 3

2

Page 21: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

6.4.1 Neumann Orthogonality

The first technique of achieving boundary orthogonality requires moving the physical coordinates on

©1999 CRC Press LLC

the surface (face) (or ) so that the orthogonality conditions

(6.30)

are satisfied with (l, m, n) cyclic. Assume for the moment that our objective is to move the node xi,j,k onthe surface represented parametrically by x(u0, v0) to a new location x(u,v) on the surface. Todetermine the position of the new node x we need to solve for u and v. Denoting the node off the surfaceby x⊥ using one-sided differencing, we can write

Thus, the orthogonality conditions in Eq. 6.30 are expressed as

(6.31)

Taylor expansion of x(u,v) about (u0, v0) gives

(6.32)

where xo = x(u0, v0), xou = xu(u0, v0), and xo

v = xv(u0, v0). Substituting Eq. 6.32 in the system Eq. 6.31 yields

(6.33)

Using the chain rule of differentiation on xξ and xη

and substituting in Eq. 6.33, we obtain the linear system

Sx min

l Sx max

l

x x

x xξ ξ

ξ ξ

l m

l n

⋅ =

⋅ =

0

0

Sx minl

x x xξ ξl lS≈ −⊥ on

min.

x x x

x x x

−( ) ⋅ =

−( ) ⋅ =

ξ

ξ

m

n

0

0.

x x x xu v u u v vu v, ,( ) ≈ + −( ) + −( )o o o0 0

x x x x x x x

x x x x x x x

u v

u v

m m m

n n n

u u v v

u u v v

o o o

o o o

⋅( ) −( ) + ⋅( ) −( ) = −( ) ⋅

⋅( ) −( ) + ⋅( ) −( ) = −( ) ⋅

ξ ξ ξ

ξ ξ ξ

0 0

0 0 .

x x x

x x x

ξ ξ ξ

ξ ξ ξ

m m m

n n n

u v

u v

u u

u u

= +

= +

o o

o o

Aw b=

Page 22: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

where

Solving the above system for w1 and w2, we then compute u = u0 + w1 and v = v0 + w2. Finally, we compute

new coordinates x(u,v) to get the location of the grid point on the surface .

Figure 6.10 shows the cross section of an algebraic volume grid on a booster geometry. Clearly thegrid is highly nonorthogonal at various points on the booster surface.

Figure 6.11 shows the same grid after elliptic smoothing with imposed Neumann orthogonality. Thegrid points successfully moved along the booster surface to achieve orthogonality, but with the unfortu-nate side effect of some degradation of the initial boundary node distribution.

6.4.2 Dirichlet Orthogonality

As in the case of planar or surface grids, an alternative way of constructing orthogonal volume coordinatesis to keep the surface nodes fixed and to allow the interior values in the array xi,j,k to move. This type oforthogonality can be enforced using the control functions P1, P2, and P3 computed on the surfaces.

An iterative solution procedure for the determination of the three control functions for the generalthree-dimensional case was initially developed by Sorenson [4]. Expressions for the control functions ona coordinate surface on which ξ l is constant can be obtained from the two coordinate lines lying on thesurface, i.e., the lines on which ξ m and ξ n vary, (l,m,n) being cyclic. The development presented herefollows that of Thompson [7].

FIGURE 6.10 A cross section of an algebraic volume grid exterior to a booster.

Ax x x x x x x x

x x x x x x x x

w

=

=

u u u v u v v v

u u u v u u u v

u v u v

u v u v

w

m m m m

n n n n

o o o o o o o o

o o o o o o o o

⋅( ) + ⋅( ) ⋅( ) + ⋅( )⋅( ) + ⋅( ) ⋅( ) + ⋅( )

ξ ξ ξ ξ

ξ ξ ξ ξ

1

ww

u u

v v

u v

u vu v

u v

m m

n n

2

0

0

=−−

−( ) ⋅ −( ) ⋅−( ) ⋅ −( ) ⋅

⊥ ⊥

⊥ ⊥bx x x x x

x x x x x=

x

x

o o o o

o o o o

ξ ξ

ξ ξ

.

Sx min

1

Page 23: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

The inner product of , , and with Eq. 6.29 and using the orthogonality condition Eq. 6.30yields the following three equations for Pl, Pm, and Pn on the surfaces ξ l = const.

(6.34)

(6.35)

(6.36)

Proceeding as in the planar case, we construct ghost points for the evaluation of . At the ξ = ξmin

boundary, we define the unit vector orthogonal to the boundary,

FIGURE 6.11 A cross section of an elliptically smoothed volume grid exterior to a booster with imposed Neumannorthogonality at the surface.

xxl xxm x

xn

Pl ll

l

mm nn mnnn mm mn

l l l

m m n n m n

= − ⋅

−−

⋅ + −( )1

2 2

g

g g g

g g g

x x

xx x x

ξ ξ ξ

ξξ ξ ξ ξ ξ ξ

Pmll

mmn

nnn l l

mmn

nnn

mm nn mnnn m m mm n n mn m n

= −

−−

⋅ + −( )

- ggg

gg

g g gg g g

1

22

x x x

x xx x x

ξ ξ ξ ξ

ξ ξ

ξ ξ ξ ξ ξ ξ

Pnll

nmn

mmm l l

nmn

mmm

mm nn mnnn m m mm n n mn m n

= −

−−

⋅ + −( )

- ggg

gg

g g gg g g

1

22

x x x

x xx x x

ξ ξ ξ ξ

ξ ξ

ξ ξ ξ ξ ξ ξ.

xxlxl

Page 24: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

ax x x

≡ =×

ξ ξ ξl m n.

©1999 CRC Press LLC

The fixed derivative orthogonal to the boundary is then defined by

where is the one-sided derivative obtained from the initial algebraic grid, and Pa = aaT is theorthogonal projection onto the one-dimensional subspace by the unit vector a. Thus we obtain

(6.37)

So, for the ξ lmin surface (i.e., i = 0), our ghost point locations would be given by

where ( )0, j, k was computed using Eq. 6.37 and is fixed, since it depends only on fixed boundary dataand data from the initial grid. For the ξ l

max surface (i.e., i = m), our ghost point locations would be given by

again using the fixed orthogonal derivative Eq. 6.37. The ghost points for the ξ 2min , ξ 2

max , ξ 3min , and ξ 3

max

surfaces are similarly computed.Note that for computed by Eq. 6.37, we have that

This means that the ghost points will form cells with the same volume as the first layer of cells in thealgebraic grid. This is expected because, as in Figure 6.5 for the planar case, the ghost points have beenconstructed to form a surface that is the reflection of the first interior coordinate surface, and so cellvolume must be conserved. Of course, the ghost points will form cells which are orthogonal to theboundary, while the first layer of cells from the algebraic grid are probably not.

Now, similar to the planar case, the terms in Eqs. 6.34–6.36 are computed using a ghost point,a boundary point, and an iteratively updated interior point, while gll = || ||2 computed using Eq. 6.37and is fixed for the whole iteration. The terms appearing in Eq. 6.34 are evaluated using one-sideddifferencing involving a boundary point and an iteratively updated interior point. The remaining termsin Eqs. 6.34–6.36 are computed using central differencing on the fixed boundary data. At the 8 cornersand the 12 edges, the terms in Eqs. 6.34–6.36 are evaluated using all one-sided differences (for the corners)or a combination of one-sided and central differences (for the edges). As in the planar case, no orthog-onality information is incorporated into the calculation of the orthogonal control functions at these

x x x×ξ ξ ξl m n

x P xaξ ξ

ll

=

o ,

xx lo

x a a x

x x

x xx x x

ξ ξ

ξ ξ

ξ ξ

ξ ξ ξ

l l

m n

m n

m n l

= ⋅( )=

×

×× ⋅( )

o

o 2 .

x x x− = −( )1 00

, , , ,, ,

,j k j kj k

xx l

x x xm j k m j km j k

l+ = +( )1, , , ,, ,ξ

xx l

x x x x x x

ξ ξ ξ ξ ξ ξm n l m n

l× ⋅ = × ⋅ o .

xx lx l

xx l

xx l

Page 25: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

©1999 CRC Press LLC

points that are at the boundaries of the boundary surfaces. Finally, the orthogonal control functionscomputed using Eqs. 6.34–6.36 are interpolated to the interior by linear transfinite interpolation.

If blending of orthogonal and initial control functions is desired to maintain the initial interior pointdistribution, we follow the same program followed in Section 6.2.2, which is to compute the initial controlfunctions that would reproduce the algebraic grid, smooth them, and then blend them with orthogonalcontrol functions using Eq. 6.16. However, now the blending is done on a brick rather than on a rectangle,and so the blending function is given by

where

As in the planar case, δ is some positive number that can be considered to be the characteristic lengthof the decay of the blending function in the computational domain.

In Figure 6.12 we show the cross section of the grid of Figure 6.10 after elliptic smoothing usingDirichlet orthogonality. Clearly the grid is orthogonal at the surface, and the effect of smoothing hasbeen to slide nodes along the coordinate surfaces parallel to the boundary, without affecting the spacingof the coordinate surfaces normal to the boundary.

FIGURE 6.12 A cross section of an elliptically smoothed volume grid exterior to a booster with imposed Dirichletorthogonality at the surface.

b ei j k

u v w u v wi j k i j k i j k i j k i j k i j k

, ,, , , , , , , , , , , ,= − −( ) −( ) −( )1 1 1 1δ

ui

vj

wk

i j k

i j k

i j k

, ,min

max min

, ,min

max min

, ,min

max min

.

= −−

= −−

= −−

ξξ ξ

ξξ ξ

ξξ ξ

1

1 1

2

2 2

3

3 3

Page 26: Chapter 6: Boundary Orthogonality in Elliptic Grid Generationebrary.free.fr/Mesh Generation/Handbook_of_Grid_ Generation,1999/chap06.pdfIn elliptic grid generation, an initial grid

6.5 Summary

©1999 CRC Press LLC

A comprehensive development has been presented for the implementation of boundary orthogonalityin elliptic grid generation for planar domains, surfaces, and volumes. For each of these three cases, twotechniques have been presented. One technique, Neumann orthogonality, involves sliding points alongthe boundaries to establish orthogonality. Our implementation of the other technique, Dirichlet orthog-onality, involves sliding points along the first interior coordinate surface of the initial grid and thenreflecting them across the boundary to form the ghost points which will be used in the computation ofthe orthogonal control functions in the elliptic system. The former technique is appropriate for interiorboundaries between different grid patches, while the latter technique is appropriate for physical bound-aries where grid point density must be preserved under elliptic iteration. These techniques can be appliedat all or selected boundaries.

In the case of Dirichlet orthogonality, orthogonal control functions can be blended with initial controlfunctions if preservation of interior grid point distribution is desired. These orthogonality techniqueshave proven to be reliable and efficient in the construction of planar, surface, and volume grids.

References

1. Khamayseh, A. and Mastin, C W., Computational conformal mapping for surface grid generation,J. Comput. Phys. 1996, 123, pp 394–401.

2. Soni, B.K., Elliptic grid generation system: control functions revisited-I, Appl. Math. Comput. 1993,59, pp 151–163.

3. Sorenson, R.L., A computer program to generate two-dimensional grids about airfoils and othershapes by the use of Poisson’s equations, NASA TM 81198. NASA Ames Research Center, 1980.

4. Sorenson, R.L., Three-dimensional elliptic grid generation about fighter aircraft for zonal finitedifference computations, AIAA-86-0429. AIAA 24th Aerospace Science Conference, Reno, NV,1986.

5. Spekreijse, S.P., Elliptic grid generation based on laplace equations and algebraic transformations, J.Comput. Phys. 1995, 118, pp 38–61.

6. Thomas, P.D. and Middlecoff, J.F., Direct control of the grid point distribution in meshes generatedby elliptic equations, AIAA J. 1980, 18, pp 652–656.

7. Thompson, J.F., A general three-dimensional elliptic grid generation system on a composite blockstructure, Comp. Meth. Appl. Mech. and Eng. 1987, 64, pp 377–411.

8. Thompson, J.F., Warsi, Z.U.A., and Mastin, C.W., Numerical Grid Generation: Foundations andApplications. North-Holland, New York, 1985.

9. Warsi, Z.U.A., Numerical grid generation in arbitrary surfaces through a second-order differentialgeometric model, J. Comput. Phys. 1986, 64, pp 82–96.