FLUKA-CERN新版安装调试报告
FLUKA主要是意大利核物理研究所(INFN)和欧洲核子中心(CERN)的科学家合作开发的结晶,2019年9月1日,两家宣布结束在FLUKA方面的合作。INFN拥有老的网站http://www.fluka.org/并推出了新版本FLUKA2020.0beta.1,版本发行说明中部分内容提示用户使用Flair存在风险,貌似INFN将来对Flair的支持程度将逐渐降低。与此同时CERN建设了自己的FLUKA网站https://fluka.cern/并发布了新版本FLUKA2011-3.0,新网站上也更新了Flair,最新版是Flair3.0.5。
对于普通用户而言,是选择追随INFN还是CERN呢?经过这个漫长的春节,作者选择了CERN的新版本,理由如下:1.Flair不仅仅是GUI,更是前处理和后处理的重要工具,无法舍弃;2.CERN作为全球最大的研究中心,他们维护的FLUKA版本想必值得信赖。因此本文用CERN的新版本进行安装调试。
Ubuntu最新版本是19.10。但Ubuntu18.04是稳定版本,加上有前期安装经验,稳妥起见我们安装Ubuntu18.04,安装Ubuntu的常规操作本文不再赘述。Ubuntu下载地址:https://ubuntu.com/。
由于原来在fluka.org的FUID无法通用于CERN的新网址,用户需要进行重新注册,注册页面是:https://fluka.cern/download/registration。本文简单介绍一下注册过程及注意要点。
然后会收到CERN的一封邮件,提示用户需要一个工作日审核。
再次进入注册页面,点击Fill in form
这里有几个选项选择,如果你的研究单位没有跟CERN签订协议或者你的公司也没有购买商业版本的话,比较省心的选择是最后一项:个人的科学研究目的。
如果是老系统,里面安装了原来版本的FLUKA,建议先将其删除。如果是tar安装,用命令:
rm -Rf $FLUPRO
如果是rpm安装的,用命令:
rpm -e fluka2011
找到CERN提供的下载网页:https://fluka.cern/download/latest-fluka-release,我们选择用于Linux的.tgz版本,也就是第一个。
下载速度相比于之前非常慢,总共是480 M的文件,比之前的也大了约300 M。
根据CERN网页https://fluka.cern/documentation/installation/fluka-linux-macos提供的安装步骤,跟以前的类似,第一步还是应该安装对应的编译器。
在Ubuntu系统中安装gfortran 7.4
检查是gfrotran否安装成功,可以用这样几个命令:
gfortran -v或者gcc -v查询版本
which gcc 和 whichgfortran 查询安装路径
如果是苹果macOS系统,操作相对更多一些。这里不多赘述,使用Mac的用户参见官网。
把下载好的FLUKA安装包复制到Ubuntu系统下的新建文件夹home/FLUKA2011.3.0。文件夹命名可以随意,但不能有空格。
然后在终端上用命令tar -xvffluka-2011-3.0.Linux-gfor7.tgz进行解压。
解压后的文件存放在路径home/FLUKA2011.3.0/fluka2011-3.0下。对比上一个版本,这个版本解压后的文件分类更加清晰简洁。
这个时候打开bin目录查看发现,还没有可执行文件。
由于makefile 在src目录下,终端用cd命令进入src目录,执行make命令。也可以按照官网说的用make -j 8来加速执行。
Make执行完成后就会发现在bin目录下游多个可执行文件生成,这其中就包括fluka 和 flukadpm。
与以前的版本安装最大的不同在于,CERN的新版本不需要在make之前设置环境变量。Make完成之后实际上也不需要,这里的环境变量设置只是为了使用方便,避免每次调用执行文件时都要输入全部路径。命令行是:
export PATH=$PATH:/home/yuni/FLUKA2011.3.0/fluka2011-3.0/bin
source ~/.bashrc 这个命令的作用是当打开新的终端的时候,环境变量仍然有效。也可以用echo $PATH命令查看一下PATH。
CERN重新编写了运行的指南页面,用命令行运行FLUKA的指导页面是
https://fluka.cern/documentation/running/fluka-command-line。但其实你会发现这部分跟原来几乎是一致的。
将测试模型文件inp复制到工作文件夹FLUKAwork.为了减少运算时间,将输入粒子数改为1000。
启动FLUKA运行的命令是:
/home/yuni/FLUKA2011.3.0/fluka2011-3.0/bin/rfluka-M 5 input.inp
也可以是:
/home/yuni/FLUKA2011.3.0/fluka2011-3.0/bin/rfluka-N0 -M 5 input.inp
对比原来的启动运行命令FLUPRO/flutil/rfluka-N 0 -M 5 input.inp,除了路径不同,其他都是一样的。
表示进行5个cycle的计算,-N表示起始cycle,-M表示结束的cycle。有5个cycle总共运算5000个粒子。
运行成功的标志是有临时文件夹生成:此例中为fluka_xxxx;
如果模型正确,会得到score的fort文件:如input001_fort.22;
由于单机上只能串行完成计算,因此依次得到cycle #1-#5的结果。
运行结束后在工作目录下会有很多fort文件,说明CERN的新版本FLUKA安装成功!
随着CERN 和INFN的分家,FLAIR也有了新的网址:
http://flair.web.cern.ch/flair/
Flair是FLUKA的GUI。由于其友好的用户界面,推荐大家都安装使用。目前最新版本是flair-3.0-5。本文提供两种安装Flair的方式,一种是最新的repository库安装,另一种是传统的手动逐步安装。CERN的网页安装指南推荐使用第一种,更加方便快捷,不容易出差错。
如果你用的是之前的Ubuntu系统,而且安装过flair老版本的话,建议在装新版本前将其卸载,包括几何模块也卸载,命令行是:sudo apt remove flair flair-geoviewer。
相比于之前复杂的安装过程,尤其是依赖包的安装过程,CERN提供了一个打包好的简易安装方式,也就是常用的repository。用这种方法只需要三步就能完成flair和flair-geoviewer及其他依赖包的安装。
1.安装repository库的key,命令行是:
sudo wget -q -O - https://cern.ch/flair/download/ubuntu/KEY.gpg | sudoapt-key add -
2.安装Ubuntu18.04对应的repository库,命令行是:
这一步需要时间比较长,根据当地的网速而定,可以喝杯咖啡休息一下。
3.输入安装命令 回车:sudo aptinstall flair。在终端中可以看到许多依赖包将自动安装。
在上一节安装完成之后,建议立即进行升级。命令行是:
sudo apt update
sudo apt upgrade
终端中显示很多库都进行了更新,upgrade所需的时间更长,可以打一把游戏或者拿两篇文献翻翻。
用命令行打开flair: flair input.inp &。新版Flair打开后弹出证书协议,拉到最底部点击I agree即可。
会出现报错提示:Set Fluka Directory。
直接点击界面中的start运行的话会出现状态提示:Finished with ERRORS。查阅.out文件看到进一步提示:failed to run command 'rfluka’。说明Flair并没有像以前的版本那样在安装完成之后自动连接到FLUKA的可执行文件,从而导致了无法启动运行。
这里就需要最后做一个简单的手动操作:进入Flair的配置界面Config,将安装路径/home/yuni/FLUKA2011.3.0/fluka2011-3.0/bin复制到Fluka Directory中,其他不变。设置好之后点击Ok。
再进入运行Run界面,点击Start。发现可以正常运行了。同样设置5个cycle。
运行完成后,再合并fort文件得到.bnn文件就可以画图了。
进入Plot界面画二维图,其操作过程跟原来版本一致。
我们这里的测试用例是之前讲过的治疗头案例,相对还是比较复杂的,几何没有报错,运行也没有报错,说明安装成功。
初步看来,CERN的这版Flair界面风格跟原来版本几乎一致,只有Geometry几何界面多了一个类似于CAD软件的操控窗口。开发者在发行说明里也指出对几何引擎进行了改进,使之更贴合用户习惯。另外就是底层驱动程序从Python2更换为Python3。
许多老用户可能更加习惯手动逐步安装,通过这样一个安装过程更加理解Flair设计背后的一些逻辑,对用户使用也是有帮助的。
同样的建议是,在装新版本前将老版本卸载,包括几何模块也卸载,命令行是:sudo apt remove flair flair-geoviewer。和之前一样, CERN新的网址上也列举了许多前置要求,最好一项一项准备。
这部分是Flair的强制要求,都必须要安装:
这部分是强烈推荐安装的依赖包:
这部分是编译需要的依赖包:
在我的系统里Python2和3都已经安装,但Python指向的是python2,由于现在需要python3版本,用alias命令重新定向。为了以后方便也需要source一下。命令行:
echo alias python=python3 >> ~/.bashrc
Source ~/.bashrc
Tkinter和 Tcl/Tk还是按照之前的调试报告安装。
Tkinter是Tcl/Tk的界面,因此按我理解,只装Tcl/Tk即可。
The Tkinter module (“Tk interface”) is thestandard Python interface to the Tk GUI toolkit.
https://docs.python.org/2/library/tkinter.html
命令为:sudo apt-get install python3-tk
中文:
https://www.jianshu.com/p/d5c6537c7a71
英文:
https://prateekvjoshi.com/2014/04/19/how-to-install-pil-on-ubuntu/
先安装pip,命令行:
sudo apt-get install python-pip
然后安装其他依赖包
sudo apt-get install python-dev libjpeg-devlibfreetype6-dev zlib1g-dev
安装PIL:
sudo pip install pil
安装Pillow替代PIL:
sudo pip install Pillow
查询版本1.1.7安装成功!
Ubuntu下安装Gnuplot参考
英文:
http://zoomadmin.com/HowToInstall/UbuntuPackage/gnuplot
中文:
https://www.jianshu.com/p/6eef7dfe51bf
命令行:sudo apt-get install gnuplot
画sin(x)曲线,安装成功!
英文参考:
https://www.howtoinstall.co/en/ubuntu/xenial/python-dicom
命令行:
sudo apt-get install python3-dicom
安装成功的标志是在python3下导入dicom和numpy不报错。
在安装pydicom 的时候已经依赖安装。独立安装的命令为:
sudo apt-get install python3-numpy
将下载好的rpm版本flair和flair-geoviewe复制到FLAIR目录下:
先安装alien:
sudo apt-get install alien
再安装flair-geoviewe,命令如下
sudo alien -iflair-geoviewer-3.0-5.x86_64.rpm
安装FLAIR主程序: sudo alien -iflair-3.0-5.noarch.rpm
Flair运行测试步骤参照4.1.4,这里不再赘述。所不同的是,4.2节手动逐步安装的flair有生成图标,可以直接双击.inp或者.flair文件打开。
而4.1节用repository安装的则只能通过命令行flair+要打开的文件进行。开发者Vasilis教授回复是由于repository安装的makefile中漏掉了链接到图标。后期会进行升级修改bug。
另外用4.2节手动逐步安装完成后还出现了一个警示warning: PIL.Image and PIL.ImageTk not found. 如下图:
Vasilis教授的针对这个问题的回复是用命令行进行修补:
sudo apt install python3-pil.Imagetk
修补完成后就不会有错误提示了。
至此两种安装方式都测试成功,用户可以任选一种方法,4.1节的方法目前唯一的缺陷是没有图标链接,不能双击打开,但不影响命令行使用,4.2节安装过程相对繁琐,但所有的缺陷都已经解决。
意大利核物理研究所(INFN)和欧洲核子中心(CERN)的分家,为用户提供了多个FLUKA版本以供选择,虽然选择更多了,但也增加了选择的难度。我们这里选择了CERN维护的新版本主要还是出于对Flair的喜爱和依赖。尤其是物理师用惯了商业TPS,如果没有GUI是不可想象的。
虽然版本升级,实际从使用的角度看FLUKA本身的变化并不大,Flair的变化也不大,只是内核驱动换成了Python3。但是CERN对于两个程序包的安装过程进行了简化,FLUKA不需要进行环境变量设置,Flair可以用repository库进行简易安装。大大降低了入门难度。
为了方便交流CERN同样建立了讨论社区FLUKA User Forum,上面也有作者针对本文安装过程出现的一些小问题的讨论,链接是:https://fluka-forum.web.cern.ch/t/missing-flair-mime-icons/293。Flair的主要开发作者Vasilis Vlachoudis教授也在第一时间进行了解答回复。
最后值得一提的是,今年3月16号到20号,CERN将举办第一届FLUKA学校,随着Flair中DICOM模块的逐步完善,FLUKA将会更广泛地应用于粒子治疗和医学物理,感兴趣的朋友赶紧去报名吧。