우주론 시뮬레이션
PNU Cosmology Group · 심준섭 교수님 지도 · 2026년 봄학기 보조 연구

프로젝트 개요
2026년 봄학기 약 두 달 동안, 부산대학교 사범대학교 지구과학교육과의 심준섭 교수님께서 Fortran 시뮬레이션으로 생성하신 Friends-of-Friends (FoF) 헤일로 카탈로그 바이너리 파일을 Python 환경에서 읽고, 플롯으로 정리하는 보조 연구를 수행했습니다.
주요 목표는 완성된 그림을 단순히 재현하거나 히스토그램만 그리는 것이 아니라 바이너리 데이터와 그 구조를 이해하고, 카탈로그의 입자 수, 좌표, 보조 텐서 정보를 질량, 거리쌍, 방향성 및 시각화 척도로 바꾸어 와 플롯으로 구성해 보는 것이었습니다. 이 과정에서 고윳값 분해, 행렬·텐서 대칭화, 추정량, 주기적 경계 조건, 대량 배열 처리도 함께 배웠습니다.
제가 작성한 코드의 일부는 GitHub, youngjinphys/FoF_Simulation_Plot 레포지토리에 업로드 예정입니다.
공개 범위 안내
이 문서는 인턴십 과정에서 진행한 학습 및 구현 범위만 요약합니다. 제게 공개 권한이 없거나 peer review를 거치지 않은 바이너리 데이터, 실제 데이터의 플롯, 연구 결과 해석 및 결론은 포함하지 않습니다.
역할 및 활동 범위

약 두 달간의 학부 인턴 연구 경험을 요약했습니다.
작업 범위
바이너리 카탈로그 읽기와 스케일 변환
코드에서는 헤일로별 입자 수, 격자 좌표, 그리고 COM 중심 블록을 명명된 필드로 분리했습니다. 좌표는 격자 단위에서 를 곱해 Mpc/h 단위로 옮겼습니다.
FoF 질량과 HMF 플롯
카탈로그의 헤일로별 입자 수를 이용해 를 만들고, 이를 로그 질량 구간으로 묶어 로 표시했습니다.
2pCF와 estimator 학습
좌표를 시뮬레이션 길이 단위로 변환하고, 주기적 경계 조건을 고려한 거리 구간별 pair count를 계산했습니다. 이후 를 통해 무작위 기준선과 정규화가 왜 필요한지 학습했습니다.
헤일로 크기 보조 시각화
카탈로그의 second-moment tensor를 대칭화하고 고윳값을 이용해 주요 RMS 척도를 계산했습니다. 이 값은 로만 사용했으며, 공개 결과나 경계 측정값으로 해석하지 않았습니다.
원본 데이터가 계산에 들어간 방식
코드 기준으로 공개 가능한 입력은 헤일로별 입자 수 , 격자 좌표 , 그리고 카탈로그의 xx, qq second-moment tensor 블록이었습니다. 기본 변환은 , 였습니다.
HMF 플롯은 로그 질량 bin마다 을 세고, 형태로 부피와 bin 폭을 나누었습니다. 2pCF는 거리 bin별 , , 을 세고, 정규화된 pair count에 대해 를 적용했습니다.
헤일로 크기 표시는 xx와 qq를 각각 3x3 대칭 행렬로 만든 뒤 고윳값 를 사용했습니다. 코드의 스케일 진단에 따라 xx는 입자 수가 곱해진 Eulerian second moment로 보고 , qq는 입자 평균 Lagrangian second moment로 보고 를 principal RMS half-axis로 사용했습니다. shape 통계에서는 , , 를 계산했지만, 이 값들은 시각화와 학습용 요약량이지 peer-reviewed 물리 결론으로 공개하지 않았습니다.
주요 학습 내용 및 인사이트
- 대규모 Python 연산 경험: Python으로 처음 대규모 과학 배열을 다루며, NumPy/SciPy/Matplotlib 기반 처리, 청크 단위 pair count, 멀티코어 Pool 실행, 캐시 재사용, figure close 같은 운영 습관을 익혔습니다.
트러블슈팅 및 디버깅
- MLX 가속 시도와 CPU 경로로의 회귀: Pair Count 계산 시간이 길어 Apple MLX로 GPU 가속을 시도했지만, 전체 거리 행렬을 만든 뒤 일부만 histogram에 쓰는 방식이어서 메모리 사용량과 레이턴시를 줄이지 못했습니다. 최종 2pCF 경로는
cKDTree.count_neighbors기반 CPU pair count, 청크 처리, 캐시 재사용으로 구성했습니다. - 3D 텐서의 2D 투영 처리: 3D 고유벡터를 단순히 평면에 투영한 뒤 그리는 대신, 투영 평면의 2x2 텐서를 다시 대각화해 화면상의 장축을 구했습니다. 이는 시각화 방향 오류를 줄이기 위한 수학적 보정입니다.
감사의 글
짧은 기간이었지만 연구 데이터를 다뤄볼 기회와 적극적으로 지도해주신 심준섭 교수님께 감사드립니다.