KdV 방정식

편집 역사 토론
수치해석 계산물리 마지막 수정: 2026-08-05 04:29:12

1. 개요[편집]

KdV 방정식
Korteweg-de Vries Equation
표준형$u_t + 6uu_x + u_{xxx} = 0$
발표1895년, 코르테베흐 & 더프리스
유형비선형 분산 편미분방정식(3차)
대표 해$\mathrm{sech}^2$ 솔리톤, 다중 솔리톤
구조적분가능 — 무한개 보존량, 역산란 변환
수치적 악명명시적 도식 안정조건 $\Delta t \sim \Delta x^3$

KdV 방정식(Korteweg-de Vries equation)은 약한 비선형성과 약한 분산이 같은 크기로 경쟁하는 단방향 장파를 기술하는 3차 비선형 편미분방정식으로, 표준형은 다음과 같다.

ut+6uux+uxxx=0u_t + 6uu_x + u_{xxx} = 0

계수 6은 순전히 편의를 위한 것이고, 물리 문헌에서는 얕은 물 유도에서 자연스럽게 나오는 형태 ut+uux+δ2uxxx=0u_t + uu_x + \delta^2 u_{xxx} = 0을 쓰기도 한다. 두 형태는 uu, xx, tt의 스케일 변환으로 서로 옮겨간다. 1895년 코르테베흐(Korteweg)와 그의 제자 더프리스(de Vries)가 러셀의 고립파를 설명하기 위해 유도했고,1 1965년 자브스키-크루스칼의 수치 실험 이후 솔리톤 이론과 적분가능계의 표준 모델로 자리 잡았다.

2. 어디서 나오는가[편집]

전형적인 유도는 얕은 물 방정식의 약비선형·약분산 극한이다. 정지 수심 hh, 파고 aa, 수평 파장 LL에 대해 두 개의 작은 파라미터

ε=ah,μ=(hL)2\varepsilon = \frac{a}{h}, \qquad \mu = \left(\frac{h}{L}\right)^2

를 잡고, 우르셀 수 ε/μ=aL2/h31\varepsilon/\mu = aL^2/h^3 \sim 1인 영역, 즉 비선형과 분산이 같은 차수인 영역에서 오른쪽으로 진행하는 성분만 남기면 KdV가 나온다. μ0\mu \to 0이면 분산이 사라져 특성곡선법으로 다루는 비점성 버거스 꼴이 되어 파가 꺾이고, ε0\varepsilon \to 0이면 선형 분산파만 남아 퍼진다. KdV는 딱 그 사이의 좁은 창이다.

얕은 물만의 이야기도 아니다. 플라즈마의 이온음파, 비선형 격자(FPUT 사슬)의 연속체 극한, 탄성관 내 압력파, 내부 중력파 등 “약비선형 + 약분산 + 단방향”이라는 조건이 갖춰지면 어디서든 같은 방정식이 튀어나온다. 일종의 보편 정규형인 셈.

3. 솔리톤 해[편집]

1-솔리톤 해는 다음과 같다.

u(x,t)=2κ2sech2 ⁣(κ(x4κ2t))u(x,t) = 2\kappa^2\,\mathrm{sech}^2\!\big(\kappa(x - 4\kappa^2 t)\big)

여기서 진폭은 2κ22\kappa^2, 폭은 1/κ1/\kappa, 속도는 c=4κ2c = 4\kappa^2이다. 세 값이 파라미터 하나에 묶여 있다는 점이 핵심이다.

  • 진폭 =c/2= c/2높을수록 빠르다.
  • 1/c\propto 1/\sqrt{c}빠를수록 좁다.

그래서 KdV 수조에서는 큰 혹이 작은 혹을 따라잡는 상황이 필연적으로 벌어지고, 그 결과가 그 유명한 솔리톤 충돌이다. 충돌 후 두 혹은 진폭·속도를 완전히 복원하지만, 큰 쪽은 앞으로 작은 쪽은 뒤로 밀린 위상 이동만 남는다.

주기 경계 x ∈ [0,40) 위에서 u_t + 6uu_x + u_xxx = 0 을 실제로 적분한 2-솔리톤 충돌이다. 공간은 N=256 푸리에 격자에서 ∂_x → ik 로 정확히 미분하고, 비선형항은 6uu_x = 3(u²)_x 로 묶어 물리공간에서 만든 뒤 2/3 규칙으로 디에일리어싱한다. 시간은 적분인자 v̂ = e^(−ik³t)û 로 3차 미분항의 회전을 해석적으로 벗겨낸 다음 남은 비선형항에만 RK4 를 쓴다 — 이 처리를 빼면 Δt 가 Δx³ 에 묶여 돌지 못한다. 위 패널은 현재 u(x) 프로파일, 아래는 x–t 워터폴이 아래에서 위로 쌓인다. 점선은 충돌 전 정점 궤적을 그대로 연장한 선이라, 충돌 뒤 실선이 점선에서 벌어진 간격이 곧 위상 이동이다. 그 값은 이론값 Δ = ln((κ₁+κ₂)/(κ₁−κ₂)) 를 그려주는 게 아니라 추적한 정점에서 직접 측정해 나란히 띄운다 — κ₁=1.2, κ₂=0.6 에서 빠른 놈 +0.9154 대 이론 +0.9155, 느린 놈 −1.83098 대 −1.83102 다. 충돌 후 진폭 복원 오차는 이론 2κ² 대비 4.2e−4 이하, 보존량 상대오차는 질량 2.7e−15 이하 · 운동량 1.4e−8 이다. 무한 직선이 아니라 주기 상자라 솔리톤이 오른쪽 끝에서 왼쪽으로 되감긴다.

4. 보존량과 역산란 변환[편집]

KdV는 무한개의 독립 보존량을 갖는다. 앞의 몇 개만 적으면

I1=udx,I2=u2dx,I3=(2u3ux2)dxI_1 = \int u\,dx, \qquad I_2 = \int u^2\,dx, \qquad I_3 = \int \left(2u^3 - u_x^2\right) dx

이고, 미우라(Miura)가 mKdV와 KdV를 잇는 변환을 발견하면서 이 무한 계열이 체계적으로 생성된다는 것이 밝혀졌다. 이 과잉 보존량이 바로 KdV가 적분가능한 이유다.

결정적인 도구는 1967년 가드너-그린-크루스칼-미우라의 역산란 변환(IST)이다. 슈뢰딩거 작용소

L=x2+u(x,t)L = -\partial_x^2 + u(x,t)

를 놓고, uu가 KdV를 만족하면 LL의 스펙트럼이 시간에 대해 불변임을 보인다. 락스(Lax)는 이를 Lt=[M,L]L_t = [M, L]이라는 락스 쌍 형식으로 정리했다. 이산 고유값 κn2-\kappa_n^2은 그대로 상수이고, 산란 데이터(반사계수, 규격화 상수)는 지수함수로 선형 진화한다. 절차는 이렇게 된다.

  1. 초기 조건 u(x,0)u(x,0)으로 산란 문제를 풀어 산란 데이터를 얻는다.
  2. 산란 데이터를 선형 방정식으로 시간 진화시킨다.
  3. 겔판트-레비탄-마르첸코 방정식으로 역산란해 u(x,t)u(x,t)를 복원한다.

이산 고유값 개수가 곧 최종적으로 튀어나올 솔리톤 개수이므로, 초기 파형만 보고 결과를 세어볼 수 있다. 비선형 PDE에 푸리에 변환급 도구가 존재한다는 것 자체가 예외적인 사건이다.

5. 수치해석 — 3차 미분의 대가[편집]

KdV의 수치적 특성은 한 문장으로 요약된다. uxxxu_{xxx}가 모든 걸 망친다.

선형 분산항만 놓고 명시적 도식의 폰 노이만 안정성을 따지면, 증폭인자에 Δtk3\Delta t\,k^3이 들어오고 격자에서 표현 가능한 최대 파수는 kmax=π/Δxk_{\max} = \pi/\Delta x다. 결과적으로

ΔtΔx3π3δ2\Delta t \lesssim \frac{\Delta x^3}{\pi^3 \delta^2}

라는 잔인한 조건이 나온다. 격자를 2배 조밀하게 하면 시간 스텝은 8배 줄어든다. CFL 조건ΔtΔx\Delta t \sim \Delta x에 익숙한 사람에게는 사기당한 기분이 드는 지점.2 실제 자브스키-크루스칼의 도약(leapfrog) 도식은 비선형항까지 포함해 대략

ΔtΔx(umax+4δ2Δx2)1\frac{\Delta t}{\Delta x}\left(|u|_{\max} + \frac{4\delta^2}{\Delta x^2}\right) \le 1

을 요구한다. 그들이 비선형항을 uux13(uj+1+uj+uj1)uj+1uj12Δxu u_x \to \frac{1}{3}(u_{j+1}+u_j+u_{j-1})\frac{u_{j+1}-u_{j-1}}{2\Delta x}로 쓴 것도 우연이 아니라, 이 형태가 udx\int u\,dxu2dx\int u^2\,dx를 이산 수준에서 보존하기 때문이다.

현대적인 실무 표준은 다음 조합이다.

  • 공간: 주기 경계에서 FFT 기반 의사스펙트럼 미분. uxxxu_{xxx}(ik)3(ik)^3 곱셈 하나로 끝나고, 지수 수렴 덕에 격자 수가 적어도 분산 오차가 무시할 만해진다. 비선형항의 별칭(aliasing)은 2/3 절단으로 처리.3
  • 시간: 선형 강성항을 적분 인자(integrating factor)로 정확히 처리하고 비선형항만 명시적으로 다루는 지수 적분기 — 특히 ETDRK4가 사실상의 기본값이다. 강성 제약이 사라져 Δt\Delta t를 정확도 기준으로만 고르면 된다.
  • 대안: 분리 단계(split-step) 푸리에, 보존형 유한차분, 불연속 갤러킨(로컬 DG).

검증 세트도 정해져 있다. 1-솔리톤을 한 주기 돌려 L2L_2 오차와 수렴 차수를 재고, 2-솔리톤 충돌 후 진폭 복원과 IST 이론값과의 위상 이동을 비교하고, 장시간 적분에서 I1I_1, I2I_2의 표류를 모니터링한다. 수치 소산과 분산이 있는 도식은 이 시험을 통과하지 못한다 — 소산은 진폭을 갉아 속도까지 틀리게 만들고, 도식의 분산 오차는 물리적 분산항과 직접 경쟁해 가짜 꼬리를 만든다.4

6. 변종[편집]

  • mKdV: ut±6u2ux+uxxx=0u_t \pm 6u^2u_x + u_{xxx} = 0. 미우라 변환으로 KdV와 연결.
  • KP 방정식: KdV의 2차원 확장. 비스듬한 솔리톤 상호작용, 해변의 격자 무늬 파도가 여기 해당.
  • 감쇠·강제 KdV: 실제 수조·대기에는 마찰과 지형 강제가 있어 적분가능성이 깨진다. 이 경우 해석해는 없고 수치해석이 유일한 수단이 된다.
  • 분산 없는 극한: δ0\delta \to 0이면 해가 급격히 진동하는 분산 충격파(dispersive shock)로 붕괴한다. 휘섬 변조 이론의 영역.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 오랫동안 “코르테베흐-더프리스가 처음 유도했다”고 알려졌지만, 실은 1877년 부시네스크가 각주 하나에 이미 같은 방정식을 적어두었다는 것이 나중에 밝혀졌다. 각주에 묻힌 업적의 교훈: 중요한 건 굵은 글씨로 쓰자.

  2. Δx=0.01\Delta x = 0.01에서 Δt106\Delta t \sim 10^{-6}짜리 명시적 KdV 코드를 처음 돌려본 대학원생의 반응은 대개 “이거 멈춘 거 아니냐”다. 멈춘 게 아니라 그냥 느린 것이다.

  3. FFT를 쓰는 이상 주기 경계가 강제되는데, 솔리톤이 도메인을 한 바퀴 돌아 자기 꼬리와 만나면 그것도 엄연한 상호작용이다. 도메인을 넉넉히 잡지 않고 “우리 코드가 미지의 다중 솔리톤을 생성했다”고 발표하는 사고가 실제로 있다.

  4. 그래서 KdV는 새 시간 적분기의 표준 시험대로 애용된다. 정확해가 있고, 보존량이 무한하고, 조금만 틀려도 티가 확 난다. 논문 심사자가 “KdV 2-솔리톤 해보셨나요?”라고 묻는 데는 이유가 있다.