본 자료는 국내 사용자들의 편의를 위해 원문 번역을 해서 제공하기 때문에 일부 오역이 있을 수 있어서 원문과 함께 수록합니다. 자료를 이용하실 때 참고하시기 바랍니다.

Rectangular Grids

Useful Extensions to Rectangular Gridding

Most techniques for doing computational fluid dynamics rely on the subdivision of space into a grid of discrete volume elements in which average values of flow variables can be defined. The simplest kind of grid is one composed of rectangular elements defined by a set of planes perpendicular to each of the coordinate axes (x,y,z). The spacing between parallel planes may be constant or variable. The former is often referred to as a “uniform” rectangular grid, while the latter is a “non-uniform” rectangular grid.

사각형 격자의 유용한 확장

전산 유체 역학 기법의 대부분은 공간을 세분화하여 흐름 변수의 평균 값을 정의 할 수있는 이산화된 체적 요소의 격자 수에 의존하고 있습니다. 가장 간단한 격자는 각 좌표축 (x, y, z)에 수직인 일련의 평면에 의해 정의되는 사각형 요소로 구성되어 있는 것입니다.  평행하는 평면 사이의 간격은 일정한 경우와 가변의 경우가 있습니다.  많은 경우, 전자를 “균일”사각형 격자라고 부르며, 후자를 “불균일”사각형 격자라고합니다.

Why are Rectangular Grids Simple?

Rectangular grids are simple because they are very easy to generate. It is only necessary to define the beginning and ending coordinate of the grid in each coordinate direction, and in the spacing between the planes subdividing the space to be modeled.

사각형 격자가 간단한 이유

사각형 격자가 간단한 것은 매우 쉽게 생성 할 수 있기 때문입니다.  필요한 것은 좌표 방향에 따라 그리고 모델링 대상의 공간을 세분화하고 있는 평면 사이에서 격자의 시작 좌표와 끝 좌표를 정의하는 것 뿐 입니다.

Pros and Cons of Rectangular Grids

As with any gridding system, there are pros and cons to contend with (see, for example, Free Gridding Saves Time). One pro for rectangular grids is that the amount of information to be stored for describing the grid is minimal. A con is that a region to be modeled may not fit into a rectangular region. For example, think of a bird’s eye view of a winding river, which when set in a rectangular region, may only occupy a small portion of the area of the rectangle. In such a case, most of the grid elements lie outside the river and would be a computational burden.

사각형 격자의 장점과 단점

어떤 격자 생성 시스템에서도 마찬가지이지만 해결해야 할 장단점이 있습니다 ( ” Free Gridding Saves Time “참조).  사각형 격자의 장점 중 하나는 격자를 설명하기 위해 저장되는 정보량을 최소화하는 것입니다.  단점은 모델링 대상의 영역이 사각형 영역에 들어 가지 않는 경우가 있는 것입니다.  예를 들어, 구불 구불한 강 조감도에 대해 생각하면, 직사각형 영역으로 설정 한 경우, 직사각형의 아주 작은 부분만을 차지하게되는 경우가 있습니다.  이러한 경우에는 격자의 대부분의 요소가 강 바깥에 존재하고 계산에서 부담으로 작용합니다.

Difference Equations are Simpler

Another pro for a rectangular grid is that difference equations are generally simpler than they are in a non-rectangular grid. For instance, in three dimensions an approximation to the Navier-Stokes equation for the velocity in an element need only involve the six adjacent elements, that is, two neighbors in each of three coordinate directions. In contrast, a non-rectangular grid typically requires a coupling to all the surrounding elements in a 3x3x3=27 array surrounding the central element.

차분 방정식의 단순화

사각형 격자의 또 다른 장점은 일반적으로 사각형이 아닌 격자에 비해 차분 방정식이 간단하다는 것입니다.  예를 들어, 3 차원에서는 요소의 속도에 관한 나비에 – 스토크스 방정식의 근사에 필요한 것은 인접한 6 개의 요소, 즉 3 개의 좌표 각각의 방향에있는 2 개의 이웃 요소만 포함하면됩니다. 이에 대해 사각형이 아닌 격자의 경우, 중심 요소를 둘러싸는 3x3x3 = 27의 배열에 있는 모든 주변 요소에 결합해야합니다.

Numerical Accuracy is Best When Grid Elements are Uniform

As a general rule, numerical accuracy associated with finite difference equations is best when grid elements are uniform. This is because numerical approximations to partial differential equations, by definition, involve the rate of change of spatial and temporal values of physical quantities. Evaluating the change between values of quantities on either side of an element is most accurate when the elements are uniform because higher order terms will then, as a rule, cancel by symmetry. When non-uniform grid elements are used, more complicated numerical approximations are usually needed to preserve accuracy (see the Appendix for an example).

수치적 정확도는 격자 요소가 균일한 경우가 최적의 상태

일반적으로 격자 요소가 균일 한 때 유한 차분 방정식에 관련된 수치적 정확도가 최적의 상태로됩니다.  이것은 편미분 방정식의 수치 근사 정의에 의해 물리량의 공간과 임시값의 변화율이 관계되기 때문입니다.  하나의 요소 양쪽의 양 사이의 값의 변화를 평가하는 요소가 균일 한 때 가장 정확도가 높아집니다.  이것은 높은값 다음 항목은 일반적으로 대칭에 의해 상쇄되기 때문입니다.  균일 격자 요소를 사용하면 정확도를 유지하기 위해서는 일반적으로 더 복잡한 수치 근사가 필요합니다 (부록 참조).

Weighing the Pros and Cons of Rectangular Grids

By weighing the pros and cons it can be seen that simple rectangular grids have many good properties, but the limitations they have for accommodating complex geometric shapes can limit their usefulness. In the remainder of this article, several conceptually simple techniques are described that greatly extend the usefulness of rectangular grids without sacrificing their good properties. For simplicity of presentation only two-dimensional situations will be described, however, the extension to three-dimensions is completely straightforward.

사각형 격자의 장단점 비교 검토

장단점을 비교 검토해보면 간단한 직사각형 격자에 우수한 특성이 많은 것을 알 수 있을 것입니다.  그러나 복잡한 기하학적 형상에 대응하기 위해 부과되는 제한으로 인해 유용성이 제한 될 수 있습니다.  이 책의 나머지 부분에서는 우수한 특성을 희생하지 않고 사각형 격자의 유용성을 크게 확대하기위한 개념적으로 간단한 기법들을 설명합니다.  알기 쉽게하기 위해 2차원의 경우만 설명하고 있지만, 3차원으로의 확장도 매우 간단합니다.

Notation for Rectangular Grids

In a rectangular (2D) grid, the elements are typically labeled by integers i and j in the x and y coordinate directions, respectively. An element (i,j) has principal neighbors (i-1,j), (i+1,j), (i,j-1) and (i,j+1). Physical properties in a cell are stored as values of two-dimensional arrays such as p(i,j) for the pressure of element (i,j). When programming difference equations, the use of repeated indexed arrays requires the compiler to perform the index shifts, e.g., i+1 or j-1, as arithmetic operations in order to evaluate the memory locations of these quantities.

To save computational time it is useful to replace multiple-indexed quantities by single-indexed arrays. Multiple array locations are computed only once at the beginning of a string of computations, for instance, the notation ipj=i+1,j or ijm=i,j-1 are short, simple and easy to read single indices. They are easy to read by remembering that ip means i plus 1 and jm means j minus 1, etc. Thus, a double-indexed quantity P(i+1,j-1) would be replaced by the single-indexed quantity P(ipjm), and so forth. Not only is this notation easy to use and saves computational time, it will be seen below that it has another very useful property.

사각형 격자의 표기법

직사각형 (2D) 격자 요소에는 일반적으로 x와 y 좌표 방향에 대해 각각 정수 i와 j의 라벨을 붙일 수 있습니다.  요소 (i, j)의 주요 인접 요소는 (i-1, j) (i + 1, j), (i, j-1) (i, j + 1)입니다.  셀의 물리적 특성은 2 차원 배열의 값으로 저장됩니다.  예를 들어, 요소 (i, j)의 압력은 p (i, j)입니다.  차분 방정식을 프로그래밍할 때 인덱스 배열을 반복 사용하는 경우는 이러한 양의 메모리 위치를 구하기 위해 산술로 i + 1과 j-1과 같은 인덱스 변화를 컴파일러에서 실행해야 할 수 있습니다.

계산 시간을 단축하기 위해 여러 인덱스 양을 단일 인덱싱 된 배열로 대체하면 편리합니다.  여러 배열 위치는 인스턴스 계산의 처음 한 번만 계산됩니다.  예를 들어, ipj = i + 1, j와 ijm = i, j-1 등의 표기는 짧고 간단하고 읽기 쉬운 단일 인덱스입니다.  이들은 ip가 i 플러스 1을 의미하고 jm이 j 마이너스 1을 의미하는 것 등을 기억해두면 쉽게 읽을 수 있습니다.  이처럼 이중 인덱스 첨부의 양 P (i + 1, j-1)은 단일 인덱스의 양 P (ipjm)로 대체되며 기타의 경우도 마찬가지 입니다.  이 표기법은 사용하기 쉽고, 계산 시간을 단축 할 뿐만 아니라 아래에서 보는 것과 같이 매우 유용한 특성을 가지고 있습니다.

Multiple Grid Blocks

A good way to extend the usefulness of rectangular grids is to employ multiple rectangular grids that are coupled at their boundaries. There are two simple possibilities as illustrated in Fig. 1A and Fig. 1B. The linked blocks are connected by boundary conditions where the blocks are adjacent to one another. The nested blocks are superimposed on one another and use boundary conditions to couple the nested block to the containing block.

여러 격자 블록

사각형 격자의 유용성을 확장하는 좋은 방법은 경계에 결합되는 복수의 사각형 격자를 사용하는 것입니다.  그림 1A 및 그림 1B와 같이 간단한 방법은 두 가지 가능성이 있습니다.  연결 블록은 블록이 서로 인접하는 경계 조건에 의해 결합됩니다.  중첩 블록은 서로 겹쳐져 있는 경계 조건을 사용하여 중첩 측의 블록이 외부의 블록에 결합됩니다.

Figure 1. (A) Linked mesh blocks and (B) Nested mesh blocks.

The simplest case has all the grid lines at block boundaries aligned, but this is not necessary provided an interpolation scheme is used to connect overlapping elements. The advantage of this type of grid enhancement is that numerical solver routines remain the same as what is used for a single grid block. Only boundary conditions coupling the blocks are new, and, any data connected to individual block must be updated when passing between blocks. Both of these requirements can be wrapped around the basic solver algorithms for a single block.

This multi-block capability greatly extends the usefulness of rectangular grids, as the linked-block feature allows for more extended geometric regions to be modeled with fewer grid elements. The nested-block feature is very useful for locally increasing the resolution of a simulation without having to endure the cost of simulating the finer resolution throughout the full region.

가장 간단한 경우에는 블록 경계 격자선이 모두 갖추어져 있지만 겹치는 요소를 보간법을 사용하여 결합하는 경우는  필요 없습니다.  이 유형의 격자 강화의 장점은 수치 해법 루틴이 단일 격자 블록에 사용되는 것과 동일한 것입니다.  블록을 결합하는 경계 조건만 새로하고, 개별 블록에 결합되어있는 데이터는 블록 사이를 왕래 할 때 업데이트해야 합니다.  이러한 요구 사항은 모두 단일 블록의 기본 해법 알고리즘에 추가 할 수 있습니다.

이 멀티 블록 기능은 사각형 격자의 유용성을 크게 확대합니다.  연결 차단 기능을 통해, 보다 광범위한 기하 영역을 적은 격자 요소로 모델링 할 수있게 되기 때문입니다.  중첩 블록 기능은 시뮬레이션의 해상도를 국소적으로 높이는데 매우 유용합니다.  높은 비용을 들여 전 영역에 걸쳐 높은 해상도로 시뮬레이션 할 필요가 없습니다.

Distributed Memory Parallelization

The multi-block feature also offers a natural way of domain decomposition for distributed memory parallelization. Updating of solution data at inter-block boundaries then requires an exchange of that data between compute nodes of the cluster using an interconnect.

분산 메모리 병렬 처리

멀티 블록 기능을 사용하면 분산 메모리 병렬 처리를위한 영역 분할을 자연적인 방법으로 할 수 있습니다.  그 후, 블록 간의 경계에서 계산 데이터를 업데이트하려면 클러스터의 계산 노드 간의 상호 연결을 사용하여 데이터를 교환해야합니다.

Unstructured Grid Blocks

A further generalization can be made that allows considerably more efficiency in the gridding of complex geometric regions. If the simple, rectangular ordering of elements is replaced by lists that define which elements are adjacent to one another, then all unneeded elements can be eliminated from the grid. This frees up memory and forces solver routines to simply run through a list of active grid elements, further saving computational time. A simple illustration of such an “unstructured” grid is illustrated in Fig. 2.

비 구조 격자 블록

좀 더 일반화함으로써 복잡한 기하 영역의 격자 생성의 효율을 크게 향상시킬 수 있습니다.  요소의 단순한 직사각형 순서는 요소가 서로 인접하여 있는지를 정의하는 목록에 옮겨 놓으면 불필요한 요소는 모든 격자에서 제거 할 수 있습니다.  이에 따라 메모리가 해제되고 솔버 루틴은 유효한 격자 요소의 목록만 처리하면 되기 때문에 계산 시간은 더욱 단축됩니다.  이런 ‘비 구조”격자를 간단한 그림으로 그림 2에 나타냅니다.

Figure 2. Unstructured rectangular grid example.

 

Changing from a structured, rectangular grid, where neighboring elements have memory locations that are easy to compute, to an unstructured set of elements may seem at first sight to be a daunting task. However, using the single index notation described earlier where, for example, location (i, j+1) is replace by ijp, makes this transition quite easy. All that is necessary is to redefine the single-indexed values using the list of neighboring elements and then all solver algorithms and routines can be used without further changes.

구조화 사각형 격자는 인접하는 요소의 메모리 위치를 쉽게 계산할 수 있지만, 그때 비 구조 요소에 변경하는 것은보기 어려운 작업이라고 생각 될지도 모릅니다.  그러나, 앞에서 설명한 단일 인덱스 표기법을 사용하면, 예를 들어 (i, j + 1)라는 곳이 ijp로 대체하여 매우 쉽게 전환 할 수 있습니다.  필요한 것은 인접한 요소 목록을 사용하여 단일 인덱스 값을 재 정의하는 것뿐입니다.  그러면 솔버의 알고리즘과 루틴 모두 더 이상의 변경없이 사용할 수 있습니다.

As with any unstructured grid, additional storage is required to be able to quickly find neighbor cell indices and other mesh-related quantities. A two-way mapping of the structured and unstructured grids onto each other provides an efficient way to navigate the unstructured grid without using significant memory resources.

어떤 비 구조 격자에서도 마찬가지입니다 만, 인접 셀의 인덱스 및 기타 메쉬 관련 양을 신속하게 찾을 수 있도록 하려면 추가 스토리지가 필요합니다.  구조 격자와 비 구조 격자 사이의 양방향 매핑을 사용하면 대량의 메모리 리소스를 사용하지 않고, 비 구조 격자에 효율적으로 탐색 할 수 있습니다.

Other variations of this idea are easy to imagine. For instance, if more than one set of physical properties are required in a given element, because it contains some mixture of materials (e.g., both fluid and solid), then an additional element could be added to the element list that is defined at the same location. The coincident elements would be identified in a special list intended for processing mixed elements.

이 아이디어의 다른 변형은 쉽게 상상할 수 있습니다.  예를 들어, 특정 요소에 물질이 혼합되어 포함되어 있기 때문에 (유체와 고체 등) 여러 물리적 특성이 필요한 경우에는 같은 장소에서 정의 된 다른 요소를 요소 목록에 추가 할 수 있습니다.  일치하는 요소는 혼합 요소의 처리를 목적으로하는 특수 목록에서 식별됩니다.

Summary of the Simplest Gridding System

A short discussion has been given of what might be viewed as an evolutionary development of the simplest gridding system, a rectangular grid. Several stages of relatively easy adaptations are outlined as a means of addressing the demands for more sophisticated simulations while maintaining the many advantages of the original simple grid system.

가장 간단한 격자 시스템 정리

가장 간단한 격자 생성 시스템의 진화 적 발전 형으로 간주 될 것이다 직사각형 격자 대해 여기까지 간단하게 설명했습니다.  원래 간단한 격자 시스템의 많은 장점을 유지하면서 보다 정교한시뮬레이션을 요구를 해결하기 위한 수단으로 여러 단계의 비교적 쉽게 적응하는 방법의 개요가 기술되어 있습니다.

Appendix: Illustration of Accuracy Considerations for Non-Uniform Grids

The following account has been adapted from the paper “Volume of Fluid (VOF) Method for the Dynamics of Free Boundaries,” by C.W. Hirt and B.D. Nichols, J. Comp. Phys. 39, 201 (1981).

A simple illustration of the difficulties that can occur in non-uniform grids is given by numerically approximating the term for advection of momentum of an incompressible fluid, which in divergence form is ∇•uuThe constant density of the fluid has been divided out from this expression. In one dimension this term is

Here u is the fluid velocity in the x-direction. The divergence form is usually desirable because it is a simple way to insure a conservation of momentum. This may be seen by considering the control volume used for the discrete value of u located at the boundary between two grid elements as shown in Fig. A1 by the dashed lines. Placing the velocity at the boundary between two elements is referred to as the staggered grid arrangement often used for incompressible flow modeling.

Figure A1. Control volume (dashed rectangle) used for constructing a difference approximation for the u velocity at the boundary of an element.

In the divergence form, Gauss’ theorem may be used to convert the integrated values of the advective flux over the control volume to boundary fluxes at its sides. Then, the flux leaving one control volume will automatically be gained by the adjacent one and conservation during advection is guaranteed.

However, conservation in a non-uniform grid, does not automatically imply accuracy. To see this, suppose an upstream or donor difference approximation is used to approximate the advective flux (assuming all u values are positive for simplicity), which is known to provide a conditionally stable algorithm,

The notation ui+1/2 stands for the velocity assigned to the right edge of the ith element.

To check that this approximation is “consistent” with the original partial differential equation we expand all terms in the difference equation in a Taylor series about the location x=xi+1/2  where the u equation is evaluated (see Heuristic Analysis),

Clearly, the right side does not agree with the left side to order δx when the element sizes are not equal. In other words, the difference approximation is not “consistent” since it does not agree with the original differential expression at zeroth order. It may be noted that, if instead of the upstream or donor approximation, a centered value for the fluxed velocity had been used, then the approximation would be first-order accurate in a non-uniform grid, instead of second-order as it is in a uniform grid. In other words, what seems like a straightforward approximation is one order less accurate in a non-uniform grid than in one that is uniform.

It does not necessarily follow that non-uniform grids are always less accurate because they may allow for finer zoning in localized regions where flow variables are expected to vary most rapidly. Nevertheless, non-uniform grids must be used with care. It is best, for example, to allow for gradual variations in element sizes to minimize the reduction in approximation order. It is also worthwhile to look for other approximations that do not lose their accuracy in a non-uniform grid. In this regard, it should be observed that the reason the conservation form of the advection term is less accurate is because the control volume is not centered about the position where the u variable is located. To avoid losing one order of approximation, the numerical approximation should have been corrected to account for the difference in locations of the variable being updated and the centroid of its control volume.