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

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).

다음 설명은 C.W. Hirt 및 B.D.의 “Volume of Fluid (VOF) Method for the Dynamics of Free Boundaries,”  논문에서 채택되었습니다. 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. 

불균일 그리드에서 발생할 수있는 어려움에 대한 간단한 설명은 비압축성 유체의 운동량 이류 항을 수치 적으로 근사화하여 제공되며, 발산 형태는 ∇•uu입니다. 유체의 일정한 밀도는이 표현에서 분리되었습니다.

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.

여기서 u는 x 방향의 유체 속도입니다. 발산 형태는 운동량 보존을 보장하는 간단한 방법이기 때문에 일반적으로 바람직합니다. 이는 그림 A1에서 점선으로 표시된 두 그리드 요소 사이의 경계에 있는 u의 이산 값에 사용되는 제어 볼륨을 고려하여 볼 수 있습니다. 두 요소 사이의 경계에 속도를 배치하는 것을 비압축성 흐름 모델링에 자주 사용되는 엇갈린 격자 배열이라고합니다.

Figure A1. Control volume (dashed rectangle) used for constructing a difference approximation for the u velocity at the boundary of an element.
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.

그러나 균일하지 않은 그리드의 보존이 자동으로 정확도를 의미하지는 않습니다. 이를 확인하기 위해 업스트림 또는 기증자 차이 근사를 사용하여 조건부 안정 알고리즘을 제공하는 것으로 알려진 전방 플럭스 (모든 u 값이 단순성을 위해 양수라고 가정)를 근사한다고 가정합니다.

표기법 ui + 1 / 2는 i 번째 요소의 오른쪽 가장자리에 할당 된 속도를 나타냅니다.

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.

이 근사가 원래 편미분 방정식과 “일치”하는지 확인하기 위해 u 방정식이 평가되는 위치 x = xi + 1 / 2에 대한 Taylor 시리즈의 차이 방정식의 모든 항을 확장합니다 (휴리스틱 분석 참조).

분명히 오른쪽은 요소 크기가 같지 않을 때 δx를 주문하는 왼쪽과 일치하지 않습니다. 즉, 차이 근사는 0 차에서 원래의 미분 표현과 일치하지 않기 때문에 “일관되지”않습니다. 상류 또는 기증자 근사 대신 유속에 대한 중심 값이 사용 된 경우 근사치는 2 차가 아닌 불균일 그리드에서 1 차 정확할 것입니다. 균일 한 그리드에서. 다시 말해서, 간단한 근사처럼 보이는 것은 균일하지 않은 그리드보다 균일하지 않은 그리드에서 1 차 덜 정확합니다.

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.

유동 변수가 가장 빠르게 변할 것으로 예상되는 지역화 된 지역에서 더 미세한 구역화를 허용 할 수 있기 때문에 불균일 그리드가 항상 덜 정확하다는 것을 반드시 따르는 것은 아닙니다. 그럼에도 불구하고 균일하지 않은 그리드는 주의해서 사용해야합니다.

예를 들어, 근사 순서의 감소를 최소화하기 위해 요소 크기의 점진적인 변화를 허용하는 것이 가장 좋습니다. 균일하지 않은 그리드에서 정확도를 잃지 않는 다른 근사치를 찾는 것도 가치가 있습니다.

이와 관련하여, 이류 항의 보존 형태가 덜 정확한 이유는 제어 볼륨이 u 변수가 위치한 위치를 중심으로하지 않기 때문입니다. 하나의 근사 차수를 잃지 않으려면 업데이트되는 변수의 위치와 제어 볼륨의 중심의 차이를 고려하여 수치 근사를 수정해야합니다.