1. 개요[편집]
포아송 방정식(Poisson’s equation)은 미지 함수 의 라플라시안이 주어진 소스 항 와 같아지는 2계 선형 편미분방정식, 즉 를 말한다. 이름은 시메옹 드니 푸아송(Siméon Denis Poisson)에게서 왔다. 우변의 소스 를 0으로 놓으면 곧바로 라플라스 방정식이 되므로, 포아송 방정식은 라플라스 방정식에 “원인(source)“을 얹은 일반형이라고 보면 된다.1
이 방정식은 “어떤 물리량의 분포가, 그것을 만들어내는 원천의 분포와 어떻게 연결되는가”를 기술한다. 전하가 만드는 전위, 질량이 만드는 중력 퍼텐셜, 그리고 CFD에서 속도장의 발산이 만드는 압력장까지 — 원인과 결과를 라플라시안으로 잇는 자리라면 어김없이 포아송 방정식이 나온다. 전산과학에서 가장 많이 풀리는 방정식 순위를 매기면 아마 다섯 손가락 안에 든다.
2. 정전기학과 중력[편집]
포아송 방정식의 원조 무대는 정전기학이다. 맥스웰 방정식의 가우스 법칙 에 전기장을 전위의 기울기로 표현한 를 대입하면 다음이 나온다.
즉 전하 밀도 가 주어지면 전위 가 결정된다. 전하가 없는 영역()에서는 자동으로 라플라스 방정식으로 돌아간다. 뉴턴 중력에서도 질량 밀도가 소스가 되어 똑같은 꼴의 방정식이 성립한다. 서로 다른 물리가 같은 수학으로 수렴하는 건 라플라스 방정식 때와 같은 국룰이다.
3. 압력 포아송 — CFD의 핵심[편집]
포아송 방정식이 수치해석에서 가장 뜨겁게 소비되는 곳은 의외로 정전기학이 아니라 전산유체역학이다. 비압축성 나비에-스토크스 방정식에는 압력에 대한 독립 방정식이 없다. 대신 연속 방정식 이라는 제약이 압력을 간접적으로 결정한다.
운동량 방정식에 발산을 취하고 비압축 조건을 강제하면, 압력이 만족해야 할 방정식이 튀어나온다.
이것이 그 유명한 압력 포아송 방정식(Pressure Poisson Equation, PPE)이다. 투영법(projection method)이나 SIMPLE 알고리즘 계열은 매 시간 스텝마다 이 포아송 방정식을 풀어 속도장을 무발산(divergence-free) 상태로 “투영”한다.2 CFD 솔버의 계산 시간을 프로파일링하면 압력 포아송을 푸는 데 절반 이상이 잡아먹히는 경우가 흔하다. 그래서 이 방정식을 얼마나 빠르게 푸느냐가 곧 비압축 솔버의 성능을 좌우한다.
4. 이산화[편집]
이산화 방식은 라플라스 방정식과 판박이다. 2차원 균일 격자에서 유한차분법으로 5점 스텐실을 쓰면 다음과 같다.
라플라스 때와 유일하게 다른 점은 우변에 소스 가 살아 있다는 것뿐이다. 모든 내부 격자점에 대해 이 식을 세우면 선형 연립방정식 가 되고, 계수 행렬 는 5개 대각선만 채워진 전형적인 희소행렬이 된다. 소스와 경계값은 우변 로 들어간다.
5. 희소행렬 풀이[편집]
가 크고 성긴 대칭 양의 정부호 행렬이라는 점이 풀이 전략을 결정한다. 크게 세 갈래다.
| 방법 | 특징 | 적합한 상황 |
|---|---|---|
| 직접법 | 가우스 소거법·촐레스키 분해 | 중소 규모, 다중 우변 |
| 반복법 | 크리로프 부분공간법(CG 등) | 대규모 희소계 |
| 멀티그리드 | 다중격자법 | 초대규모, 최고 효율 |
대칭 양의 정부호 성질 덕분에 켤레기울기법(Conjugate Gradient, CG)이 크리로프 부분공간법 중에서도 궁합이 특히 좋다. 여기에 전처리기를 얹으면 수렴이 훨씬 빨라진다. 규칙적인 격자에서는 FFT 기반 고속 포아송 솔버가 으로 압도적이지만, 형상이 복잡해지면 이 사치를 누리기 어렵다.3
6. 그린 함수 관점[편집]
이산화 이전에, 포아송 방정식은 그린 함수(Green’s function)로 해석적 구조를 볼 수 있다. 점 소스에 대한 응답인 그린 함수 를 알면, 임의의 소스 분포에 대한 해는 소스와 그린 함수의 합성곱(convolution)으로 쓰인다.
3차원 무한 공간에서 그린 함수는 그 유명한 꼴이다. 전하 하나가 만드는 쿨롱 퍼텐셜이 바로 이것. 즉 임의의 전하 분포가 만드는 전위는 각 전하의 쿨롱 퍼텐셜을 다 더한 것이라는, 물리적으로 지극히 당연한 이야기의 수학적 포장이다.4 이 관점은 경계요소법이나 빠른 다극 전개법(FMM) 같은 기법의 이론적 뿌리가 된다.
7. 시간 의존 문제 속의 포아송[편집]
포아송 방정식은 정상상태 문제에만 갇혀 있지 않다. 시간에 따라 변하는 문제에서도 매 시간 스텝마다 포아송 방정식이 반복적으로 등장한다. 앞서 본 압력 포아송이 대표적인데, 비정상(unsteady) 유동 시뮬레이션이라면 시간 스텝을 수천, 수만 번 밟는 동안 그때마다 포아송을 다시 풀어야 한다. 그래서 CFD에서는 포아송 솔버 한 번의 비용에 전체 스텝 수를 곱한 값이 곧 총 계산 비용이 된다.
플라스마 시뮬레이션의 입자-격자(particle-in-cell) 기법도 마찬가지다. 매 스텝 입자 위치로부터 전하 밀도를 격자에 뿌린 뒤 포아송 방정식으로 전위를 구하고, 그 전기장으로 입자를 밀어낸다. 이런 구조에서는 포아송 솔버의 속도가 곧 시뮬레이션의 목숨줄이라서, 다중격자법이나 FFT 솔버를 얼마나 잘 튜닝하느냐가 연구의 성패를 가른다.5 “일단 포아송부터 빠르게”가 이 바닥의 국룰인 이유다.
8. 관련 문서[편집]
- 라플라스 방정식
- SIMPLE 알고리즘 · 나비에-스토크스 방정식
- 희소행렬 · 크리로프 부분공간법
- 유한차분법 · 다중격자법
- 전처리기 · 촐레스키 분해
- 맥스웰 방정식 · 전산유체역학
9. Footnotes[편집]
-
부호 규약에 주의. 물리학에서는 로, 순수 수학에서는 로 쓰는 경우가 많다. 부호 하나 때문에 소스의 방향이 뒤집히니, 남의 코드를 가져다 쓸 때는 반드시 규약부터 확인하자. 이거 때문에 밤샌 사람 여럿 있다. ↩
-
이 “투영”이라는 표현은 비유가 아니라 진짜 수학적 사영이다. 헬름홀츠 분해에 의해 임의의 벡터장은 무발산 성분과 기울기 성분으로 쪼개지는데, 압력 포아송을 푸는 것이 곧 기울기 성분을 제거하는 사영 연산이다. ↩
-
FFT 포아송 솔버는 주기 경계나 단순 직사각형 영역에서만 곱게 작동한다. 실제 산업 형상처럼 경계가 울퉁불퉁해지는 순간 이 우아함은 증발하고, 결국 멀티그리드나 전처리 CG의 세계로 되돌아온다. ↩
-
이 중첩의 원리가 성립하는 건 포아송 방정식이 선형이기 때문이다. 만약 방정식이 비선형이었다면 전하 두 개를 따로 계산해서 더하는 이 편리한 짓이 절대 불가능했을 것이다. 선형성은 물리학자에게 주어진 몇 안 되는 자비다. ↩
-
PIC 코드에서 포아송을 푸는 시간이 전체의 절반을 넘기는 일이 흔하다. 그래서 이 분야 논문의 상당수가 “우리는 포아송을 더 빨리 풀었다”로 요약되기도 한다. 방정식 하나 빨리 푸는 게 논문이 되는 세계다. ↩