Geant4-11.0.0 설치 가이드 – Windows 10/11

Geant4-11.0.0 설치 가이드 – Windows 10/11

설치 상세: Windows 10/11, Geant4-11.0.0, Qt5 연동, Multi-threading 활성화, 크로스섹션 DATA 별도 준비

2021년 12월 10일, Geant4 11.0 버전이 출시되었습니다. Windows 11과 Visual Studio 2022도 최근에 나왔기에, 최신 환경에서 최신 버전의 Geant4를 깔아보려 합니다.

설치과정 자체는 Geant4 10.x 버전에서 바뀐 점이 거의 없으므로, 이전 글들도 함께 참고하실 수 있으리라 생각합니다. 또한, 이 글에서 설명하는 방법을 동일하게 Windows 10에서도 이용할 수 있을 것입니다.


설치 정보 요약

설치 환경

  • 운영체제: Windows 11 Pro 21H2

  • 인터넷 사용 가능

설치 조건

  • Geant4 11.0 버전

  • Cross-section data 직접 다운로드하여 준비

  • Multi-threading 기능 활성화

  • UI 및 가시화 기능 활용을 위해, Qt5 라이브러리 별도 설치하여 연동

설치 경로

  • Geant4 cross-section data: $env:USERPROFILE\Geant4\data\

    (e.g. C:\Users\Evan\Geant4\data\)

  • Geant4: $env:USERPROFILE\Geant4\geant4-v11.0.0\

    (e.g. C:\Users\Evan\Geant4\geant4-v11.0.0\)


TL;DR

  1. MSVC (Visual Studio Build Tools 2022) 설치
  2. Qt5 설치
  3. Geant4 설치
  4. 예제 실행

MSVC 설치

MSVC란 Microsoft사에서 제공하는 Microsoft Visual C++이라는 C++ 컴파일러를 비롯한 개발도구입니다. 익숙하게 알고 계시는 Visual Studio라는 이름의 통합개발환경(IDE)을 설치하시면서 함께 설치할 수도 있습니다. 다만 이 글에서는 Visual Studio는 빼고, 실제로 필요한 MSVC 부분만 따로 설치하는 방식으로 진행하겠습니다.

다운로드

현재 시점에서 최신 버전에 해당하는, Visual Studio 2022용 Build Tools를 다운로드 받겠습니다. Microsoft에서 제공하는 Visual Studio 2022용 Build Tools는 이 링크에서 무료로 받을 수 있습니다.

스크롤을 쭉 내려서 Visual Studio 2022용 도구 목록 하위에 있는 Visual Studio 2022용 빌드 도구의 다운로드 링크를 누르면 됩니다.

01_vs2022buildtools_download

설치

다운받은 파일(vs_buildtools_....exe)을 실행합니다. 다음 그림과 같은 창이 뜰 수 있습니다. 계속 버튼을 누르고 잠시 기다려줍니다.

02_vs2019buildtools_install

다운로드를 마치고 설치 준비가 다 되면, 다음 그림과 같은 창이 뜰 것입니다. 이 중 C++를 사용한 데스크톱 개발을 클릭합니다. 오른쪽 설치 세부 정보에서, 자동으로 선택사항 중 일부가 선택될 것입니다. 혹시라도 Windows용 C++ CMake 도구가 선택이 안되어있다면, 꼭 선택해주시기 바랍니다. 선택을 완료하셨다면 Install 버튼을 눌러 설치를 진행하시면 됩니다.

03_vs2022buildtools_install

실행

설치가 완료되었다면, 잘 실행되는지 테스트를 해보아야 합니다.

  1. WIN+S 를 눌러 검색을 띄움

  2. “developer powershell"을 입력하여 Developer PowerShell for VS 2022를 찾은 뒤 실행

    04_vs2022buildtools_test1

  3. cl 명령어와 cmake 명령어를 각각 입력하여, 다음 그림과 같이 각각의 사용법(usage)이 뜨는지 확인

    05_vs2022buildtools_test2


Qt5 라이브러리 설치

Qt는 Geant4에서 GUI를 띄우기 위해 필요한 라이브러리입니다. Qt는 라이센스 이슈 때문인지, 설치하려면 Qt 계정 회원가입 및 로그인이 필요합니다.

다운로드

일단 이 링크에서 Qt online installer를 다운받을 수 있습니다. 처음 들어오시면 헤매실까봐 눌러야하는 링크 순서를 보여드리니, 아래 그림을 참고해서 진행하시면 됩니다.

qt_download1

qt_download2

qt_download3

설치

설치파일을 다운받은 뒤 실행하시면, 다음과 같이 계정을 입력하라는 창이 뜹니다. 이미 가입하셨다면 Qt 계정을 입력하여 로그인하시고, 계정이 없으시다면 Sign up을 눌러 계정을 생성한 뒤 입력하시면 됩니다. 가입 시 이메일 인증절차가 필요합니다.

qt_install1

이어서 라이센스 동의 관련 내용이 뜹니다. 첫 번째 체크박스는 라이센스에 동의하겠다는 것이니 체크를 반드시 하셔야 합니다. 두 번째 네모상자 및 체크박스는 사용자가 기관인지 개인인지를 확인하는 란입니다. 기관이시면 기관명을 적고, 개인이시면 체크박스에 체크를 하면 됩니다.

qt_install2

Next 버튼을 누르다보면, Qt 발전을 위해 정보 제공 동의를 하는 내용이 나오는데, 이는 자유롭게 선택하시면 됩니다.

qt_install3

다음으로 설치경로 및 설치유형 선택이 나옵니다.

일단, 이 글에서 설치 경로는 기본경로인 C:\Qt로 가겠습니다.

설치 유형은 Custom Installation이 선택된대로 놔두시면 됩니다.

맨 아래의 Associate common file types with Qt Creator. 체크박스의 경우에는, 여러분이 Qt Creator라는 IDE를 사용하실 예정이라면 체크하시고, 사용할 계획이 없으시다면 체크를 해제하시면 됩니다.

qt_install4

Next를 누르면 설치할 항목을 고르는 부분이 나옵니다. 여기가 중요합니다.

일단 Deselect All을 눌러 모든 항목을 선택 해제합니다.

그리고나서, Qt > Qt 5.15.2 > MSVC 2019 64-bit만 선택합니다.

qt_install5

qt_install6

이제 설치가 완료될 때까지 기다리시면 됩니다. Qt쪽 서버와 한국간 통신이 느려서 그런지 생각보다 오래 걸리더군요.

환경변수 설정

설치가 끝났다면 환경변수를 설정하는 과정이 필요합니다. Path 환경변수에 Qt가 설치된 경로의 bin 폴더를 추가해주어야 합니다.

PowerShell을 관리자 권한으로 열어, 명령어를 통해 설정하도록 하겠습니다.

  1. WIN+R을 눌러 실행 창 열기

  2. powershell 입력 후 CTRL+SHIFT+ENTER를 눌러 관리자 권한으로 powershell 실행

  3. 다음 명령어 입력

    1[Environment]::SetEnvironmentVariable("Path", $env:Path+";C:\Qt\5.15.2\msvc2019_64\bin", "Machine")
    

설치여부 확인

방금 열어둔 PowerShell에서 qmake라고 입력한 뒤 사용법(usage)이 뜨는지 확인합니다.

qt_test


Geant4 설치

이 글에서는 $env:USERPROFILE\Geant4\ 폴더를 만들어 이 경로 하에 Geant4를 설치하는 방식으로 진행합니다. 경로는 이 글과 다르게 자유롭게 하셔도 됩니다만, 추후 설치경로 입력이나 환경변수 등을 설정할 때 이에 맞추어 변경하실 필요가 있으니 주의하시기 바랍니다.

Cross-section data 준비

Geant4를 설치하기 위해서는 cross-section data와의 연동이 필수적입니다.

Geant4 설치 시, 설치 인자를 통해 필수요구 cross-section data를 자동으로 설치하도록 할 수 있습니다. 다만, 필수가 아닌 cross-section data를 연동하고 싶거나 cross-section data의 경로를 직접 관리하고자 하는 경우에는, 따로 다운로드하여 준비한 뒤 이를 연동할 수 있습니다.

이 글에서는 cross-section data를 직접 다운받아 준비한 뒤 연동하도록 하겠습니다.

Geant4의 cross-section data는 이 링크Data files 부분에서 다운받을 수 있습니다. 총 10개의 필수요구 데이터와 2개의 선택사항 데이터(G4RealSurface, G4TENDL)가 있습니다. 위의 10개는 필수이므로 무조건 다 받으시고, 아래의 2개는 필요에 따라 다운받으시면 됩니다.

각 파일들은 .tar.gz 확장자를 가지고 있습니다. 이는 일종의 압축파일입니다. Bandizip이나 7-zip과 같은 압축 관련 유틸리티를 통해 압축을 풀 수 있습니다.

모두 다운받으셨다면, 전부 각각의 파일명이 폴더명이 되도록 압축을 해제합니다. (e.g. G4ABLA3.1 폴더 내에 defo.dat, … 등이 있도록)

이렇게 압축까지 해제하셨다면, 이 10~12개의 데이터 폴더들을 원하는 경로에 보관해두시면 됩니다. 이 글에서는 $env:USERPROFILE\Geant4\data\ 경로에 두도록 하겠습니다.

소스코드 다운로드

Geant4 소스코드는 이 링크Source files부분에서 다운받을 수 있습니다. Windows에서 설치를 진행하고 있으므로, ZIP format을 받으시면 됩니다.

설치

다음의 순서에 따라 진행합니다.

  1. $env:USERPROFILE\Geant4\ 폴더를 만듭니다. (탐색기를 열고, 주소창에 %USERPROFILE%이라고 쓰면 $env:USERPROFILE 위치로 들어갈 수 있습니다)

  2. 다운받은 geant4-v11.0.0.zip 파일의 압축을 풀어, 내용물을 $env:USERPROFILE\Geant4\에 담습니다. $env:USERPROFILE\Geant4\ 폴더 안에는 이제 geant4-v11.0.0이라는 폴더가 생겼을 것입니다. ($env:USERPROFILE\Geant4\에는 앞서 data를 저장해둔 data 폴더도 있었을 것입니다)

    geant4_unzip

  3. $env:USERPROFILE\Geant4\geant4-v11.0.0\로 들어갑니다. 이 폴더 안에 이미 여러가지 폴더와 파일이 있을 것입니다. 이 위치에 추가로 build라는 이름의 폴더와 install이라는 이름의 폴더를 만듭니다. 여기서 build 폴더는 소스코드를 컴파일하는 준비단계에 사용할 폴더이며, install 폴더는 컴파일하여 설치한 결과물이 담기게 될 폴더입니다.

    geant4_folder

  4. 앞서 실행해 봤던 Developer PowerShell for VS 2022를 실행합니다. 이미 켜져있는 창이 있다면, 그대로 이용하셔도 됩니다.

  5. 다음 명령어를 이용하여 앞서 만든 $env:USERPROFILE\Geant4\geant4-v11.0.0\build 폴더로 이동합니다.

    1cd "$env:USERPROFILE\Geant4\geant4-v11.0.0\build"
    
  6. 다음 명령어를 입력하여 cmake 작업을 수행합니다. 사양에 따라 다릅니다만 시간이 꽤 많이 걸립니다 (수 분 내지 수 십분).

    오탈자 방지를 위해 복사-붙여넣기를 권장합니다. 경우에 따라 경로 부분은 변경하여 사용하시기 바랍니다.

    1cmake .. -DCMAKE_INSTALL_PREFIX="$env:USERPROFILE\Geant4\geant4-v11.0.0\install" -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_INSTALL_DATADIR="$env:USERPROFILE\Geant4\data" -DGEANT4_BUILD_MSVC_MP=ON -DGEANT4_USE_QT=ON
    

    위에서 -D 뒤에 이어지는 항목이 추가옵션에 해당하는 인자이며, 여기서 사용된 옵션의 의미는 다음과 같습니다.

    • CMAKE_INSTALL_PREFIX: Geant4가 설치될 폴더의 경로

    • GEANT4_BUILD_MULTITHREADED: Geant4에서 MultiThreading이 가능하도록 설치할 지에 대한 여부. 기본값은 OFF

    • GEANT4_INSTALL_DATADIR: 사용자가 준비해둔 cross-section data가 담긴 폴더의 경로

    • GEANT4_BUILD_MSVC_MP: Windows에서 MSVC 빌드 도구를 통해 설치할 때 Multiprocessing을 통해 설치 속도를 빠르게 할 지에 대한 여부. 기본값은 OFF (이 옵션을 ON으로 하면, 컴퓨터 최대성능을 다 끌어다 써서, 설치 중에 컴퓨터가 버벅일 수 있습니다)

    • GEANT4_USE_QT: Geant4에서 Qt5 기반의 GUI를 사용할 수 있도록 설치할 지에 대한 여부. 기본값은 OFF

    다음 그림과 같이 Configuring doneGenerating done 문구를 확인하였다면 성공입니다.

    geant4_cmake

  7. 다음 명령어를 입력하여 빌드 및 설치 작업을 수행합니다. 오탈자 방지를 위해 복사-붙여넣기를 권장합니다.

    1cmake --build . --config Release --target install
    

    다음 그림과 같이 – Installing: … 문구가 쭉 뜨는 걸 확인하였다면 성공입니다.

    geant4_make

환경변수 설정

설치가 끝났다면, 환경변수를 설정하는 과정이 필요합니다.

먼저, PowerShell을 관리자 권한으로 실행합니다. 방금까지 Geant4 설치에 이용하던 Developer PowerShell for VS 2022에서 하는 것이 아님에 주의하세요. 권한이 없어서 명령어가 제대로 실행되지 않을 수 있습니다.

  1. WIN+R을 눌러 실행 창 열기

  2. powershell 입력 후 CTRL+SHIFT+ENTER를 눌러 관리자 권한으로 powershell 실행

  3. 다음 명령어 입력

    • Path 환경변수에 Geant4가 설치된 경로의 bin 폴더를 추가

      1[Environment]::SetEnvironmentVariable("Path", $env:Path+";$env:USERPROFILE\Geant4\geant4-v11.0.0\install\bin", "Machine")
      
    • GEANT4_DATA_DIR이라는 환경변수를 만들어 Cross-section data 폴더를 추가

      1[Environment]::SetEnvironmentVariable("GEANT4_DATA_DIR", "$env:USERPROFILE\Geant4\data", "Machine")
      

Geant4 예제 실행해보기

Geant4 설치를 완료했으니 이제 실행을 해봐야겠죠. 예제파일은 앞서 소스코드의 압축을 풀었던 곳에 가보시면 $env:USERPROFILE\Geant4\geant4-v11.0.0\examples 폴더에 있습니다. 여기서는 제일 기본예제인 examples\basic\B1을 테스트 해보겠습니다.

  1. B1 폴더를 폴더 째로 복사하여 원하는 곳에 가져옵니다. 저는 $env:USERPROFILE\Geant4_Project\B1으로 복사해왔습니다.

  2. 복사해온 B1 폴더 안에 build라는 폴더를 새로 만듭니다.

    example1

  3. Developer PowerShell for VS 2022를 실행합니다.

  4. cd 명령어를 이용하여, 예제 코드를 복사해온 경로의 build 폴더로 이동합니다. 이 글에서처럼 B1$env:USERPROFILE\Geant4_Project\B1으로 복사하였다면 다음과 같이 입력하면 됩니다.

    1cd "$env:USERPROFILE\Geant4_Project\B1\build"
    
  5. 다음 명령어를 입력하여 빌드를 수행합니다.

    1cmake ..
    2cmake --build . --config Release
    

    example3

  6. 명령줄에 ./Release/exampleB1.exe를 입력하여 실행하거나, build/Release 폴더 안에 있는 exampleB1.exe파일을 더블클릭하여 실행합니다.

    다음과 같은 GUI 창이 뜨면 성공입니다.

    example4


Changelog

  • 2021-12-22: 최초 게시
  • 2022-01-14: 다운로드 에러 관련 설명 추가, 오탈자 수정