Rectangular Grids

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

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.

\(\displaystyle \frac{\delta uu}{\delta x}\approx \frac{1}{2}\left( \frac{3\delta {x}_{1}+\delta {x}{i+1}}{\delta {x}_{1}+\delta {x}{i+1}} \right)\frac{\partial uu}{\partial x}+O\left( \delta x \right).\)

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

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

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.

Difference Equations are Simpler

직사각형 그리드의 또 다른 장점은 차분 방정식이 일반적으로 직사각형이 아닌 그리드보다 간단하다는 것입니다. 예를 들어, 3 차원에서 요소의 속도에 대한 Navier-Stokes 방정식의 근사치는 6 개의 인접한 요소, 즉 3 개의 좌표 방향 각각에 있는 2 개의 인접 요소 만 포함하면 됩니다. 대조적으로, 직사각형이 아닌 그리드는 일반적으로 중앙 요소를 둘러싸는 3x3x3 = 27 배열의 모든 주변 요소에 대한 결합이 필요합니다.

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.

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

장단점을 비교해 보면 단순한 직사각형 격자가 많은 좋은 속성을 가지고 있음을 알 수 있지만 복잡한 기하학적 모양을 수용하기 위한 한계가 유용성을 제한 할 수 있습니다. 이 기사의 나머지 부분에서는 좋은 속성을 희생하지 않고 직사각형 격자의 유용성을 크게 확장하는 몇 가지 개념적으로 간단한 기술에 대해 설명합니다. 표현의 단순화를 위해 2 차원 상황만 설명하지만 3 차원으로의 확장은 완전히 간단합니다.

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.

Notation for Rectangular Grids

계산 시간을 절약하려면 다중 인덱스 수량을 단일 인덱스 배열로 대체하는 것이 유용합니다. 여러 배열 위치는 계산 문자열의 시작 부분에서 한 번만 계산됩니다.

예를 들어 ipj = i + 1, j 또는 ijm = i, j-1 표기법은 짧고 간단하며 읽기 쉬운 단일 인덱스입니다. ip는 i 더하기 1을 의미하고 jm은 j 빼기 1을 의미한다는 것을 기억하면 쉽게 읽을 수 있습니다.

따라서 이중 인덱스 수량 P (i + 1, j-1)는 단일 인덱스 수량 P ()로 대체됩니다. ipjm) 등이 있습니다. 이 표기법은 사용하기 쉽고 계산 시간을 절약 할뿐만 아니라 다른 매우 유용한 속성이 있음을 아래에서 확인할 수 있습니다.

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.

직사각형 (2D) 그리드에서 요소는 일반적으로 각각 x 및 y 좌표 방향에서 정수 i 및 j로 레이블이 지정됩니다. 요소 (i, j)에는 주 이웃 (i-1, j), (i + 1, j), (i, j-1) 및 (i, j + 1)이 있습니다. 셀의 물리적 특성은 요소 (i, j)의 압력에 대한 p (i, j)와 같은 2 차원 배열의 값으로 저장됩니다. 

차분 방정식을 프로그래밍 할 때 반복 인덱스 배열을 사용하려면 컴파일러가 이러한 양의 메모리 위치를 평가하기 위해 산술 연산으로 인덱스 이동 (예 : i + 1 또는 j-1)을 수행해야합니다.

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.

Multiple Grid Blocks

직사각형 그리드의 유용성을 확장하는 좋은 방법은 경계에서 결합 된 여러 직사각형 그리드를 사용하는 것입니다. 그림 1A와 그림 1B에 예시 된 것처럼 두 가지 간단한 가능성이 있습니다. 연결된 블록은 블록이 서로 인접한 경계 조건으로 연결됩니다. 중첩 된 블록은 서로 중첩되며 경계 조건을 사용하여 중첩 된 블록을 포함하는 블록에 연결합니다.

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.

이 다중 블록 기능은 연결된 블록 기능을 사용하여 더 적은 격자 요소로 더 확장 된 기하학적 영역을 모델링 할 수 있으므로 직사각형 격자의 유용성을 크게 확장합니다. 중첩 된 블록 기능은 전체 영역에서 더 미세한 해상도를 시뮬레이션하는 비용을 견디지 않고도 로컬에서 시뮬레이션의 해상도를 높이는 데 매우 유용합니다.

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.

CFD-101- rectangular grids - Figure 2
Figure 2. Unstructured rectangular grid example.

복잡한 기하학적 영역의 격자 화에서 훨씬 더 많은 효율성을 허용하는 추가 일반화를 만들 수 있습니다. 요소의 단순한 직사각형 순서가 서로 인접한 요소를 정의하는 목록으로 대체되면 불필요한 모든 요소를 ​​그리드에서 제거 할 수 있습니다. 이렇게하면 메모리가 확보되고 솔버 루틴이 활성 그리드 요소 목록을 간단히 실행하여 계산 시간을 더욱 절약 할 수 있습니다. 이러한 “구조화되지 않은”그리드의 간단한 그림이 그림 2에 나와 있습니다.

인접 요소가 계산하기 쉬운 메모리 위치를 갖는 구조화 된 직사각형 그리드에서 구조화되지 않은 요소 세트로 변경하는 것은 처음에는 어려운 작업으로 보일 수 있습니다. 그러나 예를 들어 위치 (i, j + 1)가 ijp로 대체되는 앞에서 설명한 단일 인덱스 표기법을 사용하면 이러한 전환이 매우 쉽습니다. 필요한 것은 인접 요소 목록을 사용하여 단일 인덱스 값을 재정의하는 것뿐입니다. 그러면 모든 솔버 알고리즘과 루틴을 추가 변경없이 사용할 수 있습니다.

비정형 그리드와 마찬가지로 인접 셀 인덱스 및 기타 메시 관련 수량을 신속하게 찾을 수 있으려면 추가 스토리지가 필요합니다. 구조화 된 그리드와 구조화되지 않은 그리드를 서로에 대한 양방향 매핑은 상당한 메모리 리소스를 사용하지 않고 구조화되지 않은 그리드를 탐색하는 효율적인 방법을 제공합니다.

이 아이디어의 다른 변형은 상상하기 쉽습니다. 예를 들어, 특정 요소에 두 개 이상의 물리적 특성 세트가 필요한 경우 (예 : 유체 및 고체) 재료의 일부 혼합물이 포함되어 있기 때문에 추가 요소를 요소 목록에 추가 할 수 있습니다. 같은 위치. 일치하는 요소는 혼합 요소를 처리하기위한 특수 목록에서 식별됩니다.

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.

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

다음 설명은 CW Hirt 및 BD Nichols, J. Comp.의 “자유 경계 역학을위한 VOF (Volume of Fluid) 방법”논문에서 채택되었습니다. Phys. 39 , 201 (1981).

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

여기서 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.

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 ∂(uu)∂x.

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.

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.

발산 형태에서 가우스 정리를 사용하여 제어 체적에 대한 능동 플럭스의 통합 값을 측면의 경계 플럭스로 변환 할 수 있습니다. 그런 다음 하나의 제어 볼륨을 떠나는 플럭스는 인접한 볼륨에 의해 자동으로 얻어지고 이류 중 보존이 보장됩니다.

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

\(\displaystyle \frac{\partial uu}{\partial x}\approx \frac{{u_{i+1/2}}\left( {u_{i+3/2}}+{u_{i+1/2}} \right)/2-{u_{i-1/2}}\left( {u_{i+1/2}}+{u_{i-1/2}} \right)/2}{\left( \delta {x_{i}}+\delta {x_{i+1}} \right)/2}\)

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

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

\(\displaystyle \frac{\delta uu}{\delta x}\approx \frac{1}{2}\left( \frac{3\delta {x_{1}}+\delta {x_{i+1}}}{\delta {x_{1}}+\delta {x_{i+1}}} \right)\frac{\partial uu}{\partial x}+O\left( \delta x \right).\)

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,

\(\displaystyle \frac{\partial uu}{\partial x}\approx \frac{{u_{i+1/2}}\left( {u_{i+3/2}}+{u_{i+1/2}} \right)/2-{u_{i-1/2}}\left( {u_{i+1/2}}+{u_{i-1/2}} \right)/2}{\left( \delta {x_{i}}+\delta {x_{i+1}} \right)/2}\)

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

\(\displaystyle \frac{\delta uu}{\delta x}\approx \frac{1}{2}\left( \frac{3\delta {x_{1}}+\delta {x_{i+1}}}{\delta {x_{1}}+\delta {x_{i+1}}} \right)\frac{\partial uu}{\partial x}+O\left( \delta x \right).\)

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

유동 변수가 가장 빠르게 변할 것으로 예상되는 지역화 된 지역에서 더 미세한 구역화를 허용 할 수 있기 때문에 불균일 그리드가 항상 덜 정확하다는 것을 반드시 따르는 것은 아닙니다. 그럼에도 불구하고 균일하지 않은 그리드는주의해서 사용해야합니다. 예를 들어 근사 순서의 감소를 최소화하기 위해 요소 크기의 점진적인 변화를 허용하는 것이 가장 좋습니다. 균일하지 않은 그리드에서 정확도를 잃지 않는 다른 근사치를 찾는 것도 가치가 있습니다. 이와 관련하여, 이류 항의 보존 형태가 덜 정확한 이유는 제어 볼륨이 u 변수가 위치한 위치를 중심으로하지 않기 때문입니다. 하나의 근사값을 잃지 않으려면

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.

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