前言

  上一篇,安装了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. element select失效问题 , vue刷新的两种方式

    changeSelect: function () { this.$forceUpdate(); }, 编辑一条记录,给select 赋值后就不动了, 原因是复制后组件需要刷新一下, 不然不能触发事件 ...

  2. 编写PHP扩展

    转载请注明来源:https://www.cnblogs.com/hookjc/ PHP 5.2 环境的扩展(PHP Extension) 需求:比如开发一个叫做 heiyeluren  的扩展,扩展里 ...

  3. 如何定制docker容器的系统时间

    Dockerfile加入下面一句(标红的部分): FROM xxxxxxENV JAVA_OPTS="-Dfile.encoding=UTF-8"ENV TZ=Asia/Shang ...

  4. JAVA初学--Servlet详解

    一.什么是servlet? 处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西.理解这个的前提是了解一些http协议的东西,并且知道 ...

  5. 集合、Collection、list、set、HashSet

    一.集合的理解:将多个数据放在一起 简介: 1).可以动态保存任意多个对象,使用比较方便!2).提供了一系列方便的操作对象的方法: add.remove.set. get等 1.集合中的实现和继承图 ...

  6. Spring中声明式事务的几个属性的解释

    声明式事务 @Transactional (通常用在service层)事务属性:传播行为,隔离级别,回滚,只读,过期 1,spring支持事务传播行为:propagation(常用以下两个)    ① ...

  7. weblogic12c安装笔记

    weblogic12c安装笔记 1.创建wls用户 useradd wls 2.切换到wls用户 su - wls 3.在/home/wls/创建files.jdk1.8.patch.bao目录 mk ...

  8. 如何在TypeScript/JavaScript项目里引入MD5校验和

    摘要:MD5校验和则是其中一种数学算法,通常是使用工具对文件计算得出的一组32 个字符的十六进制字母和数字. 本文分享自华为云社区<TypeScript/JavaScript项目里如何做MD5校 ...

  9. 『德不孤』Pytest框架 — 8、Pytest断言

    目录 1.什么是断言 2.Pytest断言 3.Pytest的断言方式及应用场景 (1)使用assert语句 (2)断言预期的异常 (3)拓展 4.优化断言 5.使用标记检查异常 1.什么是断言 对于 ...

  10. kali linux更新msf 报错Unable to find a spec satisfying metasploit-framework (>= 0) in the set. Perhaps the解决办法

    首先换更新源 :vim  /etc/apt/sources.list deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free co ...