使用高精度物理模型报错
使用这些物理模型时: QGSP_BIC_HP
,QGSP_BIC_AllHP
,FTFP_BERT_HP
等,都可能出现以下问题:
以QGSP_BIC_AllHP
为例:
相关代码:
// .cc file : Physics list
#include "QGSP_BIC_AllHP.hh"
G4VModularPhysicsList* physicsList = new QGSP_BIC_AllHP;
runManager->SetUserInitialization(physicsList);
终端报错:
===> Please setenv G4PROTONHPDATA to point to the proton cross-section files.
terminate called after throwing an instance of 'G4HardronicException'
what(): std::exception
已放弃(核心已转储)
解决:
版本 :geant4_10.05.p01
参考:跳转连接
解决方法 :修改home目录下更改bashrc文件(注意:在安装geant4时曾经修改过bashrc文件,现在需要再添加几句话)
/
- 打开bashrc文件:终端输入
cd
无论你在什么目录下,确保回到了/home/user
目录。然后输入:
gedit .bashrc
或者:
vim .bashrc
/
- 修改内容
以下为修改前bashrc里关于Geant4的语句(即:安装Geant4的时候添加的语句)
source /home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/geant4make/geant4make.sh
export GEANT4_INSTALL=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/geant4make/geant4make.sh
- 注意:
/share/Geant4-10.5.1/geant4make/geant4make.sh
之前 是我的安装的路径,每个人的安装和命名可能不一样。
更改bashrc文件:在上述语句后面添加以下语句即可
export G4NEUTRONHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4NDL4.5
export G4PARTICLEHPDATE=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2
export G4PROTONHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2/Proton
export G4DEUTERONHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2/Deuteron
export G4TRITONHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2/Triton
export G4HE3HPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2/He3
export G4ALPHAHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4TENDL1.3.2/Alpha
- 注意:
/share/Geant4-10.5.1/data/
之前 是我的安装的路径,每个人的安装和命名可能不一样。和安装时的路径一样,可以直接复制过来,防止出错。
/
- 说明
export G4NEUTRONHPDATA=/home/user/Program/geant4_10.05.p01/geant4.10-install/share/Geant4-10.5.1/data/G4NDL4.5
可以解决 ===> Please set the environement variable G4NEUTRONHPDATA to point to the neutron cross-section files.
的问题
其他粒子的类似。故,都加上,一劳永逸!
补充
以上修改后,使用QGSP_BIC_AllHP
物理模型模拟了3MeV和13MeV质子打Be和Li靶的四种情况。
13MeV打Be靶时报错
G4IonTable::GetIon() : illegal atomic number/mass Z =0 A = 4 E = 0
查找发现似乎数据库只到10MeV,待补充。
参考连接
目前使用FTFP_BERT
模拟大于13 MeV 的情况,用QGSP_BIC_AllHP
模拟13 MeV的情况。