UrQMD와 Geant4 연동을 통한 고에너지 입자 시뮬레이션 혁신
초록
본 논문은 우주선 및 고에너지 물리 실험에 널리 사용되는 UrQMD‑1.3cr 모델을 Geant4 툴킷에 직접 연결하는 인터페이스를 구현하고, 설치·컴파일 절차와 주요 클래스·멤버 함수 구조를 상세히 제시한다. 기존 Geant4 하이브리드 하드론 모델과 달리 0 MeV부터 1 TeV까지 입자·핵·반핵 상호작용을 하나의 미시적 모델로 시뮬레이션할 수 있다.
상세 분석
UrQMD( Ultra‑relativistic Quantum Molecular Dynamics)는 입자·핵 충돌을 미시적으로 기술하는 포렌즈 모델로, 특히 0 ~ 10 GeV 구간에서 복잡한 다중 입자 생산과 재결합 과정을 정밀하게 재현한다. Geant4는 범용 입자 수송 프레임워크이지만, 현재 제공되는 하드론 물리 리스트는 FTFP_BERT, QGSP_BIC 등 여러 모델을 조합해 에너지 구간별로 전환한다는 한계가 있다. 이 논문은 UrQMD‑1.3cr을 Geant4의 Hadronic Process 인터페이스에 직접 삽입함으로써, 단일 모델로 0 MeV‑1 TeV 전 범위를 포괄한다는 점에서 혁신적이다.
구현은 크게 세 부분으로 나뉜다. 첫째, Fortran 기반 UrQMD 코어를 C++ 래퍼인 G4UrQMDInterface에 바인딩한다. 여기서는 공통 블록(common block) 구조를 C++ 구조체로 매핑하고, 입자 상태 배열을 포인터로 전달해 메모리 복사를 최소화한다. 둘째, G4UrQMDModel 클래스는 Geant4의 G4VHadronicInteraction을 상속받아 Process 호출 시 UrQMD 초기화·입력 파라미터 설정·결과 파싱을 수행한다. 주요 멤버 함수인 ApplyYourself, Initialise, SetProjectile 등은 입자 종류, 에너지, 타깃 원자 번호 등을 UrQMD에 전달하고, 생성된 최종 상태 입자 리스트를 Geant4 트랙으로 변환한다. 셋째, G4UrQMDParticle 클래스는 UrQMD가 반환하는 PDG 코드와 동역학적 정보를 Geant4의 G4DynamicParticle 객체에 매핑하는 역할을 한다.
인터페이스는 컴파일 단계에서 Fortran‑C++ 연동을 위한 gfortran/gcc 옵션(-fno‑second‑underscore, -lgfortran 등)을 명시하고, CMake 기반 빌드 스크립트를 제공한다. 설치 전제 조건은 UrQMD‑1.3cr 소스, Geant4 10.7 이상, 그리고 ROOT 혹은 HepMC와 같은 외부 입자 이벤트 포맷 라이브러리이다. 빌드 후에는 예제 애플리케이션(예: runUrQMD.cc)에서 G4RunManager에 G4UrQMDModel을 물리 리스트에 추가함으로써 바로 사용 가능하다.
성능 평가에서는 동일 입자·에너지 조건에서 기존 Geant4 하이브리드 모델과 비교해 평균 1.3배 정도의 CPU 시간이 소요되지만, 입자 생산 스펙트럼과 각운동량 보존 측면에서 현저히 높은 정확도를 보였다. 특히 반핵·반양성자 상호작용 시 UrQMD만이 제공하는 전용 파라미터 세트가 적용돼, 기존 모델이 다루지 못하던 영역을 커버한다. 또한, 대기 중 입자 전파 시뮬레이션(air‑shower)에서 10 PeV 이하의 초고에너지 코스믹 레이 저에너지 부분을 자연스럽게 연결함으로써 전체 시뮬레이션 파이프라인을 단순화한다.
한계점으로는 UrQMD 자체가 1 TeV 초과 에너지에서는 물리 모델이 충분히 검증되지 않았으며, 메모리 사용량이 기존 Geant4 모델에 비해 약 20 % 증가한다는 점이다. 향후 작업으로는 최신 UrQMD‑3.4 버전과의 호환성 확보, GPU 가속을 위한 CUDA 포팅, 그리고 다중 스레드 환경에서의 thread‑safe 설계가 제시된다.