前言

  上一篇,安装了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. 一张图让你看懂 iPhone 各种分辨率问题! #DF

    话不多说,直接看图! Source: paintcodeapp.com

  2. 打印流(printStream)

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Pri ...

  3. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  4. rust 实战 - 实现一个线程工作池 ThreadPool

    如何实现一个线程池 线程池:一种线程使用模式.线程过多会带来调度开销,进而影响缓存局部性和整体性能.而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务.这避免了在处理短时间任务时创建与销毁线 ...

  5. IDEA的使用和快捷键

    一.字体设置: 菜单:file->setting->Appearan 编辑区字体大小:file->setting->Font 字体加粗:file->setting-> ...

  6. HTTP状态码100、200、300、400、500、600的含义

    1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请 ...

  7. Solution -「ZJOI 2013」「洛谷 P3337」防守战线

    \(\mathcal{Description}\)   Link.   有 \(n\) 个位置,从左至右编号 \(1\sim n\).在第 \(i\) 个位置放一座塔的代价为 \(c_i\),一个位置 ...

  8. Spring Boot自动配置SpringMVC(二)

    Spring Boot自动配置SpringMVC(一) - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)讲述了关于DispatcherServlet注册到诸如tomcat容器中的自动配置过 ...

  9. k8s核心资源之:标签(label)

    简介 label是标签的意思,一对 key/value ,被关联到对象上,k8s中的资源对象大都可以打上标签,如Node.Pod.Service 等 一个资源可以绑定任意多个label,k8s 通过  ...

  10. 用eclipse写jsp报以下错误

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ tag ...