Geant4 使用指南
1.概述
1.1 软件信息
简介:Geant4(GEometry ANd Tracking,几何和跟踪)是由欧洲核子研究组织(CERN)基于C++面向对象技术开发的蒙特卡罗应用软件包,专用于模拟粒子在物质中输运的物理过程。与MCNP和EGS等商业软件相比,Geant4的主要优点在于其源代码完全开放,用户可以根据实际需求对Geant4程序进行更改和扩展。
可用版本:
| 版本 | 平台 | 处理器 | 模块名 | 使用方式 | 备注 | 
|---|---|---|---|---|---|
| 11.2.1 | 隐秀 | intel | intel/geant4/11.2.1/gcc13.2.0-rhirhos | 图形界面、命令 | 使用 gcc13.2.0 编译 | 
如需使用其它版本,请联系工作人员 ~
1.2 使用步骤
- 数据传输:将计算所需的文件上传到 data目录。
- 软件加载:打开软件中心,找到所需软件并点击 立即使用按钮。
- 任务提交:在弹出的软件参数设置页面,进行参数设置,然后点击 提交按钮提交计算任务。
- 任务查看:计算任务提交之后,会自动跳转到 任务中心,能够对计算任务状态、基本信息进行查看,还能停止计算任务。
2.数据传输
1). 打开文件夹:登录超算系统后,点击桌面上的“文件夹”。
    2). 选择集群:选择超算集群,然后打开
2). 选择集群:选择超算集群,然后打开 data 文件夹,所有文件均须上传到 data 文件夹下。
    3). 下载客户端:将鼠标悬浮于
3). 下载客户端:将鼠标悬浮于 文件传输 按钮之上,随后点击 下载 按钮,把文件传输客户端下载至本地,并予以安装。在客户端安装完毕后,点击 文件传输,会自动打开本地安装好的客户端。
   
需注意的是,文件传输客户端仅在第一次使用时需要安装,后续使用不必再次安装。 客户端安装指南:cloudtools 客户端下载与安装
4). 文件传输:文件传输客户端打开之后,其左侧呈现的是本地电脑文件夹,而右侧则为超算平台文件夹。鼠标选中文件,然后左右拖曳,即可实现文件的上传与下载。
   
3.软件加载
打开桌面上的 软件中心,找到软件 geant4 ,点击 立即使用。

如果没找到需要的软件,请联系超算工作人员 ~
4.任务提交
4.1 方式一:图形页面提交
点击 立即使用,随后会弹出软件参数设置界面,按如下流程进行参数设置:
- 选择计算队列。计算队列是由一系列计算节点组成的集合。 其中,带有 expr 后缀的队列属于测试队列,其最多只能使用 2 个节点,且任务最长运行时间仅限 1 小时。没有 expr 后缀的队列为付费用户使用队列,运行时间无限制,节点数限制为 30 个(可根据实际需要进一步提高)。
- 选择工作文件夹。此为待计算算例所在的文件夹。
- 自定义一个任务名,以便对不同任务加以区分。
- 设置计算需要的核数。
- 选择软件版本。
- 输入程序具体的运行命令。
- 点击 提交按钮,提交计算任务。 
首次使用过后,桌面上会产生软件的快捷模式,后续直接点击这个快捷方式即可打开软件参数设施界面。
4.2 方式二:命令行提交
如何使用命令行登录超算,请参考:命令行登陆超算
1). 将算例上传到 data 文件夹下,并进入算例文件夹
2). 新建脚本 run.sh,输入以下内容:
#! /bin/bash
#SBATCH -p intel_expr
#SBATCH -J geant4
#SBATCH -n 1
#SBATCH -o job.out
module load intel/geant4/11.2.1/gcc13.2.0-rhirhos
geant4-config -h
- #!/bin/bash,固定内容,不用修改
- #SBATCH -p intel_expr,向调度系统申请- intel_expr队列的计算资源。调整队列名,即更换队列
运行计算任务。
- #SBATCH -J geant4,自定义一个 geant4 的任务名称,从而对不同任务进行区分
- #SBATCH -n 1,申请 1 个核
- #SBATCH -o job.out,程序的运行输出保存在- job.out文件,该文件文件名可以随意修改
- module load intel/geant4/11.2.1/gcc13.2.0-rhirhos,加载软件环境。命令格式为:- module load 模块名,其中模块名参考“可用版本”中的模块名,调整成自己需要的版本
- geant4-config -h,此部分为 geant4 具体的程序运行命令
3). 执行 sbatch  run.sh 提交计算任务
5.任务查看
5.1 图形页面查看
通过图形界面提交计算任务后会自动跳转到 任务中心,在任务中心页面能够对计算任务状态、基本信息进行查看,还能停止计算任务。任务中心 页面,也可以通过双击桌面上 任务中心 图标打开。
 
任务中心 有两个 tab 页面:
- “进行中”:正在运行的任务,或者一分钟内结束任务
- “已完成”:已经结束的任务,一分钟同步一次
   计算任务最右侧操作栏的按钮功能可区分为: 计算任务最右侧操作栏的按钮功能可区分为:
- 第一个按钮:打开计算任务所在的目录
- 第二个按钮:打开程序输出日志
- 第三个按钮:打开任务详细信息
- 第四个按钮:停止计算任务
   
5.2 命令行查看
1). 查看计算任务
执行 squeue 查看计算任务状态
[user@login01 tmp]$ squeue 
            JOBID PARTITION     NAME      USER ST     TIME   NODES NODELIST(REASON)
            3656   intel       geant4  user  R     0:23   1     qhcn001
- JOBID,任务编号
- ST,任务状态,作业状态包括- R(正在运行),- PD(正在排队),- CG(即将完成),- CD(已完成)
- TIME,运行时间
- NODES,占用节点(也称服务器,下同)个数
- NODELIST,占用服务器的编号
2). 查看日志
计算任务运行起来后,执行 tail -f job.out 可 以查看程序的实时输出,执行 Ctrl+C 退出查看
[user@login01 tmp]$ tail -f job.out 
Usage: geant4-config [OPTION...]
--prefix                output installation prefix of Geant4
--version               output version for Geant4
--cxxstd                C++ Standard compiled against
--tls-model             Thread Local Storage model used
--libs                  output all linker flags
--cflags                output all preprocessor
                        and compiler flags
--libs-without-gui      output linker flags without
                        GUI components
--cflags-without-gui    output preprocessor and compiler
                        flags without GUI components
--has-feature FEATURE   output yes if FEATURE is supported,
                        or no if not supported
3). 停止计算任务
执行 scancel 任务号 停止任务。任务号通过 squeue 查询。