前言

  上一篇,安装了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

  

 
 

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/123495062

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

  1. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  2. InterSystems Ensemble学习笔记(一) Ensemble介绍及安装

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  3. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  4. [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装

    VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942   版权声明:本文为博主原创文 ...

  5. 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld

    2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...

  6. MeayunDB学习笔记(一) MeayunDB介绍及安装

    系列目录   MeayunDB介绍-高性能分布式内存数据库 MeayunDB学习笔记(一)MeayunDB介绍及安装 MeayunDB学习笔记(二)批量导入数据 MeayunDB学习笔记(三)索引应用 ...

  7. hive学习笔记_hive的介绍与安装

    一.什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据 ...

  8. python预科前三天:计算器知识、Python下载和安装、Pycharm下载安装激活设置、解释型和编译型、git、思维导图、显示隐藏文件、隐藏已知文件扩展名、创建组织、创建项目、提交作业、排BUG技巧

    1.计算机组成结构:CPU.硬盘.内存.输入输出设备.主板.电源. 2.硬件之间的协作关系:是CPU运算完后给操作系统.专业术语叫指令. 3.键盘输入a之后发生的事情:键盘-CPU-操作系统-显卡-显 ...

  9. Hadoop学习笔记(一)——编译安装和配置

    近期工作调动.打算补一下大数据处理的知识.可能会陆续涉及hadoop.mongodb.ddbs等. 首先Apache提供二进制的Hadoop版本号是32位的.在启动时总是有警告,所以想自己编译一遍.部 ...

随机推荐

  1. feiQ发送信息

    import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...

  2. Ext原码学习之lang-Object.js

    // JavaScript Document (function(){ var TemplateClass = function(){}, ExtObject = Ext.Object = { cha ...

  3. 啥叫IP地址及子网掩码?

    啥叫IP地址及子网掩码 ??? 1.IP地址的定义及分类 1.1IP地址的定义 1.2IP地址的分类 2.子网掩码 1.1  互联网上连接的网络设备和计算机都有唯一的地址,此作为该主机在Interne ...

  4. JS 获取JSON返回的时间值转换为通常格式展示

    var date = new Date(parseInt(数据源.slice(6)));   //获取到时间  年月日时分秒 var result = date.getFullYear() + '/' ...

  5. Docker磁盘空间分析与清理

    首先使用du命令逐层分析docker磁盘的使用情况: (base) [root@openvino docker]# du -h --max-depth=1 | sort 0 ./containerd ...

  6. iOS组件化之-给自己的组件添加资源文件

    在 podspec 中,利用 source_files 可以指定要编译的源代码文件.可是,当我们需要把图片.音频.NIB等资源打包进 Pod 时该怎么办呢? 1.如何把资源文件打包为.bundle文件 ...

  7. 依赖于angular的table组件

    组件实现了以下功能 1. 列宽可动态拖动 2. 列数据排序 3. 列过滤 4. 列位置自由调整 除了需要引入angular.js(我用的是1.4.6版本),还需要引用一个angular衍生出来的插件n ...

  8. Zookeeper 提供的API

    上篇介绍了Zookeeper命令行相关的知识,本小作文介绍从另一个维度操作Node相关的内容:Zookeer的API.同样借用Zookeeper应用之一的数据注册与订阅中的案例类比命令行操作,重点介绍 ...

  9. .NET 云原生架构师训练营(权限系统 系统演示 EntityAccess)--学习笔记

    目录 模块拆分 EntityAccess 模块拆分 EntityAccess 实体权限 属性权限 实体权限 创建 student https://localhost:7018/Student/dotn ...

  10. Python 面向对象编程之封装的艺术

    1. 面向对象编程 OOP ( Object  Oriented Programming) 即面向对象编程. 面向对象编程是一种编码思想,或是一种代码组织方式.如同编辑文章时,可以选择分段.分节的方式 ...