우주론 시뮬레이션

편집 역사 토론
시뮬레이션 계산물리 물리 마지막 수정: 2026-08-28 04:52:37

1. 개요[편집]

우주론 시뮬레이션
Cosmological Simulation
푸는 것팽창 배경 위의 자기중력 N체 + (선택) 유체
좌표공변좌표 · 주기 경계 상자
시간 변수흔히 스케일인자 a 또는 ln a
초기조건가우스 랜덤장 + 잔-도비치 / 2LPT
중력 솔버PM · P³M · TreePM · FMM · AMR
최대 약점바리온 서브그리드 모형의 자유도

우주는 실험이 불가능한 유일한 대상이다. 표본이 하나뿐이고, 재현 실험은 137억 년이 걸린다. 그래서 상자에 넣고 돌린다.

우주론 시뮬레이션(cosmological simulation)은 팽창하는 우주를 유한한 주기 상자로 잘라 넣고, 자기중력을 받는 물질의 N체 동역학(필요하면 기체 유체역학까지)을 초기 요동에서 현재까지 적분해 우주의 구조 형성을 재현하는 계산이다. 암흑물질 헤일로가 자라 붙고, 그 안에서 기체가 식어 은하가 생기고, 필라멘트와 보이드가 짜이는 우주 거대구조가 결과물이다.

계산 자체는 뜻밖에도 단순한 방정식에서 나온다. 뉴턴 중력 + 팽창 배경. 어려운 것은 규모와 바리온이다. 규모 쪽은 101210^{12} 입자를 수천 노드에 흩뿌리는 병렬 컴퓨팅 문제이고, 바리온 쪽은 별 하나(파섹 이하)에서 상자 크기(기가파섹)까지 아홉 자릿수의 스케일 격차를 서브그리드 모형으로 때워야 하는 문제다. 앞은 돈으로 해결되고, 뒤는 아직 아무도 해결하지 못했다.

중력 솔버 알고리즘 자체(트리·FMM·소프트닝·심플렉틱 적분)는 N체 문제반스-헛 알고리즘이 이미 정리해 두었다. 여기서는 “우주론이라서 달라지는 것” — 팽창 좌표, 초기조건 생성, 바리온 물리, 수렴 판정 — 에 집중한다.

2. 팽창하는 상자 — 공변좌표와 시간 변수[편집]

물리 좌표 r\mathbf r 은 우주가 팽창하면 그냥 늘어나므로 시뮬레이션 상자로 쓸 수 없다. 스케일인자 a(t)a(t) 로 나눈 공변좌표 x=r/a\mathbf x = \mathbf r / a 를 쓴다. 이 좌표에서 운동방정식은

x¨+2Hx˙=1a2xϕ,x2ϕ=4πGa2(ρρˉ)\ddot{\mathbf x} + 2H\dot{\mathbf x} = -\frac{1}{a^2}\nabla_x \phi, \qquad \nabla_x^2\phi = 4\pi G a^2\big(\rho - \bar\rho\big)

가 된다. 세 가지를 읽어야 한다.

  • 2Hx˙2H\dot{\mathbf x} 는 허블 감쇠항. 특이속도가 팽창에 의해 1/a1/a 로 줄어드는 효과다. 물리적으로 마찰이 아니라 좌표 변환의 산물인데, 수치적으로는 정확히 감쇠항처럼 행동한다.
  • 평균 밀도가 빠져 있다. 푸아송 방정식의 소스가 ρ\rho 가 아니라 ρρˉ\rho - \bar\rho 다. 무한히 균질한 배경은 팽창으로 이미 처리했으므로 요동만 중력을 만든다. 주기 상자에서 k=0k=0 모드를 버린다는 뜻이고, 고속 푸리에 변환 기반 솔버에서는 그냥 영주파수 성분을 0으로 두면 끝난다.
  • 주기 경계. 상자를 무한 반복해 붙인다. 이 덕에 원거리 중력을 FFT로 공짜에 가깝게 처리할 수 있고, 동시에 상자보다 큰 파장의 모드는 원리적으로 빠져 있다(뒤의 수렴 절에서 다룬다).

시간 변수tt 를 쓰는 코드는 요즘 드물다. 구조 형성은 aa 에 대해 훨씬 고르게 진행되므로 aalna\ln a 를 독립변수로 잡으면 스텝 수가 크게 준다. 정준 운동량 p=a2x˙\mathbf p = a^2\dot{\mathbf x} 를 쓰면 방정식이

dxdt=pa2,dpdt=xϕa\frac{d\mathbf x}{dt} = \frac{\mathbf p}{a^2},\qquad \frac{d\mathbf p}{dt} = -\frac{\nabla_x\phi}{a}

로 깔끔하게 분리 가능한 꼴이 되어, 킥-드리프트-킥 베를레 적분(심플렉틱 적분기)을 그대로 쓸 수 있다. 이 분리가 되도록 변수를 고르는 것이 우주론 코드의 첫 설계 결정이다.1

3. 초기조건 — 잔-도비치에서 2LPT까지[편집]

우주론 시뮬레이션은 “적당히 흩뿌린” 입자에서 시작하지 않는다. 초기조건은 관측된 우주와 정합적인 통계를 가져야 하고, 그 생성 절차가 통째로 하나의 파이프라인이다.

  1. 선형 파워스펙트럼 계산. 주어진 우주론 매개변수(Ωm,Ωb,h,ns,σ8\Omega_m, \Omega_b, h, n_s, \sigma_8 등)에서 시작 적색편이의 선형 파워 스펙트럼 P(k)P(k) 를 얻는다. 볼츠만 코드 CAMB 또는 CLASS 가 표준이며, 이들은 광자-바리온 유체와 뉴트리노까지 포함한 선형 섭동 방정식을 푼다.
  2. 가우스 랜덤장 실현. 푸리에 공간에서 각 모드의 진폭을 P(k)\sqrt{P(k)} 로, 위상을 균등 무작위로 뽑는다. 실수장이 되도록 에르미트 대칭 δk=δk\delta_{-\mathbf k} = \delta_{\mathbf k}^* 를 강제하는 것이 초보자가 가장 자주 틀리는 지점이다.
  3. 입자 배치. 균일 격자(또는 글래스 배치)에 놓인 입자를 잔-도비치 근사로 밀어낸다.
x(q,t)=q+D+(t)Ψ(q),qΨ=δlin\mathbf x(\mathbf q, t) = \mathbf q + D_+(t)\,\boldsymbol\Psi(\mathbf q), \qquad \nabla_q\cdot\boldsymbol\Psi = -\delta_{\rm lin}

q\mathbf q 는 라그랑주 좌표(원래 격자점), D+D_+ 는 선형 성장인자다. 속도는 vaD˙+Ψ\mathbf v \propto a\dot D_+\boldsymbol\Psi 로 자동으로 따라온다. 잔-도비치는 1차 라그랑주 섭동론이고, 껍질 교차가 일어나기 전까지는 1차원에서 정확한 해라는 좋은 성질이 있다.

문제는 시작 시각이다. 잔-도비치로 너무 늦게(낮은 zz) 출발하면 2차 이상의 항이 이미 중요해져 과도현상(transient)이 남고, 통계량이 수 퍼센트 어긋난다. 너무 일찍 출발하면 스텝 수가 늘고, 격자 배치의 이산화 잡음이 오래 살아남는다. 이 딜레마의 표준 해법이 2LPT(2차 라그랑주 섭동론)다. 2차 변위항을 추가하면 과도현상이 크게 줄어, zstart500z_{\rm start} \sim 500 대신 zstart50100z_{\rm start}\sim 50{\sim}100 에서 출발해도 3점 통계까지 맞는다. 요즘은 3차(3LPT)까지 넣는 생성기도 흔하다.

한 가지 더. 상자 하나는 우주 분산(cosmic variance)을 가진다. 유한한 상자에 우연히 큰 모드가 많이 들어가면 결과가 통째로 치우친다. 이를 억제하는 값싼 트릭이 고정-쌍 초기조건(fixed-and-paired)이다. 모드 진폭을 무작위로 뽑는 대신 P(k)\sqrt{P(k)} 로 고정하고, 위상을 180° 뒤집은 짝 시뮬레이션을 함께 돌려 평균한다. 선형·2차 오차항이 상쇄되어 상자 몇 개로 수십 개분의 통계를 얻는다. 서베이 해석용 에뮬레이터를 만드는 요즘 프로젝트는 거의 다 이걸 쓴다.

4. 중력 솔버 — 원거리는 격자, 근거리는 직접[편집]

우주론 특유의 사정은 주기 경계동적 범위다. 밀도 대비가 10410^{-4} 에서 10610^{6} 까지 자라므로, 균일한 격자 하나로는 절대 감당이 안 된다.

방식원거리근거리대표 코드
PM격자 + FFT없음 (격자 해상도가 한계)초기 코드, 근사 시뮬
P³M격자 + FFT컷오프 안에서 직접합초기 밀레니엄 계보
TreePM격자 + FFT팔분트리GADGET 계열
FMM고속 다중극자법 전개리프 직접합PKDGRAV3
AMR세분 격자 + 다중격자법세분 단계로 해상도 확보RAMSES, Enzo, ART

핵심 발상은 그린 함수 분리다. 중력 커널을 부드러운 부분과 뾰족한 부분으로 쪼개, 부드러운 쪽은 포아송 방정식을 격자에서 FFT로 풀고(주기 경계가 공짜다) 뾰족한 쪽만 트리나 직접합으로 처리한다. 분리 스케일 rsr_s 를 격자 간격의 서너 배로 잡으면 근거리 이웃 목록이 짧게 유지된다. 에발트 합산과 정확히 같은 아이디어이며, 실제로 분자동역학의 PME와 TreePM은 사촌 관계다. 다른 점은 중력에 상쇄가 없다는 것뿐.

소프트닝 길이 ε\varepsilon 은 보통 평균 입자 간격의 1/30 ~ 1/50 로 잡는다. 너무 크면 헤일로 중심이 뭉개지고, 너무 작으면 이체 산란 잡음과 극단적으로 짧은 시간간격이 코드를 잡아먹는다. 이 선택의 물리적 근거는 N체 문제의 완화시간 논의에 있다.

5. 바리온 — 여기서부터가 진짜 문제다[편집]

암흑물질만 돌리는 시뮬레이션은 “정확한 답이 있는” 문제다. 중력은 알려져 있고, 해상도를 올리면 수렴한다. 기체를 넣는 순간 그 성질이 사라진다.

유체 기법 자체는 전산유체역학의 표준 도구를 가져온다.

  • SPH — 라그랑주식이라 밀도 적응이 공짜고 갈릴레이 불변이지만, 고전적 형식은 접촉 불연속면에서 켈빈-헬름홀츠 불안정을 억제하는 결함이 있다. 압력-엔트로피 형식과 개선된 인공점성으로 상당 부분 고쳤다(EAGLE의 ANARCHY 등).
  • AMR 오일러 격자적응 격자 세분화 + 유한체적법. 충격 포착이 깔끔하지만 빠르게 움직이는 헤일로에서 이류 오차가 쌓이고 갈릴레이 불변성이 완전하지 않다.
  • 이동 격자 / 무격자 — 보로노이 격자를 유체와 함께 흘리는 방식(AREPO)이나 무격자 유한질량(GIZMO). 두 진영의 장점을 합치려는 시도이고, 최근 대형 프로젝트가 많이 채택한다.

그런데 유체 기법의 차이는 서브그리드 모형의 차이에 비하면 사소하다. 시뮬레이션이 분해할 수 없는 물리를 전부 손으로 넣어야 하기 때문이다.

  • 복사 냉각. 금속 함량과 자외선 배경에 의존하는 냉각률 표. 자기 차폐까지 근사로 넣는다.
  • 별 형성. 밀도가 문턱을 넘은 기체를 확률적으로 별 입자로 바꾼다. 효율은 관측된 케니컷-슈미트 관계에 맞춘다.
  • 초신성 되먹임. 가장 악명 높은 부분. 에너지를 그냥 열로 넣으면 기체가 즉시 냉각해 버려 아무 일도 안 일어나는 과냉각 문제가 생긴다. 냉각을 일시적으로 끄거나, 소수 입자에만 큰 온도 상승을 확률적으로 주거나, 운동량을 가진 바람 입자를 쏘고 잠시 유체와 분리시키는 등 온갖 처방이 있다.
  • AGN 되먹임. 무거운 헤일로에 블랙홀 씨앗을 심고, 강착률에 따라 열(퀘이사 모드) 또는 운동량(전파 모드) 에너지를 방출한다. 이것 없이는 은하 질량함수의 무거운 쪽 절단이 재현되지 않는다.

여기서 반드시 짚어야 할 사실. 이 모형들의 매개변수는 유도된 것이 아니라 관측에 맞춰 교정된 것이다. EAGLE과 IllustrisTNG는 z=0z=0 의 은하 항성질량 함수와 크기 관계에 맞춰 되먹임 매개변수를 조정했다고 논문에서 명시한다. 이건 부정직이 아니라 정직이다. 다만 논리적 귀결이 따라온다 — 교정에 쓰인 관측량은 예측이 아니다. 그 시뮬레이션의 예측력은 교정에 쓰이지 않은 다른 양(고적색편이 은하, 은하 내부 구조, 은하단 기체 프로파일)에서 평가해야 한다.

6. 준해석 모형 vs 유체 시뮬[편집]

은하를 얻는 길은 둘이다.

준해석적 은하 형성 모형(SAM)은 암흑물질 전용 시뮬레이션에서 헤일로 병합나무를 뽑고, 그 위에 기체 냉각·별 형성·되먹임을 상미분방정식 다발로 얹는다. 유체를 아예 풀지 않으므로 비용이 거의 0이라, 매개변수 공간을 수만 번 훑거나 MCMC로 사후분포를 뽑는 것이 가능하다. 밀레니엄 시뮬레이션 위에 얹힌 여러 SAM 이 이 방식의 전성기를 만들었다.

유체 시뮬레이션은 기체를 실제로 푼다. 은하의 형태, 원반 구조, 은하단 기체의 X선 방출처럼 공간 분포가 필요한 양을 직접 얻을 수 있다. 대신 한 번 돌리는 데 수천만 코어시간이 들어 매개변수 탐색이 사실상 불가능하다.

준해석 모형유체 시뮬레이션
비용노트북에서 수 분슈퍼컴퓨터 수천만 코어시간
매개변수 탐색MCMC로 사후분포까지손으로 몇 번
얻는 것은하의 통계적 목록형태·내부구조·기체 분포
물리 충실도각 과정을 통째로 근사유체는 풀고 서브그리드만 근사
공통 약점되먹임 처방의 자유도되먹임 처방의 자유도

마지막 줄이 요점이다. 둘의 근본적 불확실성은 같은 곳에서 온다. SAM 은 그 불확실성을 싸게 탐색할 수 있다는 장점이 있고, 유체 시뮬은 공간 정보를 준다는 장점이 있다. 요즘은 소수의 유체 시뮬로 SAM 을 교정하고, SAM 으로 매개변수 공간을 훑는 조합이 흔하다. 서베이 해석용으로는 더 싼 헤일로 점유분포(HOD)나 부분헤일로 존재비 맞추기(SHAM)를 쓴다.

7. 대표 프로젝트[편집]

프로젝트종류규모특징
밀레니엄 (2005)암흑물질 전용2160³ ≈ 10¹⁰ 입자, 500 h⁻¹MpcSAM 을 얹는 플랫폼으로 한 시대를 지배
일러스트리스 → TNG (2014→2018)유체 (이동격자)상자 50 / 100 / 300 Mpc 계열자기유체 포함, 공개 데이터 접근성이 강점
EAGLE (2015)유체 (SPH)100 cMpc 상자되먹임 교정 절차를 논문에서 명시적으로 서술
AbacusSummit (2021)암흑물질 전용대형 상자 수백 개, 총 수십조 입자서베이 공분산·에뮬레이터 전용 대량 생산

경향은 뚜렷하다. 암흑물질 전용은 정밀 우주론(서베이의 공분산 행렬과 에뮬레이터)을 향해 대량 생산 쪽으로, 유체는 은하 물리를 향해 해상도와 물리 모듈 쪽으로 갈라졌다. 둘을 동시에 만족시키는 시뮬레이션은 아직 없다.

8. 수렴을 어떻게 판정하나[편집]

검증 및 확인의 관점에서 이 분야는 까다로운 편이다. 참값이 없기 때문이다. 실무에서 쓰는 축은 넷이다.

  • 질량 분해능. 입자 질량 mpm_p 를 절반으로 줄여도 관심 통계량이 안 변하면 수렴. 헤일로 하나가 최소 수백~수천 입자를 가져야 질량함수가 믿을 만하다.
  • 힘 분해능(소프트닝). ε\varepsilon 을 바꿔 가며 밀도 프로파일 안쪽이 어디까지 신뢰 가능한지 본다. 표준 판정은 이체 완화 시간이 허블 시간과 같아지는 반지름 안쪽은 못 믿는다는 것(파워 등의 수렴 반지름). 헤일로 중심부 프로파일 논쟁이 오래간 이유의 절반이 이 판정 기준 문제였다.
  • 상자 크기. 상자보다 긴 파장의 모드가 빠져 있으므로 무거운 헤일로의 개수가 체계적으로 부족해진다. 은하단 통계를 보려면 수백 Mpc 이상이 필요하다.
  • 시간 적분. 시간간격 판정계수를 조여 에너지·각운동량 표류를 확인한다. 자세한 내용은 심플렉틱 적분기.

그리고 바리온이 들어가면 이 이야기가 한 번 더 꺾인다. 서브그리드 모형의 매개변수가 해상도에 의존하기 때문이다. 그래서 이 분야는 수렴을 두 종류로 구분해 부른다.

  • 강한 수렴 — 서브그리드 매개변수를 고정한 채 해상도를 올려도 결과가 같다. 이상적인 목표.
  • 약한 수렴 — 해상도를 바꿀 때마다 매개변수를 다시 교정하면 결과가 같다. 은하 형성 시뮬레이션이 실제로 달성하는 것.

약한 수렴만 달성했다는 고백은 이 분야의 표준 관행이자 미덕이다. 감추는 것보다 낫고, 독자가 결과를 어떻게 읽어야 하는지를 알려 주기 때문이다.2

마지막으로 실용적 파장 하나. 바리온 되먹임은 물질 파워스펙트럼을 k1hMpc1k \gtrsim 1\,h\,\mathrm{Mpc}^{-1} 에서 수 퍼센트 억제한다. 이 정도면 차세대 약중력렌즈 서베이의 통계오차보다 크다. 그래서 요즘은 암흑물질 전용 시뮬레이션 결과에 되먹임 효과를 사후에 입히는 “바리온화” 후처리와, 그 효과의 세기를 아예 우주론 피팅의 자유 매개변수로 놓고 주변화하는 전략이 표준이 되었다. 은하 형성의 지저분한 부분이 정밀 우주론의 오차 예산으로 직접 흘러들어온 것이고, 아이러니하게도 이것이 바리온 시뮬레이션에 대한 수요를 폭발시켰다.

9. 여담[편집]

  • 밀레니엄 시뮬레이션이 나왔을 때 화제가 된 것은 물리보다 데이터 공개 쪽이었다. 병합나무 데이터베이스를 SQL로 질의할 수 있게 열어 둔 덕에, 슈퍼컴퓨터를 못 쓰는 그룹도 그 위에서 논문을 쓸 수 있었다. 이 관행이 지금 IllustrisTNG·EAGLE 데이터 공개로 이어졌다.
  • 필라멘트 구조가 신경세포 사진과 닮았다는 이미지가 주기적으로 인터넷에 돈다. 통계적으로는 별 의미 없는 우연이다 — 둘 다 국소 성장 + 병합으로 만들어진 네트워크라 위상만 비슷할 뿐, 상관함수의 형태는 전혀 다르다.3
  • “우리 우주와 정확히 같은 초기조건”으로 돌리는 제약 시뮬레이션도 있다. 관측된 은하 속도장에 맞춰 초기 요동을 역산해, 우리 국부 은하군의 위치에 실제로 은하수와 안드로메다 비슷한 짝이 나오게 만든다. 결과물을 보면 감동적이지만, 역산에 들어간 관측 오차가 상당해서 “우리 동네의 그럴듯한 판본” 정도로 읽어야 한다.

10. 관련 문서[편집]

11. Footnotes[편집]

  1. 시간 변수를 잘못 고르면 벌어지는 일의 고전적 사례가 있다. 초기 코드 중 일부는 팽창 때문에 방정식이 분리 가능한 꼴을 벗어난 채로 리프프로그를 썼고, 그러면 심플렉틱성이 깨져 에너지가 조용히 표류한다. 우주론에서는 팽창 자체가 에너지를 보존하지 않으므로 “에너지 표류”를 눈으로 잡아내기가 더 어렵다. 그래서 요즘 코드는 잔-도비치 근사가 정확한 1차원 붕괴 문제나 알려진 자기유사해(구형 붕괴·자기유사 무한붕괴)로 적분기를 따로 검증한다.

  2. 이 지점에서 외부인이 흔히 하는 오해가 “그럼 결국 관측에 맞춘 그림 아니냐”다. 절반만 맞다. 교정에 쓰인 관측량은 확실히 그렇다. 하지만 되먹임 매개변수 서너 개로 은하 회전곡선, 은하단 X선 프로파일, 흡수선 통계, 고적색편이 은하 개수를 동시에 맞추는 것은 자유도가 남아도는 피팅이 아니다. 실제로 대부분의 처방은 그 시험을 통과하지 못하고 폐기된다.

  3. 같은 이유로 “우주는 뇌다” 계열 기사는 정기적으로 반박된다. 프랙탈 차원이나 최소 신장 트리 통계를 재 보면 두 네트워크는 꽤 다르다. 다만 두 그림을 나란히 놓으면 예쁘다는 사실만은 반박할 수 없어서, 발표 슬라이드에서는 앞으로도 계속 쓰일 것이다.