연구 프로젝트
진행 중

Cosmological N-body Simulator 개발

재현 가능한 암흑물질 N-body 기준선과 LSS 신호 연구를 위한 validation-first 시뮬레이터

Cosmological N-body Simulator 개발

소속

Personal Research

협업

Independent Project

기간

2026년 7월 - 현재

수정됨:
태그:cosmologyn-bodyc++20scientific-computing

프로젝트 개요

Cosmological N-body Simulator는 C++20으로 개발 중인 우주론 N-body 시뮬레이터입니다.

목표는 동일한 초기조건, 우주론, 단위, 힘 계산 방식과 헤일로 정의를 사용했을 때 공개 연구 및 독립 코드와 비교 가능한 결과를 만드는 것입니다. 우선 물질 파워스펙트럼, 헤일로 질량함수, 2점 상관함수와 기본 헤일로 성질의 수렴 범위를 정량화하고, 그 기준선 위에서 초기우주 신호의 비선형 전달을 연구합니다.

소스에는 선형 물질 스펙트럼에 제한된 scalar response를 적용하는 실험 경로가 포함되어 있습니다. 이는 direct primordial non-Gaussian 초기조건이나 검출 결과가 아닙니다.

현재 범위

현재 기준 경로는 주기적 공변 박스의 직렬 CIC Particle-Mesh 중력과 전역 KDK 적분입니다. TreePM, MPI PM과 CUDA/cuFFT 경로는 구현 또는 검증 중인 예비 기능이며 production 성능이나 정확도를 보증하지 않습니다. 이 페이지의 그림과 단일 실행 결과 역시 과학적 검출을 뜻하지 않습니다.

현재 구현

초기조건 생성부터 native 분석 산출물과 시각화까지 연결된 재현 가능한 DMO 파이프라인입니다.

BaselinePeriodic CIC Particle-Mesh + KDK
Initial ConditionsGaussian 1LPT / 2LPT
ProductsHDF5 Snapshot / Restart / Halo Catalogue
AnalysisFoF / SO / HMF / Landy–Szalay 2pCF
PresentationNative products + MySimPlot
Status기준 파이프라인 구현, 수렴 범위 검증 중
우주 거대구조의 진화: z=4.0에서 z=0.0까지
우주 거대구조의 진화: z=4.0에서 z=0.0까지

이 페이지에 사용한 실행 설정

  • 박스 크기: L=128h1MpcL=128\,h^{-1}\,\mathrm{Mpc}
  • 입자 lattice: 2563256^3
  • PM 및 IC mesh: 각각 2563256^3
  • 우주론: ΛCDM\Lambda\mathrm{CDM}, h=0.6766h=0.6766, Ωm=0.3111\Omega_{\mathrm{m}}=0.3111
  • 초기조건: 1LPT, zstart=49z_{\mathrm{start}}=49
  • 출력: z=4,3,2,1,0z=4,3,2,1,0

수치 해상도와 질량 해상도

아래 계산은 Cosmology_Simulation/configs/user_run.toml과 해당 실행의 native metadata에 기록된 값만 사용합니다. 입자 수, PM mesh, IC mesh, softening은 서로 다른 수치 오차를 제어하므로 하나의 보편적인 해상도 값으로 합치지 않습니다.

총 입자 수

Np=2563=16,777,216N_{\mathrm{p}}=256^3=16{,}777{,}216

평균 입자 간격

dmean=LN=128256=0.5h1Mpcd_{\mathrm{mean}}=\frac{L}{N}=\frac{128}{256}=0.5\,h^{-1}\,\mathrm{Mpc}

이 실행에서는 PM mesh와 IC mesh도 축당 256개이므로 다음과 같습니다.

ΔxPM=ΔxIC=0.5h1Mpc\Delta x_{\mathrm{PM}}=\Delta x_{\mathrm{IC}}=0.5\,h^{-1}\,\mathrm{Mpc}

입자, PM mesh와 IC mesh에 대응하는 Nyquist 기준도 모두 같습니다.

kNyq=πNL=6.283hMpc1k_{\mathrm{Nyq}}=\frac{\pi N}{L}=6.283\,h\,\mathrm{Mpc}^{-1}

입자 질량

코드의 질량 단위는 1010h1M10^{10}\,h^{-1}\,M_{\odot}이며, 같은 단위계에서 ρcrit,0=27.752823482\rho_{\mathrm{crit},0}=27.752823482입니다. 입자 질량은 다음 식으로 계산됩니다.

mp=ρcrit,0Ωm(LN)3m_{\mathrm{p}}=\rho_{\mathrm{crit},0}\,\Omega_{\mathrm{m}}\left(\frac{L}{N}\right)^3mp=27.752823482×0.3111×(0.5)3=1.079237923m_{\mathrm{p}}=27.752823482\times0.3111\times(0.5)^3=1.079237923

따라서 이 실행의 질량 해상도는 다음과 같습니다.

mp=1.079×1010h1Mm_{\mathrm{p}}=1.079\times10^{10}\,h^{-1}\,M_{\odot}

FoF catalogue의 최소 포함 질량

native 분석은 최소 32입자 그룹을 포함합니다.

Mselect=32mp=3.454×1011h1MM_{\mathrm{select}}=32\,m_{\mathrm{p}}=3.454\times10^{11}\,h^{-1}\,M_{\odot}

이 값은 catalogue selection floor입니다. 수렴성이 검증된 completeness limit 또는 물리적 신뢰 질량 한계를 의미하지 않습니다.

Softening

설정값 softening_comoving_Mpc_h = -1은 코드의 기본 규칙에 따라 다음 값으로 변환됩니다.

ϵ=dmean30=0.0167h1Mpc\epsilon=\frac{d_{\mathrm{mean}}}{30}=0.0167\,h^{-1}\,\mathrm{Mpc}

Softening과 PM cell 크기는 참고 척도이며, 실제 신뢰 범위는 입자 수, mesh, timestep과 solver를 바꾼 수렴성 실험으로 결정해야 합니다.

분석 산출물과 시각화

시뮬레이터는 halo finding, 질량 정의, pair count와 분석 산출물의 과학적 정의를 담당합니다. 별도 저장소인 MySimPlot은 native manifest와 SHA-256 identity를 확인한 뒤 결과를 렌더링하는 presentation layer입니다. Plotting 단계에서 halo membership, 질량 또는 추정량을 다시 정의하지 않으며 smoothing, fitting이나 fallback estimator를 적용하지 않습니다.

헤일로 질량함수의 미분 및 누적 정규화는 다음과 같습니다.

dndlnM=NbinL3ΔlnM\frac{\mathrm{d}n}{\mathrm{d}\ln M}=\frac{N_{\mathrm{bin}}}{L^3\,\Delta\ln M}n(M)=N(MhM)L3n(\geq M)=\frac{N(M_{\mathrm{h}}\geq M)}{L^3}

오차막대는 Poisson counting uncertainty에 대한 central Garwood interval이며 cosmic variance와 bin 사이 covariance는 포함하지 않습니다.

Halo Mass Function at z=4 Figure: z=4z=4의 FoF 헤일로 질량함수. Linking length b=0.2b=0.2와 최소 32입자 selection을 사용한 native catalogue의 미분 분포, 누적 분포와 정확한 bin count를 보여줍니다. 표시된 최소 질량은 catalogue inclusion floor이며 completeness limit가 아닙니다.

개발 계획

  1. 입자 수, PM·IC mesh, 시작 적색편이와 timestep을 변화시켜 기준 결과의 수렴 범위를 확정합니다.
  2. 동일한 초기조건으로 독립 코드와 field 및 통계량을 비교합니다.
  3. 기준선 검증 이후 제한된 초기우주 response를 고차 통계와 halo 관측량 연구로 단계적으로 확장합니다.

연구 한계

현재 모델은 암흑물질 전용 시뮬레이션입니다. 유한한 박스와 해상도, cosmic variance, halo finder, baryonic physics와 관측 선택 효과가 결과에 영향을 줄 수 있습니다. 따라서 새로운 물리 신호에 대한 해석은 수렴성 검증, 독립 코드 비교와 별도의 통계 분석을 통과한 범위에서만 제시합니다.