当前位置: 首页 > news >正文

Day01 Geant4学习

Day01 geant4学习

一、运行一个简单的geant4实例B1

​ 用于模拟粒子与物理之间反应的东西,是一堆代码,若需自己实验,需要自己写程序,但自己写的代码会应用到geant4的原代码;最好了解的就是看实例,并了解,自己写程序的办法就是根据已有的实例去进行修改。

geant4 example:http://geant4-userdoc.web.cern.ch/geant4-userdoc/Doxygen/examples_doc/html/README_basic.html

二、如何运行一个geant4 simulation:

在.cc文件中可选择运行方式

批量模式:所有的都放在代码中,进入可执行文件,自动运行,不需要一行一行输入命令代码

交互模式:已写好代码,有一个图形界面,可以看到建立的几何模型,可以一条一条代码进行设置进行模型;比如发射一个粒子,发射两个粒子,更改几何模型,但不能太大规模

三、运行B1实例:(通用方法)
  1. (可选)把B1实例拷贝到自己的工作位置:cp -r/usr/local/geant4.10.07.b01/share/Geant4-10.7.0/examples/basic/B1/mnt/hgfs/shared

  2. 进入B1,新建一个文件夹,命名为build,该文件夹的名字任意:cd B1;mkdir build

  3. 进入build文件夹,在终端打开,利用cmake来构建项目:cd build; cmake …

  4. 生成了makefile文件之后,再make从而生成可执行文件:make

  5. 运行可执行文件: ./exampleB1;此时会弹出图形界面

运行可执行文件之后实例便跑起来了,会出现用户交互图形界面,可以再session输入自己的命令,比如输入发射多少粒子,也可以打开readme文件,里面有说明什么做法用命令要用什么样的代码,旁边的左边是常用的命令,可以参考使用

在主函数里面设置程序的运行方式batch mode或者interactive mode

批量模式: ./exampleB1 run1.mac(此处run1是文件名);此时不会弹出图形界面,

将相关代码写在.mac文件中,让运行可执行文件时后面+文件名.mac,比如:

/gun/particle gamma 发射γ粒子

/gun/energy 6 MeV 发射6MeV

/run/beamOn 5 发射5个粒子

proton 质子

生成中:run 0 starts表示开始跑第一个模型,end of local run表示结束

弹出图形界面由主程序中代码决定:主程序入口是在B1文件夹中的.cc文件。main函数的ui有关,函数跳跃

​ 最终在新建的build文件夹中的vis.mac文件中设置,是自带的,如果有更高的需求可以自己去更改,但是一般都是写好的,设置好了图形界面的一些东西,呈现的自己建模的图形界面多大,需不需要网格什么的

四、浅谈geant4

geant4实质是一堆代码,用户在利用geant4来进行模型的时候,是通过编写一个程序,编写的程序是按照一定的规则来利用geant4代码(实际上是继承论geant4里面定义好的类)

五、geant4的规则(概念)
  1. Run

​ 假设一次模拟要发射1000个光子,那么从第一个光子开始反应一直到这1000个光子反应结束,其中包括产生的次级粒子也结束相应的反应,称之为1次run。即完完整整地跑一次你写的程序

  1. event

​ 假设要模拟1000个光子打靶,那么对这个run来说就有1000个event。event指每一个入射粒子从反应到结束的过程,其中也包括它产生的刺激粒子的反应到结束的过程,成为一个事件event

  1. step

​ 步骤,进行模拟的最小单元。与物质反应的最小的一步,每走一步都是一个step;发射开始,到接触物质,反应,结束。每一个step都有两个点,start of step point以及end of step point。

PreStepPoint以及PostStepPoint

  1. track

    ​ 用来记录粒子在每个step中的信息的,例如位置,能量,动量.例如,假设每一个粒子都有一个属于自己的id,会记录自己的轨迹状态信息就是track,当他发生反应时,就会产生新的id。用于返回我们想要的物理信息(数据)

六、假设自己来写一个程序进行模拟实现,有哪些必要的部分:
  1. 构建几何模型,建立4 * 4 * 4立方厘米的金属铝板
  2. 设置粒子源,类型、能量、位置…
  3. 确定要统计的物理量,能量沉积、能谱…并对此进行统计结果的输出
  4. 物理过程:光电效应等过程产生的动量、能量、方向等物理过程geant4已经写好了,不需要我们去考虑,我们只需要设置几何模型、粒子源等参数注册即可

每个代码的作用(每个代码写在哪里):

inclued头文件;src源文件;主函数.cc文件

构建几何模型:修改几何模型,包括尺寸、大小、位置以及材料在B1DetectorConstruction中进行编写修改。(后置名字就是DetactorConstruction(专业约定),前面B1自己取用于区分)

设置粒子源:设置粒子源、类型、能量、位置等在B1PrimaryGeneratorAction中进行编写修改,还可以到.mac文件中进行修改

确定要统计的物理量:能量沉积、能谱在B1EventAction、B1RunAction、B1SteppingAction

物理过程:可以自己写;初始化类:exampleB1.cc、B1ActionInitialization(实例的初始化)


文章转载自:

http://wE9cq3A6.ghLyy.cn
http://CkomHd4C.ghLyy.cn
http://Hh7VTT1W.ghLyy.cn
http://iRMQbJZT.ghLyy.cn
http://TtPh3vkt.ghLyy.cn
http://ddkrRcQ8.ghLyy.cn
http://xsAf3Nox.ghLyy.cn
http://KJ9YQQI1.ghLyy.cn
http://xWjmjRqQ.ghLyy.cn
http://plMZZF6g.ghLyy.cn
http://SMVOcWB2.ghLyy.cn
http://3Rk8Bu5s.ghLyy.cn
http://jhfsvJnS.ghLyy.cn
http://NqtgxPbh.ghLyy.cn
http://QJ3ryNkt.ghLyy.cn
http://vvLiU5mU.ghLyy.cn
http://rgaWjjcA.ghLyy.cn
http://a1ojZEFV.ghLyy.cn
http://UZASyzXL.ghLyy.cn
http://OZrdiXjn.ghLyy.cn
http://kbLctaNl.ghLyy.cn
http://GOlWv516.ghLyy.cn
http://6zuk5Any.ghLyy.cn
http://wa3uA21o.ghLyy.cn
http://RjRwAreG.ghLyy.cn
http://UL6idcrE.ghLyy.cn
http://d2xiDPpE.ghLyy.cn
http://ZHCWhDnz.ghLyy.cn
http://geLE9RbE.ghLyy.cn
http://WOQRN3Ia.ghLyy.cn
http://www.dtcms.com/a/380913.html

相关文章:

  • 11. 网络同步模型 - 状态同步A
  • Mem0 + Milvus:为人工智能构建持久化长时记忆
  • 力学矢量三角形“无脑”求解指南:基于极角代数的系统化方法
  • 算法第四题移动零(双指针或简便设计),链路聚合(两个交换机配置)以及常用命令
  • 背包问题从入门到入土
  • 远程连接--向日葵
  • 植物灯电源芯片选型指南:如何实现高效与智能?
  • Python读取视频-硬解和软解
  • FFmpeg vs 去水印软件:哪种方式更适合你?
  • Java垃圾回收机制理论算法及使用
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(六):keep-alive 与缓存机制
  • IDA pro 生成idapro.hexlic
  • 【CE】CE教程Tutorial:进阶篇(第8关:多级指针)(Pointer Scan工具)
  • Java 更改 Word 文档中文本颜色
  • Cesium 无人机航线规划(环点航线)
  • 一般软件加载显示图片的流程
  • 第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(3、寻找花坛)
  • Spring Boot中Filter与Interceptor的区别
  • 生产常见问题
  • Linux copy_from_user
  • 数据库:mysqld服务器启动参数大全
  • STM32之RTC
  • 正式工作一年半了 小记一下
  • HDFS与Yarn深入剖析
  • 空间信息与数字技术和传统GIS专业有何不同?
  • 企业内训|智能驾驶案例及实践——某央企汽车集团
  • 告别繁琐配置!Retrofit-Spring-Boot-Starter让HTTP调用更优雅
  • 星座SAR动目标检测(GMTI)
  • Python异常处理自定义:从基础到高级的完整指南
  • R语言水文、水环境模型优化:从最速上升法、岭分析到贝叶斯优化与异方差处理,涵盖采样设计、代理模型与快速率定等