Geant4官网虚拟机的完全使用入门
想用虚拟机,想官方无bug,想省心省力。本文给出保姆式入门使用教程,包会,新手需要完整看完本篇教程。
本文涉及的Geant4虚拟机资源全部来自CERN官网的开源提供及推荐。
虚拟机(运行器):VMware Workstation 15 Player
虚拟系统:CentOS 8
预装Geant4版本:geant4.10.07
目 录
一、虚拟机与系统下载
二、虚拟机安装
三、Geant4使用
四、Geant4的自带例子在哪里
五、让自己的例子在虚拟机中运行
六、该虚拟机的基础概要和补充说明
七、学习展望
一、虚拟机与系统下载:
1. VMware虚拟机下载
见文末回复链接。
2. 预装Geant4的CentOS系统下载
见文末回复链接。下载完成以后解压。
二、虚拟机安装:
1. 双击”VMware-player-15.5.6-16341506.exe”,
进行安装,一切选择默认和推荐设置,包括C++依赖库需要电脑重启。
2. VMware player安装完以后,双击打开后选择右侧“打开虚拟机”->选择CentOS系统解压后的
"G4.10.7-Beta_CTOS8/G4-10.6_CentOS8.vmx",
然后双击运行该系统,见图1-2。
图1 虚拟机加载装有Geant4的系统
图2 等待系统加载
3. 系统界面内鼠标点击”Activities”,可以看见菜单栏,点击Terminal可进入命令行终端。点击右上角语言更改为English。
图3 系统界面
三、Geant4使用:
1. B1例子示范,在Terminal终端中,
>>mkdir geant4-work
>>cd geant4-work
>>mkdir buildB1
>>cd buildB1
>>cmake -DGeant4_DIR=$G4COMP $G4EXAMPLES/basic/B1
图4 在创建文件夹中编译B1
2. 运行B1,
>>make
>>./exampleB1
图5 B1例子运行
四、Geant4的自带例子在哪里:
1. 查看系统预装的软件
>>cd /usr/local
>>ls
可以发现预装软件都在这里面,包括了geant4.10.07.b01/(然而,geant4编译安装的位置在/usr/local/src/,即/src/中=。=)。
>>cd ~/geant4-work
>>cp -r /src/geant4.10.07.b01/examples/ .
即可将自带例子拷贝到geant4-work目录下。
2. 例子运行方法——例如B2a
>>cd ~/geant4-work/examples/basic/B2/B2a/
>>mkdir build
>>cd build
>>cmake ..
>>make
>>(./exampleB2a 或者 ) exampleB2a
图6 B2a例子运行
五、让自己的例子在虚拟机中运行:
1. 设置共享文件夹:
a) 在VMware界面中,Player->管理->虚拟机设置->选项->共享文件夹->总是启用,名称可以修改。
图7 VMware启用共享文件夹
默认的共享文件夹为本地电脑的D盘,可以自行添加一个专门的文件夹,但是需要对其设置共享属性,如图8所示。
图8 本地电脑(win10)对文件夹的共享权限设置
b) 在虚拟机CentOS中,Activities->Terminal输入
>>mount
更新挂载文件系统。点击Files->OtherLocations->Computer->mnt->hgfs,可以看见与本地电脑共享的文件夹。也可命令行终端中执行 cd /mnt/hgfs/ 进入到共享文件夹的命令行目录。
图9 系统的文件目录
2. 将自己的程序拷贝至共享文件夹中,在虚拟机终端中进入程序文件夹中,修改编译运行。
六、该虚拟机的基础概要和补充说明:
- 系统为CentOS 8操作系统,遵从该系统操作典范,默认登录用户名与密码均为local1,但local1不具备root权限。root密码为centos8。如果有命令操作需要root权限,可以: a) >>su ,输入密码centos8进入root用户,然后命令操作其他内容; b) >>sudo local1,返回普通用户。
- 系统环境变量的定义见文件/usr/local/Env/CTOS8,当前用户的环境变量定义见/home/local1/.cshrc和/home/local1/.ucshrc。其他特殊环境变量见文件/usr/local/Modules/modulefiles。比如Geant4的source源文件与build创建文件的所在目录地址存储在了环境变量名”G4SRC”当中——>>cd $G4SRC可直接进入Geant4目录下。
- 该系统预装的软件包括:Geant4 version 10.7.b01; Boost; CLHEP; Firefox;GDB; Geany; Grace; Gnuplot;ImageMagick; Jupyter; LibreOffice; Python 3.6 with Jupyter, Matplotlib, NumPy,SciPy and Sphinx; Qt; ROOT; Source-Navigator IDE;Tex Live;Thunderbird; Valgrind;XercesC
七、学习展望:
多看官网guide!未来将以新手入门普遍遇到的问题继续补充相关教程。
公众号后台回复“G4VM”,即可获得资源链接。
喜欢的话,分享一下吧~^o^~
- Flash/Flex学习笔记(57):实用技巧
- 使用 MEF 轻松实现云部署
- 检测常见ASP.NET配置安全漏洞
- Flash/Flex学习笔记(56):矩阵变换
- js小技巧:tab页切换
- c#字符串操作方法实例
- Android中Fragment+ViewPager的配合使用
- 结合机器学习与生物医学技术,寻找Uber司机出行模式
- ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
- LVS+Keepalived高可用环境部署梳理(主主和主从模式)
- 随着区块链的火爆,相关顶级域名“矿池”KC.com已建站
- Flash/Flex学习笔记(50):3D线条与填充
- LVM常规操作记录梳理(扩容/缩容/快照等)
- Flash/Flex学习笔记(55):背面剔除与 3D 灯光
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C语言 main 函数到底怎么写是对的?
- theia 安装 + 登录认证
- 必须掌握的HDFS相关问题
- 如何在K8S上备份和恢复MySQL
- 学习 | Spring Cloud Config 从入门到精通
- 模仿百度新闻的一部分
- 腾讯云录音文件识别-iOS SDK
- ESP8266如何设置wifi。
- ESP8266搭建web服务器
- 关于持续交付中Git分支管理的思考
- 轻松应对并发问题,Newbe.Claptrap 框架中 State 和 Event 应该如何理解?
- 如何暂停一个正在运行的线程?
- WebMonitor采集端优化之路
- 美颜算法之自动祛斑算法实现 | 案例分享
- 附025.kubeadm部署Kubernetes更新证书