1. 개요[편집]
| 보텍스 방법 Vortex method | |
|---|---|
| 미지수 | 속도·압력이 아니라 와도 ω |
| 이산화 | 격자 없음 — 라그랑주 와류 요소(입자·필라멘트) |
| 속도 복원 | 비오-사바르 적분 (푸아송 방정식의 적분해) |
| 비용 | 직접합 O(N²) → 트리코드 O(N log N) → FMM O(N) |
| 강점 | 대류 수치확산 0 · 자동 적응 · 무한 영역 공짜 |
| 약점 | 벽 경계조건 · 3D 와류신장 안정성 · 압축성 불가 |
유체 전체를 격자로 덮을 필요가 있나? 와도가 있는 데만 점을 찍으면 되잖아.
보텍스 방법(vortex method)은 나비에-스토크스 방정식을 속도-압력이 아니라 와도 변수로 다시 쓴 뒤, 와도장을 유한 개의 라그랑주 요소(와류 입자·와류 필라멘트)로 이산화해 유체와 함께 이동시키는 무격자 CFD 기법군이다. 격자는 없고, 계산점은 와도가 0이 아닌 곳에만 존재하며, 속도는 매 순간 비오-사바르 적분으로 되살린다.
발상의 뿌리는 헬름홀츠와 켈빈까지 올라가지만, 현대적 형태는 1970년대 초린(A. Chorin)이 점성 처리와 벽 조건을 붙이면서 잡혔다. 오늘날에는 헬리콥터 로터 후류, 풍력 터빈 웨이크, 항공기 후류 와류 추적, 그리고 컴퓨터 그래픽스의 연기·폭발 렌더링에서 살아 있다. 격자 CFD가 지배하는 세상에서 살아남은 이유는 단 하나 — 대류 항에 수치확산이 원리적으로 0이기 때문이다.
2. 왜 와도인가 — 압력이 사라진다[편집]
비압축 유동의 나비에-스토크스 방정식에 회전을 취하면 압력 항이 통째로 죽는다(). 남는 것이 와도수송방정식이다.
좌변은 물질도함수, 즉 유체를 따라가면서 보는 변화다. 우변 첫 항은 와류 신장(3D에서만), 둘째 항은 점성확산. 여기에 세 가지 선물이 딸려 온다.
- 압력이 없다. 비압축 격자 CFD의 최대 골칫거리인 압력-속도 연성(SIMPLE 알고리즘 계열이 매 반복 씨름하는 그것)이 아예 등장하지 않는다.
- 대류가 이동으로 바뀐다. 좌변이 물질도함수이므로, 요소를 속도장을 따라 옮기기만 하면 대류가 정확히 처리된다. 풍상차분이 만드는 수치확산도, MUSCL식 제한자 씨름도 없다.
- 미지수가 국소적이다. 2차원 균일 유입 유동에서 와도는 물체 근방과 후류에만 있다. 나머지 99%의 공간은 계산할 것이 없다.
속도는 헬름홀츠 분해로 되살린다. 를 무한 영역에서 풀면 그 적분해가 곧 비오-사바르 법칙이다.
원방 조건이 적분핵에 이미 구워져 있다는 점이 크다. 격자법이라면 도메인을 물체 크기의 수십 배로 키우고 원방 경계조건을 걱정해야 할 문제가, 여기서는 무한 영역이 기본값이다.
3. 와류 요소와 블롭 — 특이점을 문지르다[편집]
와도장을 이산화하는 가장 단순한 방법은 델타 함수의 합으로 근사하는 것이다. 2차원이면 순환 를 가진 점와류들.
문제는 이다. 두 입자가 가까워지면 유도속도가 발산하고, 시간적분이 폭발하며, 결과가 입자 배치에 병적으로 민감해진다. 실제로 점와류로 이산화한 와류시트는 유한 시간에 곡률 특이점을 만들며 계산이 무의미해진다는 것이 1970년대에 확인됐다.1 이 정칙화 없는 원형(原型), 즉 전단층·시트를 점와류 열로 대체하는 2차원 계열을 따로 이산 와류법이라 부른다.
처방은 델타 함수를 폭 짜리 매끄러운 분포로 바꾸는 것이다. 이것이 와류 블롭(vortex blob)이며, 정칙화 함수 를 써서
로 둔다. 가장 흔한 두 가지는 유도속도 핵의 분모를 으로 바꾸는 로젠헤드-무어 핵(저차)과, 가우시안 코어(무한차 매끄러움)다. 블롭이 하는 일은 정확히 세 가지다 — 발산 제거, 시간적분 안정화, 오차차수 확보.
여기서 수렴성의 핵심 조건이 나온다. 입자 간격 와 코어 반경 사이에
가 유지되어야 이산합이 적분을 근사한다. 을 줄이면 정칙화 오차는 줄지만 중첩이 깨지고, 그러면 입자들이 서로 남남이 되어 방법 자체가 무너진다. 격자법의 “격자를 촘촘히”에 해당하는 조작이 여기서는 두 파라미터의 줄다리기가 되는 셈이다. 유동이 심하게 늘어나면 입자 분포가 찢어져 중첩이 자연히 깨지므로, 실무 코드는 주기적으로 재격자화(remeshing) — 규칙 격자 위로 와도를 보간해 입자를 새로 뿌리는 작업 — 를 돌린다. 무격자 방법이 결국 격자를 몰래 쓰게 되는 지점이라, 순수주의자들이 싫어하는 대목이기도 하다.
4. 점성을 어떻게 넣나[편집]
와도수송방정식의 항은 라그랑주 입자와 궁합이 나쁘다. 라플라시안은 이웃 정보를 요구하는데 입자는 이웃이 정해져 있지 않기 때문이다. 역사적으로 네 갈래의 답이 나왔다.
| 방식 | 아이디어 | 성격 |
|---|---|---|
| 랜덤워크 | 매 스텝 입자를 분산 의 가우시안으로 흔든다 | 구현 최단, 통계 노이즈 |
| 코어 확장 | 코어 반경을 로 키운다 | 결정론적, 그대로 두면 일관성 없음 |
| PSE | 라플라시안을 입자 간 세기 교환 적분으로 근사 | 결정론적·수렴성 증명, 중첩 유지 필수 |
| 와도 재분배 | 이웃 입자로 와도를 배분해 확산 모멘트를 맞춘다 | 선형계 풀이 필요, 벽 근처에 강함 |
랜덤워크는 1973년 초린이 확산 방정식과 브라운 운동의 등가성을 그대로 쓴 것이다. 몬테카를로 방법답게 견고하고 코드가 다섯 줄이지만, 오차가 입자 수의 제곱근으로만 줄어서 정밀 계산에는 못 쓴다. 그림이 지저분한데 통계량은 맞는, 전형적인 몬테카를로 얼굴.
코어 확장은 결정론적이라 매력적이지만 함정이 있다. 가우시안 코어의 확산 해를 그대로 쓰면 대류와 확산을 동시에 겪는 유동에서 원래 방정식이 아닌 다른 방정식으로 수렴한다. 코어가 무한정 자라며 국소성을 잃기 때문이고, 코어가 임계 크기를 넘으면 입자를 여러 개로 쪼개는 코어 분할을 붙여야 고쳐진다.
PSE(particle strength exchange)는 라플라시안을 적분 연산자로 바꿔 입자 와 사이에 세기를 주고받게 한다.
수렴성이 증명된 표준 선택이지만, 대가로 중첩 조건을 항상 지켜야 해서 재격자화와 한 몸으로 쓰인다. 요약하면 이렇다 — 보텍스 방법에서 어려운 것은 대류가 아니라 언제나 확산이다. 대류를 공짜로 얻은 대가를 확산에서 갚는 구조다.
5. 3차원 — 와류신장이라는 청구서[편집]
2차원에서는 이라 각 입자의 순환이 보존된다. 입자를 옮기기만 하면 끝이라 방법이 아름답게 굴러간다. 3차원은 다르다. 신장 항이 살아나 입자가 들고 있는 와도 벡터 가 스스로 회전하고 자란다.
두 형태(직접형/전치형)는 연속 방정식 수준에서 등가지만 이산화하면 다르게 거동한다. 여기서 3D 보텍스 방법의 고질병이 나온다.
- 이 자동으로 지켜지지 않는다. 이산 와도장이 발산을 가지면 비오-사바르가 물리적으로 무의미한 속도를 만든다. 전치형이 이 점에서 낫다는 것이 경험칙이고, 주기적으로 와도 벡터를 재정렬하는 완화(relaxation) 기법이나 명시적 재투영을 덧댄다.
- 신장이 지수적이다. 난류에서 와도는 실제로 지수적으로 늘어나고, 입자 세기도 그대로 폭증한다. 시간 스텝과 코어 관리를 잘못하면 며칠 걸린 계산이 마지막 100스텝에서 날아간다.
- 입자 수가 폭발한다. 늘어난 와류관을 해상하려면 입자를 계속 삽입해야 한다. 난류를 3D 보텍스 방법으로 직접 푸는 시도가 직접수치모사에 밀린 이유가 이것이다.
그래서 3D 실무는 입자 대신 와류 필라멘트(선 요소)를 쓰는 경우가 많다. 로터 블레이드 후류를 나선형 필라멘트로 추적하는 자유후류법(free-wake)이 헬리콥터·풍력 업계의 표준 도구이고, 여기서는 쿠타-주코프스키 정리로 블레이드 힘을 뽑고 와류격자법이 결합와를 담당한다. 정상 후류를 고정 기하로 가정하는 와류격자법과 달리, 후류 자체를 시간 전진시키는 것이 차이다.
6. 빠른 합과 VIC — 비용을 어떻게 죽이나[편집]
비오-사바르 직접합은 개 입자에 대해 다. 입자 10만 개면 스텝당 100억 번의 상호작용, 즉 현생 포기다. 탈출구가 둘 있다.
1) 트리 기반 빠른 합. 멀리 있는 입자 무리를 하나의 다중극으로 묶어 근사한다. 반스-헛 알고리즘이 , 고속 다중극자법이 을 준다. 중력 N체 문제에서 개발된 도구가 그대로 이식되는데, 커널이 중력이든 와류든 둘 다 라플라스 방정식의 그린 함수 미분이라 트리 구조와 전개식이 사실상 동일하기 때문이다. 알고리즘 하나를 배워 두 분야에서 쓰는 흔치 않은 사례.
2) VIC — 격자를 다시 부른다. vortex-in-cell(=cloud-in-cell) 하이브리드는 매 스텝 다음을 반복한다.
- 입자 와도를 배경 격자에 보간해 뿌린다.
- 격자에서 포아송 방정식 를 고속 푸리에 변환이나 다중격자법으로 푼다.
- 격자 속도를 입자 위치로 보간해 되돌린다.
- 입자를 이동시킨다. 확산은 격자에서 처리해도 된다.
으로 떨어지고, 확산과 벽 조건을 격자 도구로 다룰 수 있어 코드가 현실적이 된다. 대신 보간이 수치확산을 조금 다시 들여오므로, “수치확산 0”이라는 보텍스 방법의 셀링 포인트를 일부 반납하는 거래다. 세상에 공짜는 없다. 그래픽스에서 연기 시뮬레이션에 쓰이는 vortex particle 기법들이 대체로 이 계열이며, 격자 솔버가 잃어버린 와도를 입자가 보관했다가 되돌려주는 방식으로 소용돌이 디테일을 살린다.
7. 벽 — 진짜 어려운 곳[편집]
지금까지의 이야기에는 벽이 없었다. 무한 영역에 와도만 떠 있는 문제라면 보텍스 방법은 거의 반칙적으로 우아하다. 문제는 고체 벽이 등장하는 순간이다.
비오-사바르는 무침투 조건도, 점착 조건도 자동으로 만족하지 않는다. 표준 해법은 두 단계다. 먼저 패널법으로 물체 표면에 소스·와류 분포를 걸어 무침투를 맞춘다. 그러고 나면 벽에 접선 슬립 속도가 남는데, 이 슬립을 상쇄할 만큼의 와도를 매 스텝 벽면에서 새로 생성해 유체 속으로 놓아준다. 이것이 초린의 와도 생성(vortex sheet generation) 알고리즘이고, 물리적으로는 “경계층이 와도의 공장이다”라는 사실의 수치적 번역이다.
이 부분이 3D에서 특히 까다롭고, 보텍스 방법이 범용 CFD가 되지 못한 주된 이유다. 벽 근처 해상도, 생성된 와도의 초기 코어 크기, 시간 스텝의 상호작용이 전부 결과에 직결되며 이론적 지침이 부족하다. 반면 벽이 단순하거나(원기둥, 평판) 아예 없는 문제 — 카르만 와열, 후류 와류 붕괴, 와류 고리 충돌, 자유 전단층 — 에서는 격자법이 흉내 내기 어려운 선명함을 낸다.
8. 언제 쓰나[편집]
| 상황 | 판단 |
|---|---|
| 무한 영역 + 국소 와도 (후류, 와류 고리) | 강력 추천. 격자법이 도메인 크기로 낭비하는 비용이 0 |
| 로터·프로펠러 후류의 장거리 추적 | 자유후류 필라멘트법이 사실상 업계 표준 |
| 벽 지배 유동, 경계층, 열전달 | 비추천. 격자 CFD가 압도적 |
| 압축성·충격파 | 불가. 와도 정식화 자체가 비압축 전제 |
| 실시간 그래픽스 연기·폭발 | VIC 하이브리드로 널리 쓰임 |
정리하면 보텍스 방법은 범용 솔버가 아니라 특정 형태의 문제에 대한 특화 도구다. “와도가 공간의 작은 부분에만 있고, 그것이 아주 멀리까지 오래 이동하는” 문제 — 격자법이 가장 못하는 바로 그 문제 — 를 위해 존재한다. SPH나 물질점법과 함께 무격자·라그랑주 계보에 묶이지만, 이 둘이 질량과 운동량을 나르는 반면 보텍스 방법은 와도를 나른다는 점에서 계보가 다르다.23
9. 관련 문서[편집]
- 와도 · 나비에-스토크스 방정식 · 포아송 방정식
- 반스-헛 알고리즘 · 고속 다중극자법 · N체 문제
- 와류격자법 · 패널법 · 쿠타-주코프스키 정리
- SPH · 물질점법 · 몬테카를로 방법
- 카르만 와열 · 난류 · 대와류 모사
- 이산 와류법 · 와류 신장 · 헬름홀츠 분해
10. Footnotes[편집]
-
무어(1979)가 와류시트의 곡률이 유한 시간에 발산함을 보였고, 크래스니(1986)가 델타 함수를 뭉개는 정칙화로 계산을 되살렸다. “발산하는 적분을 어떻게 하지?”에 대한 수치해석의 국룰 답변은 예나 지금이나 **“살짝 문질러라”**다. 문지른 만큼 답이 달라지는 것도 국룰이다. ↩
-
보텍스 방법 논문의 그림이 유난히 예쁜 데는 이유가 있다. 계산점이 곧 와도이므로 입자를 그대로 찍으면 그게 와도 시각화다. 후처리 컨투어를 뽑을 필요가 없다. 반대로 압력이 필요하면 별도의 포아송 방정식을 풀어야 하는데, 압력에서 해방된 대가를 후처리에서 갚는 셈이다. ↩
-
이 방법을 처음 배울 때 가장 헷갈리는 지점은 “입자가 유체 입자인가”다. 아니다. 와류 요소는 와도장의 이산화 단위이지 유체 덩어리가 아니다. 무점성 2D에서는 둘이 우연히 같이 움직이지만, 확산을 넣는 순간(랜덤워크로 흔들리는 순간) 요소는 더 이상 물질점이 아니다. 여기서 미끄러지면 이후의 모든 논의가 어긋난다. ↩