CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面

简介: CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面

前言

  上一篇,安装了Qt5环境。

  本篇在服务器CentOs8.2上安装geant4软件,geant4使用Qt5来显示。


GEANT4

介绍

  Geant4 是一个用于模拟粒子穿过物质的工具包。其应用领域包括高能、核物理和加速器物理,以及医学和空间科学研究。Geant4 的三篇主要参考论文发表在物理研究中的核仪器和方法A 506 (2003) 250-303、IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278和物理研究中的核仪器和方法A 835 (2016) 186-225。

版本

  当前最新版本为4.11,为2021年12月10日的版本。

下载

  从官网下载:https://geant4.web.cern.ch/

  一共14个文件,如下图:

  

  


提前安装的包

  • gcc
yum install gcc
g++
  • cmake
yum install cmake


编译安装Geant4

步骤一:解压geant4

mkdir /path/to -p

  然后copy进去,解压

cp /home/yang/work/grean4/geant4-v11.0.0.tar.gz /path/to/.
tar xvf geant4-v11.0.0.tar.gz

  如下图:

  

步骤二:使用CMake配置

  data相关的直接在源文件解压了,如下图:

  

cd /home/yang/work/grean4
tar xvf G4ABLA.3.1.tar.gz
tar xvf G4INCL.1.0.tar.gz
tar xvf G4PhotonEvaporation.5.7.tar.gz
tar xvf G4RealSurface.2.2.tar.gz
tar xvf G4EMLOW.8.0.tar.gz
tar xvf G4NDL.4.6.tar.gz
tar xvf G4PII.1.3.tar.gz
tar xvf G4SAIDDATA.2.0.tar.gz
tar xvf G4ENSDFSTATE.2.3.tar.gz
tar xvf G4PARTICLEXS.4.0.tar.gz
tar xvf G4RadioactiveDecay.5.6.tar.gz
tar xvf G4TENDL.1.4.tar.gz

  解压后,再开始进入编译阶段:

mkdir /path/to/geant4-v11.0.0-build -p

  

  补充安装一个库:

yum install -y expat expat-devel

  配置:

cd /path/to/geant4-v11.0.0-build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/geant4-v11.0.0-install \
      -DGEANT4_INSTALL_DATADIR=/home/yang/work/grean4 \
      -DCMAKE_BUILD_TYPE=RelWithDebInfo \
      -DGEANT4_USE_OPENGL_X11=ON \
      -DGEANT4_BUILD_MULTITHREADED=ON  \
      -DGEANT4_USE_RAYTRACER_X11=ON \
      -DGEANT4_USE_XM=ON \
      -DGEANT4_USE_GDML=ON \
      -DGEANT4_USE_QT=ON \
      -DGEANT4_FORCE_QT5=ON \
      -DGEANT4_USE_SYSTEM_CLHEP=ON \
      -DGEANT4_USE_SYSTEM_ZLIB=ON \
      -DGEANT4_USE_SYSTEM_EXPAT=ON \
      -DGEANT4_INSTALL_DATA=ON \
      /path/to/geant4-v11.0.0

  出现配置错误,缺少“CLHEP”,如下图:

  

步骤三:安装CLHEP库

  下载地址:http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html

  

  将clhep包放入目录:

mkdir /path/to/clhep -p
cd /path/to/clhep
cp /home/yang/work/grean4/clhep-2.4.5.1.tgz /path/to/clhep/.
tar xvf clhep-2.4.5.1.tgz

  

cd 2.4.5.1
mkdir build
cd build
cmake ../CLHEP

  

make -j8

  

make install

  

  安装完成,接下来继续编译。

步骤四:安装Xerces-C库

  

  下载:http://archive.apache.org/dist/xml/xerces-c

  将包放入目录:

mkdir /path/to/xercesC -p
cd /path/to/xercesC
cp /home/yang/work/grean4/xerces-c-3.1.0.tar.gz /path/to/xercesC/.
tar xvf xerces-c-3.1.0.tar.gz

  

cd xerces-c-3.1.0
configure
make
make install

  

make -j8
make install

  安装完成,接下来继续编译。

步骤五:继续CMake配置,解决系列依赖问题

  

yum install motif-devel

  

yum install zlib-devel

  

yum install mesa-libGL-devel mesa-libGL-devel

  

yum install libXmu-devel

  继续配置,配置成功,如下图:

  

步骤六:编译make

  开始编译,使用多线程-j4:

cd /path/to/geant4-v11.0.0-build
make -j8

  

  要个将近二十来分钟,如下图:

  

步骤五:安装install

  安装到默认路径:

make install

  

  


测试运行环境

  引入geant4.sh的环境变量:

source /path/to/geant4-v11.0.0-install/bin/geant4.sh

  使用源码中的自带示例验证:

cd /path/to/geant4-v11.0.0/examples/basic/B1
mkdir build
cd build
cmake ..

  

  编译:

make

  

  运行:

./exampleB1

  



相关文章
|
5月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
2221 4
|
5月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
1098 16
|
6月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
533 10
|
6月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
574 0
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
567 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
714 0
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
990 2
|
存储 运维 监控
Qt开发网络嗅探器01
Qt开发网络嗅探器01