엇갈림 격자

편집 역사 토론
전산유체역학 수치해석 마지막 수정: 2026-07-12 04:12:40

1. 개요[편집]

엇갈림 격자
Staggered Grid
별칭MAC 격자, staggered arrangement
고안Harlow & Welch (1965, Los Alamos)
해결 문제체커보드 압력 진동
대안Collocated + Rhie-Chow 보간

압력과 속도를 같은 자리에 앉히면 싸운다. 그래서 자리를 어긋나게 배치했다.

엇갈림 격자(staggered grid)는 전산유체역학에서 압력·밀도 같은 스칼라 변수와 속도 성분을 서로 다른 격자 위치에 저장하는 변수 배치 방식이다. 스칼라는 셀 중심(cell center)에, 속도 성분은 셀 면(cell face)에 두어 반 칸씩 어긋나게 배치한다. 1965년 로스앨러모스의 프랜시스 할로(Francis Harlow)와 에디 웰치(Eddie Welch)가 MAC(Marker-and-Cell) 기법에서 처음 도입했다.1

왜 이런 번거로운 배치를 할까? 답은 하나다. 모든 변수를 같은 점에 저장하는 순진한 방식(collocated)이 비압축성 유동에서 체커보드 압력 진동이라는 고약한 병에 걸리기 때문이다. 엇갈림 격자는 이 병을 격자 구조 자체로 원천 봉쇄한다.

2. 체커보드 문제: 왜 압력이 병드는가[편집]

격자 위에서 압력 구배(pressure gradient)를 계산할 때, 셀 중심에 압력을 두고 중심차분을 쓰면 압력 구배가 한 칸 건너의 값만으로 결정된다. 1차원으로 보면 셀 ii의 압력 구배가 pi+1pi1p_{i+1}-p_{i-1}에 비례하고, 바로 옆 셀 pip_i은 식에 아예 등장하지 않는다.

그 결과, 압력장이 격자 한 칸 간격으로 높낮이가 번갈아 나타나는 톱니 패턴(체스판의 흑백 칸처럼)을 가져도 이산화된 구배는 그것을 완전히 0으로 인식한다.2 즉 균일한 압력장과 체커보드 압력장을 방정식이 구분하지 못한다. 이 비물리적 진동 모드가 제어되지 않고 자라나면, 압력장은 물리적 의미를 잃은 얼룩덜룩한 그림이 되어 버린다. 연속 방정식과 운동량 방정식의 압력-속도 연성이 헐거워지는 것이 근본 원인이다.

3. 엇갈림 배치가 병을 고치는 원리[편집]

엇갈림 격자에서는 배치를 이렇게 바꾼다.

  • 압력 pp, 온도, 밀도 등 스칼라 → 셀 중심
  • xx-방향 속도 uu → 셀의 동/서 면(east/west face)
  • yy-방향 속도 vv → 셀의 남/북 면(north/south face)

이 배치의 핵심은, 셀 면에 놓인 속도 uu를 갱신하는 운동량 방정식에서 필요한 압력 구배가 바로 인접한 두 셀 중심 압력의 차이 pi+1pip_{i+1}-p_i로 계산된다는 점이다. 한 칸 건너가 아니라 딱 옆 칸이다. 그 결과 인접한 압력 값이 직접 커플링되어 체커보드 진동이 방정식에 그대로 벌점으로 잡힌다. 마찬가지로 연속 방정식(질량 보존)은 셀 중심에서 평가되는데, 필요한 면 속도가 이미 그 자리에 저장돼 있어 보간 없이 곧바로 쓰인다.3 압력과 속도가 서로의 방정식에서 자연스럽게 맞물리도록, 격자 배치만으로 강한 연성을 만들어 낸 셈이다.

4. SIMPLE 알고리즘과의 궁합[편집]

엇갈림 격자는 SIMPLE 알고리즘이 태어난 요람이다. 파탄카와 스팔딩이 1972년 SIMPLE을 제안할 때 전제한 것이 바로 이 엇갈림 배치였다. SIMPLE의 핵심 단계인 압력 보정(pressure correction) 방정식이 깔끔한 포아송 방정식 형태로 유도되려면, 면 속도와 셀 중심 압력이 어긋나 있어야 계산이 매끄럽게 맞아떨어지기 때문이다.

유한체적법 기반의 고전적 CFD 교과서(파탄카의 Numerical Heat Transfer and Fluid Flow)가 모두 엇갈림 격자를 기본으로 서술하는 이유가 여기에 있다. 검사체적의 면에서 플럭스를 평가하는 유한체적법의 철학과, 면에 속도를 저장하는 엇갈림 배치가 사상적으로 한 몸이나 다름없다.

5. 엇갈림 격자의 그늘, 그리고 대안[편집]

완벽한 처방은 없다. 엇갈림 격자는 대가를 치른다.4

  • 속도 성분마다 별도의 검사체적을 관리해야 해서 인덱싱이 복잡해진다. 2차원이면 격자가 세 벌(p, u, v), 3차원이면 네 벌이다.
  • 데카르트 격자에서는 우아하지만, 복잡한 형상을 다루는 비정형·곡선 격자로 가면 “면에 수직인 속도”의 정의가 애매해져 구현이 급격히 지저분해진다.

이 때문에 현대 상용·오픈소스 CFD(OpenFOAM, ANSYS Fluent 등)의 다수는 모든 변수를 셀 중심에 두는 **정렬 격자(collocated grid)**로 회귀했다. 대신 체커보드 문제는 1983년 리(C. M. Rhie)와 차우(W. L. Chow)가 제안한 Rhie-Chow 보간으로 막는다. 면 속도를 계산할 때 압력 구배 항을 특별하게 보간해, 마치 엇갈림 격자처럼 인접 압력이 커플링되도록 인위적으로 손봐 주는 기법이다. 엇갈림 격자의 정신을 정렬 격자 위에서 소프트웨어적으로 부활시킨 셈이며, 오늘날 비정형 격자 CFD의 사실상 표준이 되었다.

6. 관련 문서[편집]

7. Footnotes[편집]

  1. MAC은 Marker-and-Cell의 약자로, 원래 자유표면 유동을 추적하려고 유체 안에 마커 입자를 뿌린 데서 나온 이름이다. 엇갈림 격자는 그 부산물이었지만, 정작 후대에 더 오래 살아남은 유산이 되었다.

  2. 이 체커보드 모드를 “홀수-짝수 분리(odd-even decoupling)“라고도 부른다. 홀수 인덱스 셀들과 짝수 인덱스 셀들이 서로 대화하지 못하고 독립적으로 놀아나는 상태. 수치해석의 대표적 유령 모드(spurious mode)다.

  3. 정렬 격자였다면 면 속도를 얻으려 이웃 셀 중심 속도를 평균해야 하고, 그 평균 과정에서 다시 체커보드 정보가 걸러져 사라진다. 엇갈림 격자는 애초에 필요한 값을 필요한 자리에 놓아 이 손실을 없앤다.

  4. “엇갈림 격자는 이론적으로 아름답지만 코딩하다 보면 인덱스 지옥을 맛본다”는 것이 CFD 개발자들의 공통 증언이다. u는 i+1/2에 있고 v는 j+1/2에 있는데 경계 조건까지 얹으면… 그래서 사람들이 Rhie-Chow로 도망쳤다.