ChinaNet

标题: Geant4程序控制流程及各个模块详解 [打印本页]

作者: 鸿飞冥冥    时间: 2015-4-8 10:04
标题: Geant4程序控制流程及各个模块详解
Geant4程序控制流程
首先必须编写一个主控程序,在这个主程序中,还必须完成几个关键的子程序模块的编写,他们是系统几何模型的建立,材料的定义,源描述,指定物理过程,结果输出和可视化

Geant4模块
几何系统构建:在建立系统的几何模型时,需要对几何形状,物质材料,电子学属性,空间位置还有一些可视化属性进行描述。

ü        世界体:Geant4中,一个几何系统由多个几何体构成。最大的几何体被称为世界体. 它必须包含几何系统中的所有其他的几何体。通常我们可以用最简单的正方体来定义世界体. (定义世界体的目的是当粒子穿过世界体时,被舍弃)

ü        Logical:为了描述Volume的形状,Geant4引入了Solid的概念。Solid是指具有固定形状和确定尺寸的几何对象。如边长为10厘米的立方体就是一个SolidGeant4可以定义长方体,圆柱体,圆锥,平行六面体,四棱台,球体,特殊的几何多面体,椭圆柱。

ü        物理体:为了定位几何体的空间位置和各几何体之间的逻辑关系,需要使用物理体。物理体可以通过准确的坐标定位把逻辑体放到另外一个几何体中。  


Geant4程序构建起的几何系统符合STEP标准。STEP标准是在CAD系统间进行几何数据交换所定义的协议标准。这样,对于比较复杂的几何系统,我们可以先通过具有STEP标准的软件先搭建起来,然后再导入到Geant4程序中。  

Geant4 程序的几何错误主要指的是Volumes 之间出现重叠。当粒子被跟踪到重叠区域时,程序无法确定粒子输运到了那个区域。Geant4也可通过功能强大的外部可视化程序DAVID进行几何错误检测。DAVID程序能够自动检测在Geant4定义中的Volumes是否重叠。并且通过图形对错误进行标明





材料定义

ü        Geant4可定义我们所认知的绝大部分粒子

ü        自带100多种已定义好的粒子。常用粒子:中子,质子,光子,电子。通常用户不再需要另外定义自己的粒子。

ü        原子:通过原子序数,核子数,原子量,Shell Energy,密度,状态,压力,温度等参数来定义。

ü        分子:通过在它之中的各种原子的数目来定义。

ü        混合物:通过指定它含有的各种元素的质量百分比来定义。

ü        另外,我们还可以从Geant4的材料数据库中直接获得材料的定义。Geant4程序的材料库提供了许多常用的材料定义,如水,空气等。





物理过程

ü        对应每种粒子,Geant4程序提供了非常齐全的物理过程。

ü        电子:电子韧致辐射 ,正电子静止湮没 ,正电子飞行湮没

ü        光子:光电效应 ,康普顿散射 ,对生成 ,三产生等  



记数

ü        现在,Geant4程序还不能直接获得记数,不象其他粒子模拟程序提供了多个记数。如点通量,面通量、体通量、径迹长度计数、能量沉积等,都可选择输出。

ü        但是,Geant4程序在粒子输运过程中,提供了方便的接口可以获得粒子每一步的详细信息,包括空间位置,能量,运动方向,飞行时间,所在几何体,累计径迹长度,用户可以根据自己的实际需要,利用这些参数获得自己想要得结果。  

ü        可见,这种获得计数的方式显得更灵活。





可视化

ü        Geant4程序中可以对粒子模拟系统的几何模型,粒子的输运轨迹,粒子的碰撞点进行图形显示。

ü        Geant4利用抽象接口连到外接图形程序,实现可视化。

ü        可利用的图形程序:DAWNFILE  HepRepFile    VRMLFILE   OPENGL  RayTracer

ü        现在,许多国家的研究室对Geant4的几个重要的子模块开发出了图形化的编辑器,他们能够自动生成程序的源代码。图形化几何编辑器(GGE)、图形化物理过程编辑器(GPE)、图形化程序控制器(GAG)、图形化结果分析器(AIDA)





尽管针对Geant4程序开发的可视化程序功能越来越强,可以快速的对几何系统,粒子定义,物理过程等方面快速的描述。但在主控程序,结果输出方面必须进行手编程序。



为了提高效率,降低方差,总是要针对不同的问题,采用相应的蒙特卡罗方法技巧。如几何分裂和赌,重要抽样,源偏倚,指数变换,强迫碰撞,DXYRAN球技巧以及权窗等,Geant4要使用这些技巧需要手编程序来完成。


转自www.52mc.net





欢迎光临 ChinaNet (http://www.nuclear.net.cn/) Powered by Discuz! X3.1