Geant4安装记录,15.5.0VMware + 11.0.0G4 + 18..04.1 ubuntu

news2024/10/7 15:23:11

仅仅是记录学习使用,有问题请联系

Geant4安装前准备

(1)安装虚拟机, VMware 15.5

(2)在虚拟机上安装ubuntu

以上两个步骤在网上有很多教程,安装很简单,大家自行安装即可
这里记录遇到的问题
(a)安装完之后,确保能上网,不然后续安装没法继续,能不能上网,看自己的linux系统的浏览器就可以。如果不能上网,点击虚拟机的左上角的虚拟机选项——>设置->
在这里插入图片描述
(b)对于虚拟机小白来说,cd mv命令移动文件夹是真的很麻烦,可以在自己的windows和虚拟机之间建立一个共享文件夹,在window里面随便一个盘里面建一个文件夹,然后在点击虚拟机的左上角的虚拟机选项——>设置->选项->共享文件夹->添加,将window里面的路径添加到这里面就可以实现windows文件共享了
在这里插入图片描述
如何在虚拟机里面找到windows共享文件夹的位置,我也不是很熟,但是我发现是默认在linux系统里面的, 其他位置->计算机->mnt/hgfs/里面,然后复制粘贴就可以实现文件的移动了

(3)新Ubuntu为最新

sudo apt update
sudo apt upgrade

(4)安装编译套件、vim、axel(工具)

sudo apt install build-essential vim axel

(5)安装Cmake

下面语句安装的不是最新版本,可以先这样安装,如果后面报错提示版本不够,再指定安装所提示的版本即可

sudo apt-get install cmake

如果显示camke版本太低,则去
cmake官网

https://cmake.org/files/v3.21/

选择对应的版本,我选择的是21
在这里插入图片描述

在这里插入图片描述

camke安装:
解压到home根目录下之后,建立自己的文件夹work,将解压的文件放在work里面,然后cd进入这个解压文件,
开始安装
下载安装包的方法我没装成功,就直接指定安装路径让他自己下载了。注意修改下面的编号,修改成自己要的版本就行

wget https://cmake.org/files/v3.21/cmake-3.21.0-linux-x86_64.sh

执行安装版本
yes|sh cmake-3.21.0-linux-x86_64.sh|cat

执行
vim /etc/profile
会出现一个空的界面,直接将下面两行语句,修改自己的版本号之后,直接粘贴到这个界面里面,然后直接关掉当前界面
export CMAKE_HOME=/opt/cmake/cmake-3.21.0-Linux-x86_64/bin【注意这里要写你自己的cmake的bin地址】
export PATH=$CMAKE_HOME:$PATH
再次进入到.sh文件所在的上级目录,我这里是work,
执行 source /etc/profile

然后检查安装是否成功即可
cmake -version

在这里插入图片描述

(6)下载并安装CLHEP库

在CLHEP官网上下载clhep-2.4.5.1.tgz压缩包
网址,如果搜索不到去外网搜索

https://proj-clhep.web.cern.ch/proj-clhep/clhep23.html

6.1在CLHEP官网上下载clhep-2.4.5.1.tgz压缩包,直接在linux系统里面解压后将放到自己的工作目录文件夹下:如在home文件下建立自己的文件夹work,对应的文件夹的路径就是 :/home/用户名/work

参考博客https://blog.csdn.net/m0_60257362/article/details/124208776

6.2在/home/用户名/work/路径下创建文件夹:clhep-2.4.5.1-build

6.3 cd进入clhep-2.4.5.1-build文件夹下,然后执行

cmake /home/wangdan/work/CLHEP/2.4.5.1/CLHEP

(7)安装QT

sudo apt install qtcreator qtcreator-data qtcreator-doc

(8)安装其它插件

sudo apt install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libfontconfig1 libxt-dev libxmu-dev libxi-dev zlib1g-dev libgl2ps-dev libexpat1-dev libtbb-dev libxerces-c-dev qt5-default libmotif-dev libtbb-dev libtinfo5

(9)安装Xerces(要求cmake在3.10以上版本)

http://xerces.apache.org/xerces-c/download.cgi

xerces-c-3.2.4.tar.gz
 
tar -xvf ./xerces-c-3.2.4.tar.gz
 
cd xerces-c-3.2.4
 
mkdir build
 
cd build
 
cmake ../
 
make
 
make test  //这句不过好像没事
 
sudo make install

继续安装

sudo apt-get install -y dpkg
 
sudo apt-get install -y libgl1-mesa-dev
 
sudo apt-get install -y libglu1-mesa-dev
 
sudo apt-get install -y libx11-dev libxmu-dev
 
sudo apt-get install libmotif-dev
 
sudo apt-get install freeglut3 freeglut3-dev binutils-gold
 
sudo apt-get install -y libcanberra-gtk-module

Geant安装

1在虚拟机的根,目录下新建一个文件夹为work

(2)将解压的文件都放在这个文件下
(3)新建一个文件夹 geant4.11.0,然后在这个文件下建立build文件,intsall文件,data文件(后续解压完成的12个文件都放在这里面),src文件(genat4的源文件解压放在这里面),

2. 去官网下载所需要版本的geant 的安装包,在源文件也就是source code那里下载,不是二进制文件。以及对应的数据文件包,全部都要下载,数据文件一共12个

https://geant4.web.cern.ch/download/11.1.1.html
12个文件解压了放在新建的data文件里面,然后移动到
cd /home/用户名/work/geant4.11.0/Install/share/Geant4-v11.0.0文件下。

注意!!!!!!!!
解压的的12个文件,文件名的下一层应该就是各自的子文件,而不是再嵌套一层同名文件,否则编译安装显示段错误。解压后的文件打开应该是这样的:
在这里插入图片描述
以下段错误就由于,12个文件解压到各自的同名文件下,多了一层嵌套同名文件名导致的
在这里插入图片描述

3 安装GCC

在根目录(cd就可以进入根目录)输入如下语句

sudo apt install gcc

如果安装报错
在这里插入图片描述
输入

sudo rm /var/lib/dpkg/lock

确认是否安装成功
在这里插入图片描述

4 进入build路径

cmake -DCMAKE_INSTALL_PREFIX=/home/自己的linux用户名/work/geant4.11.0/install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_XM=ON -DGEANT4_USE_SYSTEM_CLHEP=ON -DGEANT4_USE_QT=ON -DCLHEP_ROOT_DIR=/home/自己的用户名/work/CLHEP-2.4.5.1-install -DCLHEP_INCLUDE_DIR=/home/自己的linux用户名/work/CLHEP-2.4.5.1-install/include -DCLHEP_LIBRARY=/home/自己的linux用户名/work/CLHEP-2.4.5.1-install/lib /home/用户名/work/geant4.11.0/src/geant4-v11.0.0

执行结束

5 安装

然后执行

cd ~/geant4/build

cmake -DCMAKE_INSTALL_PREFIX=/home/用户名/work/geant4.11.0/install -DGEANT4_BUILD_MULTITHREADED=ON  -DGEANT4_USE_QT=ON  -DGEANT4_FORCE_QT5=ON /home/用户名/work/geant4.11.0/src/
 
make –j16
make install
mv  /home/用户名/work/geant4.11.0/data  /home/用户名/work/geant4.11.0/install/share/Geant4-11.0.0/
 
echo "source /home/用户名/work/geant4.11.0/install/bin/geant4.sh" >> ~/.bashrc
 
make –j16
 
make install

此时geant4就安装完备了。

6 B1案例测试

cd /home/自己的用户名/work/geant4.11.0/src/geant4-v11.0.0/examples/basic/B1
work是我自己在home下建的文件夹


mkdir duild
cd build
cmake ..
make
./exmaplesB1

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端验证】通关寄存器与ral_model —— 25种常用寄存器类型全览

寄存器的属性分类 本文档对于寄存器的属性以synopsys相关文档以及ral_model生成模型时的识别方式为基准。通常讲可以归纳为以下三个方面:读写属性read-write access、写后值modified write value、读后操作read action。注意,这里指的都是软件的操作&am…

chatgpt赋能python:Python怎么升序排序

Python怎么升序排序 排序是我们经常会用到的一种操作,而在Python中,对于列表或数组等序列类型的数据,我们可以使用内置的sorted()函数来进行排序操作。而在排序时,升序排序是我们最常用的一种。 Python中的sorted()函数 sorted…

关于uni-app与vue路由配置的不同,不使用uni.navigateTo接口跳转时,使用this.$router.push的踩坑经验

目录 懵逼的一个小时 uni-app与vue路由配置的不同 非官方接口的另类写法 错误编写: 正确编写(只需写父组件即可,其他是多余): 懵逼的一个小时 之前用vue写router路由的时候,先配置一个路由表&am…

chatgpt赋能python:Python怎么删除列表中的最大值和最小值

Python怎么删除列表中的最大值和最小值 在Python中,一个列表(List)是一种非常常见的数据结构,它允许我们以有序的方式存储和访问数据。但是,有时候我们需要从列表中删除最大或最小的值,以满足我们的特定需…

哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现

哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码(开散列和闭散列) 封装unordered_set/和unordered_map,以及实现迭代器节点定义unordered_set定义unordered_map定义…

Python3 flask-socketio 整合vue

1. 前端说明 前端追加了vue-socket.io的依赖 更新package.json及package-lock.json后,需要补充库 2. 后端说明 服务端需要安装的python包 suse python 3.6.12 Flask_SocketIO-4.3.1-py2.py3-none-any.whl python_socketio-4.6.0-py2.py3-none-any.whl python_…

在PPT里如何做出晶莹剔透的高级水泡感出来呢

开篇 很多PPT特别是一些TED演讲类PPT,它的首页开篇给人以强烈的冲击感。比如说上面这张PPT,笔者就卖出过一页800元的效果。它的高级高级在以下两个地方: 水晶感;透明感这是时下非常流行的一种TED场景式演讲专用的PPT,适用于一些大厂的CTO、CEO都大量使用这种效果。 今天…

shell脚本编写辅助命令

目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 (1)从0开始的范围 (2)从指定数始…

35、git的使用

一、git简介 git是一款免费、开源的版本控制系统,用于高效地处理任何或大或小的项目。 作用: 文件存档备份 文件版本管理 多人协同合作(自动合并) 二、git的三个区域 工作区:处理工作的区域 暂存区:临时存放…

Shell脚本实现数组冒泡排序等简单算法排序

目录 一、冒泡排序 1.简介 2.基本思想 3.算法思路 4.shell脚本实现 二、选择排序 1.简介 2.基本思想 3.shell脚本实现 三、插入排序 1.算法思路 2.shell脚本实现 四、反转排序 1.作用 2.shell脚本实现 一、冒泡排序 1.简介 类似气泡上涌的动作,会将…

Java入门之学习随记(三)

一. 栈内存和堆内存 堆内存:存放"引用数据类型的数据"和"new出来的对象",注意-创建出来的对象只包含各自的成员变量,不包括成员方法. 栈内存:存放"基本数据类型的数据","引用数据类型的变量名"以及"对象的引用",但是引用数…

k8s之ReplicaSet回收pod的优先级

ReplicaSet syncReplicaSet的逻辑,首先找到rs下相关的pod // 从informer中获取当前ns下所有的podallPods, err : rsc.podLister.Pods(rs.Namespace).List(labels.Everything())if err ! nil {return err}// 忽略不健康的podfilteredPods : controller.FilterActiveP…

CentOS桥接模式下设置静态IP并解决java.net.ConnectException: Connection timed out: connect

一、前言 最近在配置服务器,DHCP模式下IP地址不固定,每次SSH远程登录连接不上,都要查看新动态分配的IP地址重新配置,感觉些许麻烦,于是给机器配置了静态固定IP。 动态主机配置协议DHCP(Dynamic Host Confi…

Shell脚本练习题(附详细解题过程)

目录 一、利用for循环打印99乘法表 二、十进制转二进制 三、将十进制ip地址转换为二进制格式 四、检测某个网段中存活的主机并输出其ip地址 五、检查文件中用户名是否存在并提示创建用户和设置密码 六、检查httpd服务并开启 七、根据百米赛跑成绩判断结果 八、随机数…

栈和队列(数据结构刷题)[一]-python

文章目录 前言一、原理介绍二、用栈实现队列1.操作2.思路 三、关于面试考察栈里面的元素在内存中是连续分布的么? 前言 提到栈和队列,大家可能对它们的了解只停留在表面,再深入一点,好像知道又好像不知道的感觉。本文我将从底层实…

Django----------模板、静态文件、案例(城市天气预报)、请求和响应

目录 1.templates模板 2.静态文件 1.static目录 2.引用静态文件 1.方式一:直接引用 2.方式二:头部及内部引用 3. 模板语法 1.取内容 2.取下标 3.for循环 4.利用字典 5.列表里套字典 6.if条件语句 7.总结 4.案例(城市天气预…

CH573-01-GPIO-LED——RISC-V内核BLE MCU快速开发教程

1. 新建工程 1) NEW Project 点击“File->New->MounRiver Project”: 2) finish 选择CH573F的裸机开发工程模板,如下图,然后点击“finish” 3) 编译检查 4) 精简代码 打开工程目录下的./src/main.c文件,修改删掉生成的串口测…

动态规划III (买股票-121、122、123、188)

CP121 买股票的最佳时机 题目描述: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利…

Vue 中的几种动画效果

Vue 中的动画效果 在 Vue 中,动画效果是非常常见的交互方式。它可以为用户提供更加生动的交互体验,增强用户的参与感和满意度。在本文中,我们将探讨 Vue 中的动画效果的基本原理和用法,并给出一些实例代码来帮助读者更好地理解。…

『手撕 Mybatis 源码』06 - Mapper 代理方式初始化

Mapper 代理方式初始化 首先修改一下 SqlSession 获取代理对象方式&#xff0c;即通过 getMapper() 来拿到动态代理对象 public class MybatisTest {/*** 问题1&#xff1a;<package name"com.itheima.mapper"/> 是如何进行解析的&#xff1f;* 解答&#xf…