一、Gate材料库——The Gate materials database
在Gate中定义材料属性的主要方法是通过材料数据库(GateMaterials.db)。该文件包含Gate从Geant4数据集分配核属性所需的所有信息,用户可以轻松修改该文件。OpenGate协作在这个文件中提供了相当广泛的材料列表,在这一部分中我们会了解到修改数据库的详细操作步骤。
还有另一种定义材料的方法,Gate脚本是从Geant4 c++数据类开发的,目的是简化和标准化Geant4的输入。因此,还可以使用Geant4工具在c++中直接编写和编译材料定义。以这种方式指定材料超出了本文档的范围。对于那些有兴趣直接访问Geant4材料的同学,应参考Geant4 User’s Guide: For Application Developers和Geant4 User’s Guide: For Toolkit Developers以获得更详细的信息。
材料数据库包含两种结构,元素和材料,用于定义原子、分子和化合物的物理属性。与Geant4不同,Gate不使用同位素丰度。这一遗漏对Gate的应用几乎没有影响,因为同位素丰度在低到中能量光子和带电粒子的相互作用中不重要。事实上,这种区别只对与中子或高能(>5 MeV)光子或带电粒子相互作用的物质很重要。
我们可以使用多个材料数据库,如果一个材料在多个材料数据库中有定义,Gate会将该材料保存在最后一个调用的数据库中(并发出警告消息)。
调用数据库:
/gate/geometry/setMaterialDatabase MyMaterialDatabase.db
1、元素
元素是Gate模拟中使用的所有材料的构建基础,Gate中的元素被定义为元素周期表中的元素。Gate存储元素的名称、符号、原子序数和摩尔质量,如上所述,同位素丰度没有被使用。所提供的文件GateMaterials.db包含了最常用的元素和它们在自然界中发现的摩尔质量。
Hydrogen: S= H ; Z= 1. ; A= 1.01 g/mole
Helium: S= He ; Z= 2. ; A= 4.003 g/mole
Lithium: S= Li ; Z= 3. ; A= 6.941 g/mole
Lithium6: S= Li6 ; Z= 3. ; A= 6.015 g/mole
Lithium7: S= Li7 ; Z= 3. ; A= 7.016 g/mole
Beryllium: S= Be ; Z= 4. ; A= 9.012 g/mole
有些元素,特别是那些同位素具有较大的中子吸收截面的元素,其同位素丰度和摩尔质量因来源而异。表现出这种行为的一种元素是硼。实际上,这种行为对于Gate应用程序并不重要。
2、材料
在Gate中,材料被定义为元素的组合,并且是Gate在模拟过程中所用粒子相互作用的一个重要参数。而且这些元素的组合需要定义四个额外的参数:物质的名称、密度、组成元素和它们各自的丰度。
Tungsten: d=19.3 g/cm3 ; n=1 ; state=solid
+el: name=auto ; n=1
Lead: d=11.4 g/cm3 ; n=1 ; state=solid
+el: name=auto ; n=1
材料中元素的组成可以用两种不同的方式来定义。如果材料是一种化合物,那么它的元素的相对数量是由化合物的化学式中的原子数确定的。例如,甲烷CH4被定义为有一个碳原子和四个氢原子。如果将材料描述为一种混合物,如304-不锈钢,则元素的相对组合以质量分数给出。304不锈钢的质量分数分别为:0.695 Iron, 0.190 Chromium, 0.095 Nickel, 0.020 Manganese。注意,各元素的质量分数总和必须为1。
材料的密度在不同的来源之间往往有很大的差异,必须仔细地选择,以适应特定的应用。密度的单位也必须定义。一般用g/cm3表示,但在极端情况下可以用其他的单位表示。例如,真空的密度可以用mg/cm3的单位示。
二、修改Gate材料库——Modifying the Gate material database
1、新建元素
定义新元素是一个简单而直接的过程,只需使用选择的文本编辑器打开GateMaterials .db文件。在文件的顶部是名为[Elements]的内容,在文件中间的某处是另一个名为[Materials]的内容。应用程序所需的所有元素定义必须包含在这两部分之中。输入元素的格式由元素名称、符号、原子序数和摩尔质量给出。下面是一个例子:
Element Example GateMaterials.db:
[Elements]
Hydrogen: S= H ; Z= 1. ; A= 1.01 g/mole
Helium: S= He ; Z= 2. ; A= 4.003 g/mole
Lithium: S= Li ; Z= 3. ; A= 6.941 g/mole
Beryllium: S= Be ; Z= 4. ; A= 9.012 g/mole
Boron: S= B ; Z= 5. ; A= 10.811 g/mole
Carbon: S= C ; Z= 6. ; A= 12.01 g/mole
在本例中,首先给出元素的名称,然后是冒号。接下来,元素的标准符号是S=符号名后跟分号。原子序数和摩尔质量的符号名称是Z=原子序数,用分号隔开;摩尔质量单位是A = g/mol(摩尔质量单位)。
2、新建材料
材料的定义方式与元素类似,但包含一些额外的参数,以说明其密度和组成。定义密度很简单,所有材料的定义方法都是一样的。然而,材料组合需要不同的定义,取决于它们的形式。这些组成形式是纯物质、化合物和元素的混合物。
要在材料数据库中添加或修改材料,应该使用文本编辑器打开GateMaterials .db文件。新条目应该插入到名为Materials的标题下面。应用程序所需的所有实质性定义必须包含在第二个标题下。材料定义需要几行。第一行指定它们的名称、密度、组件数量和描述材料状态(固体、液体或气体)的可选参数。第二行和接下来的行指定了构成这种物质的各个成分及其相对丰度。
Gate使用的材料的组成形式有纯物质、化合物、元素混合物和材料混合物。Gate对每种情况的定义略有不同,下面将分别对每种情况进行处理。在每种情况下,在材料定义中使用的元素必须事先定义为元素Elements。
(1)元素做材料
由纯元素构成的物质是最容易定义的物质。在第一行中,输入材料的名称(材料的名称可以与元素的名称相同)、密度、组成成分的数量(在本例中为1),以及可选的状态(固体、液体或气体),默认状态为气态。在第二行输入组成它的元素和该元素的原子数(在元素作为材料的情况下,这个数字是1)。例如:
Elements as materials example GateMaterials.db:
[Materials]
Vacuum: d=0.000001 mg/cm3 ; n=1
+el: name=Hydrogen ; n=1
Aluminium: d=1.350 g/cm3 ; n=1 ; state=solid
+el: name=auto ; n=1
Uranium: d=18.90 g/cm3 ; n=1 ; state=solid
+el: name=auto ; n=1
在第一行中,密度(带单位)由d=材料密度定义,材料中成分的数量n=元素的数量。材料状态state=气体、液体和固体。在第二行,单个元素及其丰度定义: +el: name=元素名称;n =原子数量。如果元素名和材料名相同,则可以使用+el: name=auto命令来定义。
(2)化合物做材料
化合物是根据组成它们的元素和它们的化学式来定义的。第一行与纯物质的第一行相同,只是n变为了组成元素种类的数目。在第二行和随后的行上,单个元素及其丰度由+el定义:name=元素名称;*n=原子数*。
Compounds as materials example GateMaterials.db:
[Materials]
NaI: d=3.67 g/cm3; n=2; state=solid
+el: name=Sodium ; n=1
+el: name=Iodine ; n=1
PWO: d=8.28 g/cm3; n=3 ; state=Solid
+el: name=Lead; n=1
+el: name=Tungsten; n=1
+el: name=Oxygen; n=4
(3)混合物做材料
元素混合物是指将元素构成的纯材料混合起来形成新的物质。这个定义的第一行与化合物定义的第一行完全相同。在第二行和随后的行,单个元素及其质量分数定义为+el: name=元素名称; f=质量分数。
在材料混合物的情况下,质量分数的总和应该是一。例如:
Mixtures as materials example GateMaterials.db:
[Materials]
Lung: d=0.26 g/cm3 ; n=9
+el: name=Hydrogen ; f=0.103
+el: name=Carbon ; f=0.105
+el: name=Nitrogen ; f=0.031
+el: name=Oxygen ; f=0.749
+el: name=Sodium ; f=0.002
+el: name=Phosphor ; f=0.002
+el: name=Sulfur ; f=0.003
+el: name=Chlorine ; f=0.003
+el: name=Potassium ; f=0.002
SS304: d=7.92 g/cm3 ; n=4 ; state=solid
+el: name=Iron ; f=0.695
+el: name=Chromium ; f=0.190
+el: name=Nickel ; f=0.095
+el: name=Manganese ; f=0.020
(4)材料的混合用来做材料
另一种定义材料的方法是其他材料和元素组成的纯材料的混合物。作为一个例子:
Mixtures of mixtures as materials example GateMaterials.db:
[Materials]
Aerogel: d=0.200 g/cm3 ; n=3
+mat: name=SiO2 ; f=0.625
+mat: name=Water ; f=0.374
+el: name=Carbon ; f=0.001
在这个例子中,气凝胶材料被定义为由两种材料,二氧化硅和水,以及一种元素,碳组成。当指定是材料而不是元素时,必须使用+mat: name=标识符。
三、电离势能——Ionization potential
电离势能是把一个电子移到一个原子或分子上所需要的能量。在默认情况下,电离势是根据布拉格加法法则计算的。可以确定栅极中定义的每种材料的电离势。例如
/gate/geometry/setIonisationPotential Water 75 eV