Geant4 | 三种运行模式对比(一)

本文介绍了Geant4的三种运行模式:纯硬编码批处理模式、macro批处理模式和命令行交互模式。批处理模式包括纯硬编码和通过macro文件配置,交互模式则允许在运行时通过命令行控制。宏观文件可以定义粒子属性和模拟设置,便于灵活调整。在实际应用中,通常采用混合模式以适应不同需求。
摘要由CSDN通过智能技术生成

theme: orange

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情

🤞 个人主页:@青Cheng序员石头

Geant4模拟有三种运行模式,这篇文章讲讲三种模式的区别和试用的场景。

运行模式总览

Geant4 有三种运行模式,包括:

  • 纯硬编码批处理模式(pure hard-coded batch mode)
  • macro批处理模式 (Batch mode,Macro commands)
  • 命令行交互模式(Interactive mode,commands lines)

第一种纯硬编码批处理模式,就是将任何流程通过C++代码写死在程序李,如果你想改变任何流程,那必须要重新编译你的代码。

第二种macro文件批处理模式也及称之为batch Session,通过在一个ASCII编码格式的Macro文件编写流程,理解为配置文件,不受编译的影响。

第三种是交互模式,也就是在程序运行时,在会话框内输入命令控制Geant4内核的行为,这种模式方便运行调试。

总的来说,以上三种运行模式都需要在Main文件中编写响应的代码,在实际工程实践中,为了适应多种运行模式,一般都采用混合模式,即按照条件分支逻辑兼顾上面所有的模式。

macro文件批处理模式

将粒子的类型,能量,发射角度,发射的个数,控制的级别等信息写在一个.mac文件中,比如下面的mymacro.mac文件。

``` /control/verbose 3 /tracking/verbose 2

/gun/particle opticalphoton /gun/energy 14.2 eV

/gun/direction 12 -8 20 /N06/gun/optPhotonPolar /run/beamOn 1 ```

然后在运行时指定这个文件参数即可使用,像下面这样

./myExecutable mymacro.mac

show me the code

C++ G4UImanager* UI = G4UImanager::GetUIpointer(); G4String command = “/control/execute”; G4String fileName = argv[1]; UI->ApplyCommand(command+fileName);

初学的小伙伴,要问了argv[1]是什么?很简单,对于C语言,数据的下标序号是0,那么argv[1]就是取第二个参数,对于./myExecutable mymacro.mac执行命令,第一个参数是./myExecutable,第二个参数才是mymacro.mac

注意: 如果你要在会话交互模式下运行mac文件,可以输入命令/control/execute mymacro.mac


少年,没看够?点击石头的详情介绍,随便点点看看,说不定有惊喜呢?欢迎支持点赞/关注/评论,有你们的支持是我更文最大的动力,多谢啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值