• 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
    

      在这里插入图片描述

     
     

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

  • 相关阅读:
    struts2学习笔记(二)
    struts2学习问题(一)
    struts2学习(一)
    给 ecplise 配置struts2配置环境
    Servlet的生命周期
    奇数位丢弃
    快速排序和归并排序(C语言)
    学习正则表达式及c#应用
    C#string与stringBuilder的区别
    c#之字符串函数
  • 原文地址:https://www.cnblogs.com/qq21497936/p/16022738.html
Copyright © 2020-2023  润新知