1. 개요[편집]
파동을 죽이거나(소산), 미치게 만들거나(분산). 이산화는 둘 중 하나를 반드시 저지른다.
수치 소산(numerical dissipation) 과 수치 분산(numerical dispersion) 은 연속적인 편미분방정식을 유한차분법이나 유한체적법으로 이산화할 때 필연적으로 딸려 오는 이산화 오차의 두 가지 얼굴이다. 소산은 파동의 진폭을 부당하게 감쇠시켜 매끈한 결과 뒤에 실제 물리량을 뭉개 버리고, 분산은 파동의 위상(전파 속도)을 파장마다 다르게 왜곡시켜 원래 없던 진동(wiggle, 위글)을 만들어낸다. 물리에는 없는데 도식이 만들어낸 가짜 점성과 가짜 진동, 이 둘이 수치 해석자가 평생 씨름하는 상대다.
이 오차들은 버그가 아니다. 정확히 짜인 코드에서도 반드시 나타나며, 어느 것을 얼마나 감수할지가 곧 도식 선택의 본질이다. 상류차분은 소산으로 도배하고, 중심차분은 분산으로 진동한다. 좋은 도식이란 이 둘 사이에서 문제에 맞는 타협점을 찾은 것에 불과하다.
2. 수정 방정식: 오차의 정체를 밝히는 현미경[편집]
도식이 실제로 무엇을 풀고 있는지 알려면 수정 방정식(modified equation) 분석을 쓴다. 이산 도식에 테일러 급수를 대입해, 그 도식이 원래 PDE가 아니라 여분의 항이 붙은 다른 PDE를 정확히 풀고 있음을 드러내는 기법이다.
1차원 이류 방정식 을 1차 상류차분으로 풀면, 실제로 풀리는 방정식은 다음과 같이 변한다.
여기서 는 CFL 조건의 쿠랑수다. 우변에 없던 2차 미분항 가 튀어나왔는데, 이것은 물리적 확산과 똑같은 형태다. 즉 상류차분은 계수 짜리 인위 점성(artificial viscosity) 을 몰래 집어넣는다.1 오차의 최저차 항이 짝수차 미분(2차, 4차…)이면 소산으로, 홀수차 미분(3차, 5차…)이면 분산으로 나타난다는 것이 핵심 규칙이다.
3. 소산: 진폭이 새어 나가는 오차[편집]
수치 소산은 최저차 오차항이 짝수차 미분일 때 생긴다. 항은 고파수(짧은 파장) 성분을 우선적으로 감쇠시키므로, 날카로운 충격파나 급경사가 시간이 갈수록 뭉개져 퍼진다. 폰 노이만 안정성 해석의 언어로 말하면, 증폭 계수의 크기 인 상태다.
이게 항상 나쁜 것만은 아니다.
- 장점: 안정성을 준다. 고파수 진동이 폭주하기 전에 눌러 죽이므로, 상류차분 계열은 웬만해선 발산하지 않는다. “일단 돌리고 봐야 하는” 상황에서 소산은 든든한 보험이다.
- 단점: 물리적 경계층이나 와도, 대와류 모사에서 잡아야 할 작은 소용돌이까지 통째로 갈아 없앤다. LES에서 격자 소산이 아격자 모델보다 크면, 난류 모델을 뭘 쓰든 결과는 격자가 정한다.2
소산이 과한 계산은 그림이 지나치게 매끄럽다. 잔차는 예쁘게 떨어졌는데 실험보다 확산이 크게 나온다면, 물성을 의심하기 전에 도식의 인위 점성부터 의심하는 게 순서다.
4. 분산: 위상이 뒤틀리는 오차[편집]
수치 분산은 최저차 오차항이 홀수차 미분일 때 생긴다. 중심차분으로 이류항을 풀면 최저차 오차가 형태여서, 파수마다 수치 전파 속도가 달라진다. 실제 물리는 모든 파장이 같은 속도 로 가야 하는데, 이산 도식에서는 짧은 파장이 뒤처지거나 앞질러 간다. 그 결과가 급경사 부근에서 나타나는 분산성 진동(위글) 이다. 값이 오르내리며 심지어 물리적으로 불가능한 음수 농도나 음수 밀도까지 만들어낸다.3
증폭 계수로 보면 분산 오차는 이지만 위상 가 틀어진 상태다. 즉 에너지는 안 죽는데 위치가 어긋난다. 중심차분·고차 도식이 이 문제에 취약한 이유이며, 스펙트럴 방법처럼 정확도가 높은 도식일수록 진동이 화려해지는 역설이 여기서 나온다.
5. TVD와 한계자: 두 얼굴 사이의 협상[편집]
이상적인 도식은 매끈한 영역에서는 저소산 고정확(중심차분처럼)이고, 급경사 근처에서는 진동을 억제(상류차분처럼)하는 것이다. 문제는 선형 도식으로는 이게 불가능하다는 점이다. 고들리노프 정리(Godunov’s theorem) 는 “2차 이상 정확도를 가지면서 단조성(진동 없음)을 유지하는 선형 도식은 존재하지 않는다”고 못 박는다. 소산이냐 분산이냐, 선형의 세계에서는 반드시 하나를 내줘야 한다.
탈출구는 비선형이다. TVD(Total Variation Diminishing) 도식은 해의 총변동이 시간에 따라 늘지 않도록 강제해 위글을 원천 봉쇄한다. 이를 실현하는 장치가 한계자(flux limiter)다. 해가 매끈한 곳에서는 고차 중심 도식으로, 급경사가 감지되면 도식을 국소적으로 상류로 낮춰 인위 점성을 자동 투입한다. minmod, van Leer, superbee 같은 한계자들이 각자 다른 소산-분산 균형점을 준다.4 이 아이디어는 차분 도식과 현대 고해상도 리만 솔버의 심장이 됐다.
6. 실무에서의 진단[편집]
- 결과가 너무 매끄럽고 확산이 과하다 → 소산 과다. 도식 차수를 높이거나 격자를 조밀하게. 1차 상류차분을 쓰고 있었다면 그것부터 의심.
- 급경사·불연속 주변에 오르내리는 진동, 음수 값 출현 → 분산 과다. 한계자나 TVD 도식으로 교체.
- 격자를 절반으로 줄였는데 확산이 확 줄어든다 → 그 확산의 상당 부분이 물리가 아니라 수치 소산이었다는 증거. 검증 및 확인의 격자 수렴 시험이 이걸 정량화한다.
결국 수치 소산과 분산을 이해한다는 것은, 화면에 보이는 결과 중 무엇이 물리이고 무엇이 도식의 그림자인지 구별할 줄 안다는 뜻이다. 이 구별을 못 하면 인위 점성으로 지운 소용돌이를 놓고 “우리 유동은 원래 잔잔하다”고 보고서에 쓰게 된다.
7. 관련 문서[편집]
- 편미분방정식 · 차분 도식
- 유한차분법 · 유한체적법
- 폰 노이만 안정성 해석 · CFL 조건 · 수렴성
- 테일러 급수 · 리만 솔버
- 수정 방정식 · 한계자
- 특성곡선법 · 검증 및 확인
8. Footnotes[편집]
-
그래서 1차 상류차분은 “안정성은 신이 주셨는데 정확도는 악마가 가져갔다”는 평을 듣는다. 웬만하면 안 터지지만, 그 대가로 관심 있는 물리량이 격자에 녹아 사라진다. 초보자가 처음 만드는 코드가 대부분 이 도식인 이유이기도 하다. ↩
-
이 현상을 대놓고 역이용한 것이 암시적 LES(ILES)다. 아격자 모델을 아예 빼고, 도식의 수치 소산이 곧 난류 소산을 대신하게 한다. “격자가 다 했다”를 이론으로 승격시킨 셈인데, 놀랍게도 어떤 경우엔 잘 맞는다. ↩
-
농도가 음수로 나오는 순간 화학반응 항이 폭발하거나 로그 항에서 NaN이 뜨며 계산이 죽는다. 분산 진동이 무서운 진짜 이유는 결과가 이상해서가 아니라, 물리적으로 금지된 값이 다른 모듈을 연쇄적으로 터뜨리기 때문이다. ↩
-
superbee는 경계를 가장 날카롭게 유지하지만 매끈한 극점을 인위적으로 뾰족하게 만드는 부작용이, minmod는 가장 안전하지만 다소 뭉툭한 결과를 준다. 한계자 선택은 결국 취향과 문제 성격의 문제라, “국룰 한계자”를 묻는 질문에 정답은 없다. ↩