Garfield++ 是一款基于气体和半导体电离测量的粒子探测器详细模拟工具包。目前主要应用领域是微图案气体探测器。Garfield++ 与 Garfield 程序功能相同。主要区别在于 Garfield++ 对电子输运的处理更为先进,可以模拟硅传感器,并且用户界面基于 ROOT。
Garfield++ 目前提供以下电场计算技术:
- 针对由导线和平面构成的器件,提供细线极限下的解;
- 与有限元程序 Ansys、Elmer、Comsol 和 CST 接口,这些程序可以计算几乎任意三维结构中含有电介质和导体的近似场;
- 与 Synopsys Sentaurus 器件模拟程序接口;
- 与 neBEM 场求解器接口。
- 为了计算混合气体中电子的输运特性,Garfield++ 提供与 Magboltz 程序接口。
相对论带电粒子产生的电离模式可以用Heed程序模拟。为了模拟低能离子产生的电离,可以导入SRIM软件包的计算结果。
I、安装前准备工作:
一个 C++ 编译器:相应ubuntu最新的gcc、g++包(Ubuntu24.04默认对应gcc13.3.0)
一个 Fortran 编译器:相应ubuntu最新的gfortran包(Ubuntu24.04默认对应13.3.0)
GSL(GNU 科学库):libgsl0-dev
CMake(3.12 或更高版本):cmake
ROOT:参见ufans.top安装介绍。装过Cern ROOT上面的包也就都装上了。
II、安装:
新建目录/home/xxx/Garfield,右键打开终端,输入如下命令从库中拉取git包:
git clone https://gitlab.cern.ch/garfield/garfieldpp.git
拉取下载完成后,可以看到/home/xxx/Garfield新下载的garfieldpp文件夹,与garfieldpp同级文件夹即/home/xxx/Garfield中创建文件夹build,
mkdir build
cd build
编译安装:
cmake ../garfieldpp
make -j4(j4表示编译时用4核,根据机器修改)
make install
完成后无错误即安装完成。
如果提示错误:
CMake Warning at Examples/Geant4GarfieldInterface/CMakeLists.txt:16 (find_package):
By not providing "FindGeant4.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Geant4", but
CMake did not find one.
Could not find a package configuration file provided by "Geant4" with any
of the following names:
Geant4Config.cmake
geant4-config.cmake
则cmake改为
cmake ../garfieldpp -DGeant4_DIR=/home/xxx/Geant4/build
其中/home/xxx/Geant4/build目录为你的Geant4Config.cmake(预先安装geant4生成的)所在目录。
III、设置环境变量:
找到编译安装文件夹即build文件里的setupGarfield.sh文件,查看目录地址,假设其地址为(实际根据你电脑真实路径):
/home/xxx/Garfield/build/setupGarfield.sh
则打开文件
sudo nano ~/.bashrc
在最后一行之后添加:
source /home/xxx/CernROOT/garbuild/setupGarfield.sh
保存退出。
执行:
source ~/.bashrc
立即生效。