FLUKA-CERN在Ubuntu 20.10系统的安装测试

FLUKA主要是意大利核物理研究所(INFN)和欧洲核子中心(CERN)的科学家合作开发的结晶,2019年9月1日,两家宣布结束在FLUKA方面的合作。INFN拥有老的网站http://www.fluka.org/。与此同时CERN建设了自己的FLUKA网站https://fluka.cern/。
对于普通用户而言,是选择追随INFN还是CERN呢?作者选择了CERN的新版本,理由如下:1.Flair不仅仅是GUI,更是前处理和后处理的重要工具,无法舍弃;2.CERN作为全球最大的研究中心,他们维护的FLUKA版本想必值得信赖。因此本文用CERN的版本进行安装调试。
1.Ubuntu 20.10安装
Ubuntu最新版本是20.10,安装Ubuntu的常规操作本文不再赘述。Ubuntu下载地址:https://cn.ubuntu.com/download。
2 .FLUKA安装
2.1 卸载老版本
如果是老系统,里面安装了原来版本的FLUKA,建议先将其删除。如果是tar安装,用命令:
rm -Rf $FLUPRO
如果是rpm安装的,用命令:
rpm -e fluka2011
2.2 gfortran安装
根据CERN网页https://fluka.cern/documentation/installation/fluka-linux-macos提供的安装步骤,第一步还是应该安装对应的编译器。
在Ubuntu系统中安装gfortran
用命令:sudo apt install gfortran
检查是gfrotran否安装成功,可以用这样几个命令:
gfortran -v或者gcc -v查询版本
which gcc 和 whichgfortran 查询安装路径

如果是苹果macOS系统,操作相对更多一些。这里不多赘述,使用Mac的用户参见官网。
2.3 解压tgz文件
把下载好的FLUKA安装包复制到Ubuntu系统下的新建文件夹home/FLUKA2011.3.0。文件夹命名可以随意,但不能有空格。

然后在终端上用命令tar -xvf fluka-2011-3.0.Linux-gfor9.tgz进行解压。
解压后的文件存放在路径home/FLUKA2011.3.0/fluka2011-3.0下。这个版本解压后的文件分类比较清晰简洁。
这个时候打开bin目录查看发现,还没有可执行文件。
2.4安装
由于makefile 在src目录下,终端用cd命令进入src目录,执行make命令。也可以按照官网说的用make -j 8来加速执行。

Make执行完成后就会发现在bin目录下游多个可执行文件生成,这其中就包括fluka 和 flukadpm。

2.5 环境变量
CERN的新版本不需要在make之前设置环境变量。Make完成之后实际上也不需要,这里的环境变量设置只是为了使用方便,避免每次调用执行文件时都要输入全部路径。命令行是:
export PATH=$PATH:/home/jinling/FLUKA2011.3.0/fluka2011-3.0/bin
source ~/.bashrc 这个命令的作用是当打开新的终端的时候,环境变量仍然有效。也可以用echo $PATH命令查看一下PATH。

2.6 检验FLUKA是否安装成功
新建测试文件example.inp
代码如下:
TITLE
Charged pion fluence inside and around a proton-irradiated Be target
BEAM 50.E+00 PROTON
BEAMPOS 0.0 0.0 -50.0
GEOBEGIN COMBNAME
0 0 A simple Be target inside vacuum
RPP body1 -5000000.0 +5000000.0 -5000000.0 +5000000.0 -5000000.0 +5000000.0
RPP body2 -1000000.0 +1000000.0 -1000000.0 +1000000.0 -100.0 +1000000.0
RPP body3 -10.0 +10.0 -10.0 +10.0 0.0 +5.0
XYP body4 2.5
END
regBH1 5 +body1 -body2
regVA2 5 +body2 -body3
regBE3 5 +body3 +body4
regBE4 5 +body3 -body4
END
GEOEND
MATERIAL 4.0 1.848 5.0 BERYLLIU
ASSIGNMA BERYLLIU regBE3 regBE4
ASSIGNMA BLCKHOLE regBH1
ASSIGNMA VACUUM regVA2
EMFCUT -0.010 0.010 1.0 BERYLLIU PROD-CUT
scoRE ENERGY BEAMPART
USRBDX 99.0 PIONS+- -47.0 regBE3 regBE4 400.piFluenUD
USRBDX +50.0 +50.0 0.0 10.0 &
USRBDX -1.0 PIONS+- -47.0 regBE3 regBE4 400.piCurrUD
USRBDX +50.0 +50.0 0.0 10.0 &
USRTRACK -1.0 PIONS+- -48.0 regBE3 1000.0 20.piFluenU
USRTRACK 50.0 0.001 &
USRTRACK -1.0 PIONS+- -49.0 regBE4 1000.0 20.piFluenD
USRTRACK 50.0 0.001 &
USRBIN 10.0 PIONS+- -50.0 50.0 50.0 50.piFluBin
USRBIN -50.0 -50.0 -10.0 100.0 100.0 60.0 &
USRBIN 10.0 ENERGY -51.0 50.0 50.0 50.Edeposit
USRBIN -50.0 -50.0 -10.0 100.0 20.0 60.0 &
RANDOMIZ 1.0
START 100000.0
STOP
将测试模型文件inp复制到工作文件夹FLUKAwork。
启动FLUKA运行的命令是:
/home/jinling/FLUKA2011.3.0/fluka2011-3.0/bin/rfluka -M 5 example.inp
也可以是:
/home/jinling/FLUKA2011.3.0/fluka2011-3.0/bin/rfluka -N0 -M 5 example.inp
对比原来的启动运行命令FLUPRO/flutil/rfluka-N 0 -M 5 example.inp,除了路径不同,其他都是一样的。
表示进行5个cycle的计算,-N表示起始cycle,-M表示结束的cycle。
运行成功的标志是有临时文件夹生成:此例中为fluka_xxxx;
如果模型正确,会得到score的fort文件:如input001_fort.49;
由于单机上只能串行完成计算,因此依次得到cycle #1-#5的结果。

运行结束后在工作目录下会有很多fort文件,说明CERN的新版本FLUKA安装成功!

3 .FLAIR安装
随着CERN 和INFN的分家,FLAIR也有了新的网址:
http://flair.web.cern.ch/flair/
Flair是FLUKA的GUI。由于其友好的用户界面,推荐大家都安装使用。本文提供传统的手动逐步安装。CERN的网页安装指南推荐使用最新的repository库安装,更加方便快捷,不容易出差错。
3.1 手动逐步安装
许多老用户可能更加习惯手动逐步安装,通过这样一个安装过程更加理解Flair设计背后的一些逻辑,对用户使用也是有帮助的。
3.1.1 安装环境准备
同样的建议是,在装新版本前将老版本卸载,包括几何模块也卸载,命令行是:sudo apt remove flair flair-geoviewer。和之前一样, CERN新的网址上也列举了许多前置要求,最好一项一项准备。
这部分是Flair的强制要求,都必须要安装:
这部分是强烈推荐安装的依赖包:

这部分是编译需要的依赖包:

3.1.2 Python3安装
如果系统里Python2和3都已经安装,但Python指向的是python2,由于现在需要python3版本,用alias命令重新定向。为了以后方便也需要source一下。命令行:
echo alias python=python3 >> ~/.bashrc
Source ~/.bashrc
3.1.3 Tkinter Tcl/Tk安装
Tkinter和 Tcl/Tk还是按照之前的调试报告安装。
Tkinter是Tcl/Tk的界面,只装Tcl/Tk即可。
The Tkinter module (“Tk interface”) is thestandard Python interface to the Tk GUI toolkit.
命令为:sudo apt-get install python3-tk

3.1.4 Python Image Library安装
先安装pip,命令行:
sudo apt-get install python3-pip
然后安装其他依赖包
sudo apt-get install python3-dev libjpeg-dev libfreetype6-dev zlib1g-dev
3.1.5 Gnuplot安装
Ubuntu下安装Gnuplot参考
命令行:sudo apt-get install gnuplot

画sin(x)曲线,安装成功!

命令行:
sudo apt-get install python3-pydicom
安装成功的标志是在python3下导入pydicom和numpy不报错。

3.1.6 Numpy安装
在安装pydicom 的时候已经依赖安装。独立安装的命令为:
sudo apt-get install python3-numpy
3.1.7 rpm格式安装
将下载好的rpm版本flair和flair-geoviewe复制到FLAIR目录下:

先安装alien:
sudo apt-get install alien
再安装flair-geoviewe,命令如下
sudo alien -i flair-geoviewer-3.0-12.x86_64.rpm

安装FLAIR主程序: sudo alien -i flair-3.0-12.noarch.rpm

3.1.8 运行测试
用命令行打开flair,打开文件example.ini,如果出现报错提示:Set Fluka Directory。这里就需要最后做一个简单的手动操作:进入Flair的配置界面Config,将安装路径/home/jinling/FLUKA2011.3.0/fluka2011-3.0/bin复制到Fluka Directory中,其他不变。设置好之后点击Ok。

再进入运行Run界面,点击Start。发现可以正常运行了。同样设置5个cycle。

运行完成后,点击Process,合并fort文件得到.bnn文件就可以画图了。我们这里的测试用例为一个简单的模型,几何没有报错,运行也没有报错,说明安装成功。
用上述手动逐步安装完成后还可能出现了一个警示warning: PIL.Image and PIL.ImageTk not found. 如下图:

Vasilis教授的针对这个问题的回复是用命令行进行修补:
sudo apt install python3-pil.Imagetk
修补完成后就不会有错误提示了。
3.2 repository库安装
(略)
4.小结
意大利核物理研究所(INFN)和欧洲核子中心(CERN)的分家,为用户提供了多个FLUKA版本以供选择,虽然选择更多了,但也增加了选择的难度。我们这里选择了CERN维护的新版本主要还是出于对Flair的喜爱和依赖。尤其是物理师用惯了商业TPS,如果没有GUI是不可想象的。