重复结构与栅元描述的简写格式
重复结构功能的主要目的是仅用一次描述在几何中出现多次的任意结构的栅元,而实现对出现多次的任意结构栅元的描述。减少用户必须提供的输人数据量以及有大量重复结构问题所需的计算机内存。重复结构功能导致栅元概念的扩充。用户可以指定一个栅元要用称作为Universe的去填充。一个Universe或者是一个栅格或者是一个任意一批栅元的集合。可以指定仅有一次描述的单个Universe去填充几何中的任意多个栅元。在一个Universe中的某些栅元或者全部栅元又可以用Universe填充它们自己。重复结构的描述是非常有用的。
LIKE BUT 卡是重复结构栅元描述的简写格式卡。格式为:
n like m but list
其中n是一个栅元的名字,m是另一个栅元的名字,list是一组关键词=数值;它说明定义的n栅元和m栅元之间的不同属性。两个栅元相同的属性不在list中再指定。这种简写格式,描述一个与栅元m具有同样描述的栅元n,list说明了两者之间不同的属性。
在输入文件INP中,栅元m的栅元卡必须在栅元n的栅元卡前面。在but后面出现的任何卡的名字均为栅元卡上的一个栅元参数,并且它只能在栅元卡上出现。不能在输入文件INP中数据卡的任何卡上出现。下面给出一个简单的例子:
2 0 1 -2 -3 4 5 -6 imp:n=2
3 like 2 but trcl=3
与重复结构有关的4个栅元参数卡
1.Universe和 U卡
Universe或者是一个栅格或者是一批普通的栅元的集合。U卡的非零项是该栅元所属的Universe号。缺少U卡或者U卡的零项意味着这个栅元不属于任何的Universe。Universe号是由用户任意选定的整数。FILL卡表明该栅元是用它所指定的Universe号所在的全部栅元去填充。一个Universe中的一些栅元可以是有限的也可以是无限的,但它们必须填满要填充的任何栅元里的全部空间。
考虑被填充栅元和用来填充栅元的Universe之间关系的一种方式是被填充的栅元是一个往里面窥视第二级的窗口,就象墙上的一个窗户提供户外景象一样。在第二级的栅元可以是无限的,因为当它们碰到“窗口”的曲面或与“窗口”的曲面相交时将被截止。第二级在基本坐标系下可有自己的原点,与上一级无关。然而,如果被填充栅元和用来填充栅元的Universe的全部曲面在同一个坐标系,则用一个TRCL卡来定义被填充栅元和用来填充栅元这二者的坐标系转换关系。
用另一个Universe填充一个Universe中的一个栅元,在这种情况下第三级出现。最大可有20级。大部分问题不需要这些级。最高级到最低级与数值的顺序相反。
被填充栅元的曲面和用来填充栅元的Universe中的那些曲面必须不一致。换句话说,一个Universe中的那些栅元不是正好地装进被填充的栅元。最好解决的方法是或者缩小被填充栅元的尺寸,或者扩大用来填充栅元的Universe的尺寸,但是这种方法运行慢一些。
下面看一个例子:
1 0 1 -2 3 -4 5 -6 fill=l
2 0 7 -8 9 -10 u=1 fill=2 lat=1
3 0 -11 u=-2
4 0 11 u=2
5 0 -l:2:-3:4:-5:6
l px 0.001
2 px 49.9999
3 py -9.9999
4 py 9.9999
5 pz -5
6 pz 5
7 px 0
8 px l0
9 py 0
10 py 10
11 s 5 5 0 4
如果在任何一个不被任何较高级栅元的边界所界的栅元的U卡项前面加一个减号,这样就会使问题运行的快一些。该减号指出忽略在较高级栅元的跟踪。
一个问题中的每个栅元或者是问题的实际领域的一部分或者是某个Universe的一部分,但是一个问题中的曲面限制较少。可用单个曲面描述在多个Universe中的一些栅元。如果这个曲面用来计数,则把这个曲面复制为具有另一个名字的曲面,这个曲面用于不作计数的地方。MCNP的二维几何画图覆盖节PLOT要求在一个栅元内不使用同一个曲面,以及在用来填充某个级上的栅元的某个Universe的那些栅元,而不放在较高级,但在一个栅格的情况下除外。
2. 栅元变换和 TRCL卡
TRCL卡使得只需一次描述界定在形状和尺寸是等同的,只是在几何位置上不同的几个栅元的曲面。当用同一个Universe填充这些栅元时,TRCL卡是特别有用的。如果这些被填充栅元的曲面和填充它们的Unverse中那些栅元的曲面都是在同一个辅助坐标系下描述的,那么,一个单独的变换就能完全定义所有这些被填充栅元的内部,因为该Universe中的栅元将继承它们填充那些栅元的变换。
TRCL卡有两种形式,一种形式是: trcl=某个整数。这个整数是TR卡的号, TR卡含有这个栅元所有曲面的一个变换,TR卡是在输人文件INP的数据卡部分。没有TRCL卡或者trcl=0就意味着没有变换,省略。另一种形式是:在TRCL助记符后面的括号里填写这个变换。填写变换的规定同TR卡。如果使用*trcl符号,转换矩阵项是角度(以度为单位)而不是余弦;这和*TR卡一样。
如果一个栅元有一个变换,则由这个栅元的原有曲面产生一组新的独特名字的曲面,这个曲面的名字等于原有曲面的名字加上1000倍这个栅元的名字。这个公式给出产生曲面的名字是可知的,并且可在其它栅元卡上及计数卡上使用它。这个方法限制栅元的名字和原曲面名字不能大于三位数;然而,这些产生的曲面仅仅是界定已变换的栅元曲面,不是填充它的任何Universe的曲面。对每一个Universe不管它在这个问题中标记多少次,都只要求一次完整地描述。
3. 栅格和 LAT卡
lat=l意味着这个栅格是一个六面体;lat=2意味着栅格是一个六棱柱。LAT卡的非零项意味着相应栅元是一个(0,0,0)栅格元素。一个栅格栅元的栅元描述有二个主要用途。一是这个描述是标准的MCNP栅元描述,二是这个栅元曲面描述的顺序确定位于这个栅元每个曲面外边的栅格元素的顺序。
当确定栅格以后,就要决定(0,0,0)栅格元素,并且决定这个栅格的三个栅格指标在那些方向上增加。在六棱柱栅格的情况下有二个限制:第一和第二指标必须沿着横的相邻曲面的方向增加,第三个指标必须沿着棱柱的一个方向或者另一个方向增加。然后按照顺序的规定在栅元卡上填写界定(0,0,0)元素的曲面。对一个六面体栅格栅元,在第一个列的曲面的外面是(1,0,0)元素,在第二个列的曲面的外面是(-1,0,0)元素;然后按照那个顺序依次为(0,1,0)元素,(0,-1,0)元素,(0,0,l)元素,及(0,0,-1)元素,如图2-2(a)所示。这个方法提供栅格排列的顺序,因此当你指定元素(7,9,3)时,程序就会知道这个元素是哪一个。对六棱柱栅格栅元,在第一个列的曲面外面是(l,0,0)元素,在第二个列的曲面外面是(-1,0,0)元素;然后依次是(0,l,0),(0,-1,0),(-l,l,0),(l,-1,0),(0,0,1),(0,0,-l),如图2-2(b)所示。描述(0,0,0)元素的最后两个曲面必须是棱柱的上、下底面。
六面体不一定是直角的,六棱柱也不一定是规则的,但是由它们构成的一些栅格必须正好填满空间,这意味着栅格的对边必须是相等并平行的。六面体栅格栅元可以在一个或两个方向上是无限的。六棱柱栅格栅元可以沿着棱柱的长度方向无限。横截面必须是凸的。这个栅格是左旋或右旋都可以。一个栅格必须在它的Universe里。一个问题的实际领域本身可以是一个栅格。如果一个粒子离开实际领域的最后一个栅元(限制栅格的范围),这个粒子死亡。
4. FILL卡
FILL卡上的非零项指明用来填充相应栅元的Universe号。在U卡上相同号标记组成这个Universe的一些栅元,FILL项后面的括号里可放有变换号或变换本身。这个变换是被填充栅元的坐标系和在辅助坐标系下用来填充栅元的Universe之间的变换。如果没有指定变换,则这个Universe继承被填充栅元的变换。如果旋转角是以度为单位而不是余弦,则使用*FILL。在输入文件的数据卡部分不能同时有FILL卡,又有*FILL卡。如果要填写一些以度为单位的角度而又要按余弦来填写一些角度,那么所有FILL及*FILL数据都必须放在输人文件twP的珊元卡上。
如果被填充的栅元是一个栅阵,FILL说明或者是一项或者是一个数组。如果是一项,这个栅阵的每一个栅元都是用同一个Universe填充。如果是一个数组,填充由这个数组所覆盖栅阵的那部分;栅阵的其余部分不存在。可用不同的Universe去填充这个栅阵的各种元素。
用一个栅格填充一个栅元的数组说明是:三个尺寸,紧接着是这个数组值的本身。这三个尺寸说明定义了三个栅格指标的范围。它与 FORTRAN的 DO循环一样,下界和上界必须用正数、负数或者零表示,并用:号隔开。每个栅格元素的指标是由它相对于(0,0,0)元素的位置确定的。在LAT卡部分已强调,栅格栅元曲面说明的顺序就定义了栅阵元素的顺序。在该栅阵栅元卡上前两个曲面定义第一个栅格指标的方向。指标的数值范围取决于这个栅格的(0,0,0)反素的位置在哪。例如,-5:5, 0:10,及-10:6都是定义11个元素,但(0,0,0)元素的位置的是不同的。在栅格栅元卡上第三和第四列的曲面定义第二个栅格指标的方向。
数组大小遵守尺寸说明,在这个数组中的每个元素。实际上只有与这个数组元素对应的那些栅阵栅元存在。每一个数组元素的值是填充相应栅格的Universe号。在这个数组里可以使用两个有特殊意义的值:零意味着栅格元素不存在,这样使用零就可以指定一个非直角阵列;如果数组值与这个栅格的Universe号一样,就意味着与这个数组元素对应的那个栅阵元素不用任何Universe去填充。如果零Universe(问题的实际领域)是一个栅格,这个特殊值不起作用。跟带有单项的FILL说明一样,在数组的任何一个值后面的括号里可跟有一个变换号或者变换本身。
例如: fill=0:2 1:2 0:1 4 4 2 0 4 0 4 3 3 0 4 0
这个栅阵只有8个元素被填充(存在8个元素)。元素(0,l,0),(l,l,0),(l,2,0),(0,1,1)和(l,2,1)都是用Universe 4填充;元素(2,l,0)用 Universe 2填充;元素(l,l,1)和(2,l,l)用 Universe 3填充。
在SDEF,SIn及SPn卡上给出源的定义。所描述的源是在柱体内的所有圆柱捧上等概率分布。由分布1给出能量。CEL参数项指出用分布2给出0级的一些栅元,分布3给出1级的一些栅元,零意味着在2级寻找栅元,并也意味着抽取的位置和方向适用于第一个小于等于零这一项的前一项所指示的Universe中。在这种情况下,由1级的分布3抽取在栅元坐标系统下定义的位置和方向。SI2卡上列出了在0级含有源的全部栅元。SP2表示等概率。SI3列出1级的栅元以及在这一级的坐标系下在S17卡上给出位置。由RAD、EXT、AXS及POS指定一个圆柱体分布。SI5卡上的半径是从0~.l。圆柱两端是从-2~2(SI6)以及SI7卡上的四组数是四个圆柱栅元12~7的原点。这些参数精确地描述了四个栅元 12~15。
example 2-2 test general source in repeated structures.
1 1 -.5 -7 #2#3#4#5#6 imp:n=1
2 2 -1 8 1 –2 –3 4 5 –6 trcl=2 fill=1
3 like 2 but trcl=3
4 like 2 but trcl=4
5 like 2 but trcl=5
6 like 2 but trcl=6
7 0 7
8 0 8 -9 -10 11 trcl=(-.9 .9 0) fill=2 u=1 imp:n=l
9 like 8 but trcl=(.9 .9 0)
10 like 8 but trcl=(.1 -.9 0)
11 2 -18 #8 #9 #10 imp:n=1 u=1
12 2 -18 -12 trcl=(-.3 .3 0) u=2
- like 12 but trcl=(.3 .3 0)
- like 12 but trcl=(.3 -.3 0)
- like 12 but trcl=(-.3 -.3 0)
- 1 -.5 #12 #13 #14 #15 u=2 imp:n=1
1 px -2
2 py 2
3 px 2
4 py -2
5 pz -2
6 pz 2
7 so 15
8 px -.7
- py .7
- px .7
- py -.7
- cz .1
sdef erg=d1 cel=d2:d3:0 rad=d5 ext=d6 axs=0 0 1 pos=d7
# sil spl sbl
1 0 0
3 .22 .05
4 .08 .05
5 .25 .l
6 .18 .l
7 .07 .2
8 .1 .2
9 .05 .l
11 .05 .2
si2 l 2 3 4 5 6
sp3 1 1 1 1 1
si3 l 8 9 10
sp3 1 1 1
si5 0 .1
sp5 -2 1 1
si6 -2 2
sp6 0 1
si1 7 1.3 .3 0 .3 .3 0 -.3.3 0 -.3 -.3 0
sp7 1 1 1 1
ml 6012 1
m2 92235 1
drxs
tr2 -6 7 1.2
tr3 7 6 1.1
tr4 8 -5 1.4
*tr5 -l -4 1 40 130 90 50 40 90 90 90 0
tr6 -9 -2 1 .3
f4:n 2 3 4 5 6 12 13 14 15
sd4 5j l.8849555921 3r
fq fe
cut:n l e20.l
nps 2000
example 2-3 test filled lattice and skewed lattice.
1 1 -.6 -l imp:n=l
2 0 1 -2 -4 fill=1 (-6 -6.5 0) imp:n=1
3 0 2 -3 -4 fill=2(2) imp:n=2
4 0 2 3 -4 fill=2(3) imp:n=2
5 0 4 imp:n=0
6 0 -5 6 -7 8 -9 10 fill=3 u=1 lat=1 imp:n=1
7 3 -2.7 -11 12 -13 14 -15 16 u=2 lat=1 imp:n=1
8 2 -.8 -17 u=3 imp:n=l
9 0 17 u=3 imp:n=1
1 sy –5 3
2 py 0
3 px 0
4 so 15
5 px 1.5
6 px 1.5
7 py l
8 py -l
9 pz 3
10 pz -3
11 p l -.5 0 1.3
12 p l -.5 0 -1.3
13 py .5
14 py -.5
15 pz 3
16 pz -3
17 sq l 2 0 0 0 0 -1 .2 0 0
sdef pos 0 -5 0 erg dl rad d2
si1 0 10
sp1 0 1
si2 3
sp2 -2 1
f2:n 3
sd2 1
f4:n 8 9
sd4 1 1
m1 4009 1
m2 6012 1
m3 13027 1
*tr2 -7 5 0 30 60 90 120 30 90
*tr3 4 8 0 15 105 90 75 15 90
drxs
nps 2000
dbcn 0 0 1 4
表2-1 MCNP定义的曲面