今天開始,我們更新一個長篇,超級大乾貨!!!
Geant4的系列教程!那麼什麼是Geant4呢?Geant4(GEometry ANd Tracking,幾何和跟蹤)是由CERN(歐洲核子研究組織)基於C++面向對象技術開發的蒙特卡羅應用軟體包,用於模擬粒子在物質中輸運的物理過程。相對於MCNP、EGS等商業軟體來說,它的主要優點是原始碼完全開放,用戶可以根據實際需要更改、擴充Geant4程序。重點在於它是一款開源軟體,不會涉及盜版侵權!
本系列教程主要是基於Windows系統下的解決方案,採用兩種解決方案。
方案一:使用Visual Studio 2019+Geant4+Qt的解決方案(不太推薦,非常麻煩,並且不能並行計算)
方案二:使用VMware虛擬機。
方案一 Visual Studio 2019+geant4+Qt安裝方法
第一:Geant4的版本選擇了目前最新的geant4_10_06_p03,同時,需要將所有Data files下載下來。
第二:使用目前最新版編譯器,VS2019。之後所用到的ROOT和Qt均與這IDE相關。
第三:選擇CERN ROOT下載版本,我所用的版本是6.18.02,最新版的官網下載速度感人。
第四:Qt要安裝MSVC版本,我安裝的是Qt5.14.2。
設置環境變量:
Path添加D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin(結合自己的安裝路徑,這是我的)
變量名:QMAKESPEC 變量值:D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\winrt-x64-msvc2019
變量名:QTDIR 變量值:D:\Qt\Qt5.14.2
註:結合自己的安裝路徑,這是我的,請按照自己安裝時候的路逕自行更改。
第五:安裝最新版Cmake,地址https://cmake.org/download/。儘量使用最近版本,因為以前版本是不能與VS2019兼容。
第六:開始自己編譯,這裡我們雙擊點開Cmake,在第一行的「where is the source code:」框裡找到我們Geant4源碼所在的位置(就是之前下載過的Geant4文件夾下geant4_10_06_p02什麼的),在下一行「where to build thebinaries:」框裡再在Geant4文件夾下與上文件夾並行的地方新建一文件夾,命名為「build」。點擊左下角的Configure按鈕,開始預編譯,這裡,我們需要選擇IDE版本,記得選擇VS2019。
勾選Qt以及其中所必須的插件OpenGL。如果畫面並未跳出Qt相關路徑請檢查Qt安裝及環境變量設置是否正確。全部正確後,CMAKE_CONFIGURATION_TYPES就留下Release一項就好,之後再選擇INSTALL的安裝地址CMAKE_INSTALL_PREFIX,再次Configure。點擊Generate生成c++工作項目。
第七:點擊Open Project,彈出VS2019,打開了剛剛生成的geant4項目。將第一步下載好的Geant4庫文件解壓,配置環境變量。
變量名:G4ENSDFSTATEDATA 變量值:D:\Geant4\DATA\G4ENSDFSTATE2.2
變量名:G4LEDATA 變量值:D:\Geant4\DATA\G4EMLOW7.9.1
變量名:G4LEVELGAMMADATA 變量值:D:\Geant4\DATA\PhotonEvaporation5.5
變量名:G4NDLDATA 變量值:D:\Geant4\DATA\G4NDL4.6
變量名:G4PARTICLEXSDATA 變量值:D:\Geant4\DATA\G4PARTICLEXS2.1
變量名:G4PIIDATA 變量值:D:\Geant4\DATA\G4PII1.3
變量名:G4SAIDXSDATA 變量值:D:\Geant4\DATA\G4SAIDDATA2.0
若以後算例報錯,缺少庫,可以去geant4官網上查詢相應的變量名進行添加。
第八:現在,在VS2019的解決方案列表裡找到INSTALL這個項目,這裡就是你之前在CMake中選擇的INSTALL系統安裝地址中安裝的項目。右鍵->生成,在這之後,會生成好久好久,沒有報錯,表示安裝成功。
設置環境變量:
Path添加D:\Geant4\bin
方案二 VMware虛擬機
第一:安裝VMware虛擬機。
第二:下載Geant4虛擬機鏡像,後臺回復「geant4」下載。
第三:打開VMware導入虛擬機鏡像。鏡像文件中有一個local1普通用戶,密碼為 local1。管理員帳戶的root密碼為centos8。
上述兩種方法,選一種即可成功安裝Geant4軟體。個人推薦使用虛擬機,只需下載鏡像,安裝VMware虛擬機,輕鬆搞定。
接下來一段時間,我會發出一系列的Geant4教程,想學習的小夥伴可以關注一下我哦!
喜歡這個系列的小夥伴,可以點讚轉發,謝謝大家捧場!!!