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
上一篇:《CentOS8安装Geant4笔记(二):CentOS8安装Qt5.15.2并测试运行环境》
下一篇:敬请期待…
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/123495062
CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面的更多相关文章
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
- InterSystems Ensemble学习笔记(一) Ensemble介绍及安装
系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装
VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942 版权声明:本文为博主原创文 ...
- 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld
2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...
- MeayunDB学习笔记(一) MeayunDB介绍及安装
系列目录 MeayunDB介绍-高性能分布式内存数据库 MeayunDB学习笔记(一)MeayunDB介绍及安装 MeayunDB学习笔记(二)批量导入数据 MeayunDB学习笔记(三)索引应用 ...
- hive学习笔记_hive的介绍与安装
一.什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据 ...
- python预科前三天:计算器知识、Python下载和安装、Pycharm下载安装激活设置、解释型和编译型、git、思维导图、显示隐藏文件、隐藏已知文件扩展名、创建组织、创建项目、提交作业、排BUG技巧
1.计算机组成结构:CPU.硬盘.内存.输入输出设备.主板.电源. 2.硬件之间的协作关系:是CPU运算完后给操作系统.专业术语叫指令. 3.键盘输入a之后发生的事情:键盘-CPU-操作系统-显卡-显 ...
- Hadoop学习笔记(一)——编译安装和配置
近期工作调动.打算补一下大数据处理的知识.可能会陆续涉及hadoop.mongodb.ddbs等. 首先Apache提供二进制的Hadoop版本号是32位的.在启动时总是有警告,所以想自己编译一遍.部 ...
随机推荐
- drop、delete和truncate三者的区别
相同点:1.truncate和不带where子句的delete.以及drop都会删除表内的数据.2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交.不同点:1. trunc ...
- iis7下的php实现urlrewrite,并隐藏index.php
1 <rewrite> 2 <rules> 3 <rule name="OrgPage" stopProcessing="true" ...
- 关于MPMoviePlayerController 缓存播放的一些技术准备
如果是视频文件,比如Mp4,avi,rmvb等可根据下面的这边文章推荐的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),经过测试可以进行同 ...
- 云端iclound使用-陈棚
使用NSmetadataQuery查询文档,增加,删除,编辑 界面设计完成后效果如图: 程序清单:FKDiary.h @interface FKDiary : UIDocument @property ...
- squid 代理服务器应用
squid 代理服务器应用 1.Squid 代理服务器 : Squid 主要提供缓存加速.应用层过滤控制的功能. 代理的工作机制: 代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址. 将获得 ...
- springcloud+gateway微服务整合swagger
单一的微服务集成swagger: maven: <dependency> <groupId>io.springfox</groupId> <artifactI ...
- Node.js躬行记(15)——活动规则引擎
在日常的业务开发中,会包含许多的业务规则,一般就是用if-else硬编码的方式实现,这样就会增加逻辑的维护成本,若无注释,可能都无法理解规则意图. 因为一旦规则有所改变,那么就需要修改代码再发布代码, ...
- 警惕!Python 中少为人知的 10 个安全陷阱!
作者:Dennis Brinkrolf 译者:豌豆花下猫@Python猫 原题:10 Unknown Security Pitfalls for Python 英文:https://blog.sona ...
- linux大工程 - 我要一个属于自己的回收站
我要开始装13了 'rm -rf 是一个很"粗鲁"的命令,就像windows的shift+delete,删除的文件是无法找回的(当然,除了数据恢复软件,但是很麻烦,很费时)' '为 ...
- APK修改神器:插桩工具 DexInjector
本文介绍了一个针对Dex进行插桩的工具,讲解了一下直接修改Dalvik字节码和Dex文件时遇到的问题和解决方法 作者:字节跳动终端技术-- 李言 背景 线下场景中,我们经常需要在APK中插入一些检测代 ...